{"version":3,"file":"static/js/main.e9d49bf5.js","mappings":";uCAGEA,EAAOC,QAAU,EAAjBD,2BCGFA,EAAOC,QAAU,SAASC,EAAMC,EAAGC,GACjC,GAAID,IAAMC,EAAG,OAAO,EAEpB,GAAID,GAAKC,GAAiB,iBAALD,GAA6B,iBAALC,EAAe,CAC1D,GAAID,EAAEE,cAAgBD,EAAEC,YAAa,OAAO,EAE5C,IAAIC,EAAQC,EAAGC,EACf,GAAIC,MAAMC,QAAQP,GAAI,CAEpB,IADAG,EAASH,EAAEG,SACGF,EAAEE,OAAQ,OAAO,EAC/B,IAAKC,EAAID,EAAgB,IAARC,KACf,IAAKL,EAAMC,EAAEI,GAAIH,EAAEG,IAAK,OAAO,EACjC,OAAO,CACT,CAIA,GAAIJ,EAAEE,cAAgBM,OAAQ,OAAOR,EAAES,SAAWR,EAAEQ,QAAUT,EAAEU,QAAUT,EAAES,MAC5E,GAAIV,EAAEW,UAAYC,OAAOC,UAAUF,QAAS,OAAOX,EAAEW,YAAcV,EAAEU,UACrE,GAAIX,EAAEc,WAAaF,OAAOC,UAAUC,SAAU,OAAOd,EAAEc,aAAeb,EAAEa,WAIxE,IADAX,GADAE,EAAOO,OAAOP,KAAKL,IACLG,UACCS,OAAOP,KAAKJ,GAAGE,OAAQ,OAAO,EAE7C,IAAKC,EAAID,EAAgB,IAARC,KACf,IAAKQ,OAAOC,UAAUE,eAAeC,KAAKf,EAAGI,EAAKD,IAAK,OAAO,EAEhE,IAAKA,EAAID,EAAgB,IAARC,KAAY,CAC3B,IAAIa,EAAMZ,EAAKD,GAEf,IAAKL,EAAMC,EAAEiB,GAAMhB,EAAEgB,IAAO,OAAO,CACrC,CAEA,OAAO,CACT,CAGA,OAAOjB,IAAIA,GAAKC,IAAIA,CACtB,eC7CA,OAOC,WACA,aAEA,IAAIiB,EAAS,CAAC,EAAEH,eAEhB,SAASI,IAGR,IAFA,IAAIC,EAAU,GAELhB,EAAI,EAAGA,EAAIiB,UAAUlB,OAAQC,IAAK,CAC1C,IAAIkB,EAAMD,UAAUjB,GAChBkB,IACHF,EAAUG,EAAYH,EAASI,EAAWF,IAE5C,CAEA,OAAOF,CACR,CAEA,SAASI,EAAYF,GACpB,GAAmB,kBAARA,GAAmC,kBAARA,EACrC,OAAOA,EAGR,GAAmB,kBAARA,EACV,MAAO,GAGR,GAAIhB,MAAMC,QAAQe,GACjB,OAAOH,EAAWM,MAAM,KAAMH,GAG/B,GAAIA,EAAIR,WAAaF,OAAOC,UAAUC,WAAaQ,EAAIR,SAASA,WAAWY,SAAS,iBACnF,OAAOJ,EAAIR,WAGZ,IAAIM,EAAU,GAEd,IAAK,IAAIH,KAAOK,EACXJ,EAAOF,KAAKM,EAAKL,IAAQK,EAAIL,KAChCG,EAAUG,EAAYH,EAASH,IAIjC,OAAOG,CACR,CAEA,SAASG,EAAaI,EAAOC,GAC5B,OAAKA,EAIDD,EACIA,EAAQ,IAAMC,EAGfD,EAAQC,EAPPD,CAQT,CAEqC9B,EAAOC,SAC3CqB,EAAWU,QAAUV,EACrBtB,EAAOC,QAAUqB,QAKhB,KAFwB,EAAF,WACtB,OAAOA,CACP,UAFoB,OAEpB,YAIF,CArEA,+BCEY,IAAIW,EAAEC,EAAQ,IAASC,EAAEC,OAAOC,IAAI,iBAAiBC,EAAEF,OAAOC,IAAI,kBAAkBE,EAAExB,OAAOC,UAAUE,eAAesB,EAAEP,EAAEQ,mDAAmDC,kBAAkBC,EAAE,CAACvB,KAAI,EAAGwB,KAAI,EAAGC,QAAO,EAAGC,UAAS,GAChP,SAASC,EAAEC,EAAE7C,EAAE8C,GAAG,IAAI7C,EAAE8C,EAAE,CAAC,EAAEC,EAAE,KAAKC,EAAE,KAAiF,IAAIhD,UAAhF,IAAS6C,IAAIE,EAAE,GAAGF,QAAG,IAAS9C,EAAEiB,MAAM+B,EAAE,GAAGhD,EAAEiB,UAAK,IAASjB,EAAEyC,MAAMQ,EAAEjD,EAAEyC,KAAczC,EAAEoC,EAAEpB,KAAKhB,EAAEC,KAAKuC,EAAEzB,eAAed,KAAK8C,EAAE9C,GAAGD,EAAEC,IAAI,GAAG4C,GAAGA,EAAEK,aAAa,IAAIjD,KAAKD,EAAE6C,EAAEK,kBAAe,IAASH,EAAE9C,KAAK8C,EAAE9C,GAAGD,EAAEC,IAAI,MAAM,CAACkD,SAASnB,EAAEoB,KAAKP,EAAE5B,IAAI+B,EAAEP,IAAIQ,EAAEI,MAAMN,EAAEO,OAAOjB,EAAEkB,QAAQ,CAACzD,EAAQ0D,SAASrB,EAAErC,EAAQ2D,IAAIb,EAAE9C,EAAQ4D,KAAKd,4BCD7V,IAAIT,EAAEF,OAAOC,IAAI,iBAAiBG,EAAEJ,OAAOC,IAAI,gBAAgBM,EAAEP,OAAOC,IAAI,kBAAkBU,EAAEX,OAAOC,IAAI,qBAAqByB,EAAE1B,OAAOC,IAAI,kBAAkB0B,EAAE3B,OAAOC,IAAI,kBAAkB2B,EAAE5B,OAAOC,IAAI,iBAAiB4B,EAAE7B,OAAOC,IAAI,qBAAqB6B,EAAE9B,OAAOC,IAAI,kBAAkB8B,EAAE/B,OAAOC,IAAI,cAAc+B,EAAEhC,OAAOC,IAAI,cAAcgC,EAAEjC,OAAOkC,SACzW,IAAIC,EAAE,CAACC,UAAU,WAAW,OAAM,CAAE,EAAEC,mBAAmB,WAAW,EAAEC,oBAAoB,WAAW,EAAEC,gBAAgB,WAAW,GAAGC,EAAE7D,OAAO8D,OAAOC,EAAE,CAAC,EAAE,SAASC,EAAE5E,EAAEC,EAAE+C,GAAG6B,KAAKxB,MAAMrD,EAAE6E,KAAKC,QAAQ7E,EAAE4E,KAAKE,KAAKJ,EAAEE,KAAKG,QAAQhC,GAAGoB,CAAC,CACwI,SAASa,IAAI,CAAyB,SAASC,EAAElF,EAAEC,EAAE+C,GAAG6B,KAAKxB,MAAMrD,EAAE6E,KAAKC,QAAQ7E,EAAE4E,KAAKE,KAAKJ,EAAEE,KAAKG,QAAQhC,GAAGoB,CAAC,CADxPQ,EAAE/D,UAAUsE,iBAAiB,CAAC,EACpQP,EAAE/D,UAAUuE,SAAS,SAASpF,EAAEC,GAAG,GAAG,kBAAkBD,GAAG,oBAAoBA,GAAG,MAAMA,EAAE,MAAMqF,MAAM,yHAAyHR,KAAKG,QAAQR,gBAAgBK,KAAK7E,EAAEC,EAAE,WAAW,EAAE2E,EAAE/D,UAAUyE,YAAY,SAAStF,GAAG6E,KAAKG,QAAQV,mBAAmBO,KAAK7E,EAAE,cAAc,EAAgBiF,EAAEpE,UAAU+D,EAAE/D,UAAsF,IAAI0E,EAAEL,EAAErE,UAAU,IAAIoE,EACrfM,EAAErF,YAAYgF,EAAET,EAAEc,EAAEX,EAAE/D,WAAW0E,EAAEC,sBAAqB,EAAG,IAAIC,EAAEnF,MAAMC,QAAQmF,EAAE9E,OAAOC,UAAUE,eAAe4E,EAAE,CAACpC,QAAQ,MAAMqC,EAAE,CAAC3E,KAAI,EAAGwB,KAAI,EAAGC,QAAO,EAAGC,UAAS,GACtK,SAASkD,EAAE7F,EAAEC,EAAE+C,GAAG,IAAID,EAAEF,EAAE,CAAC,EAAEb,EAAE,KAAKiB,EAAE,KAAK,GAAG,MAAMhD,EAAE,IAAI8C,UAAK,IAAS9C,EAAEwC,MAAMQ,EAAEhD,EAAEwC,UAAK,IAASxC,EAAEgB,MAAMe,EAAE,GAAG/B,EAAEgB,KAAKhB,EAAEyF,EAAE1E,KAAKf,EAAE8C,KAAK6C,EAAE7E,eAAegC,KAAKF,EAAEE,GAAG9C,EAAE8C,IAAI,IAAID,EAAEzB,UAAUlB,OAAO,EAAE,GAAG,IAAI2C,EAAED,EAAEiD,SAAS9C,OAAO,GAAG,EAAEF,EAAE,CAAC,IAAI,IAAIhB,EAAExB,MAAMwC,GAAGV,EAAE,EAAEA,EAAEU,EAAEV,IAAIN,EAAEM,GAAGf,UAAUe,EAAE,GAAGS,EAAEiD,SAAShE,CAAC,CAAC,GAAG9B,GAAGA,EAAEkD,aAAa,IAAIH,KAAKD,EAAE9C,EAAEkD,kBAAe,IAASL,EAAEE,KAAKF,EAAEE,GAAGD,EAAEC,IAAI,MAAM,CAACI,SAAShB,EAAEiB,KAAKpD,EAAEiB,IAAIe,EAAES,IAAIQ,EAAEI,MAAMR,EAAES,OAAOqC,EAAEpC,QAAQ,CAChV,SAASwC,EAAE/F,GAAG,MAAM,kBAAkBA,GAAG,OAAOA,GAAGA,EAAEmD,WAAWhB,CAAC,CAAoG,IAAI6D,EAAE,OAAO,SAASC,EAAEjG,EAAEC,GAAG,MAAM,kBAAkBD,GAAG,OAAOA,GAAG,MAAMA,EAAEiB,IAA7K,SAAgBjB,GAAG,IAAIC,EAAE,CAAC,IAAI,KAAK,IAAI,MAAM,MAAM,IAAID,EAAEkG,QAAQ,SAAQ,SAASlG,GAAG,OAAOC,EAAED,EAAE,GAAE,CAA+EmG,CAAO,GAAGnG,EAAEiB,KAAKhB,EAAEa,SAAS,GAAG,CAC/W,SAASsF,EAAEpG,EAAEC,EAAE+C,EAAED,EAAEF,GAAG,IAAIb,SAAShC,EAAK,cAAcgC,GAAG,YAAYA,IAAEhC,EAAE,MAAK,IAAIiD,GAAE,EAAG,GAAG,OAAOjD,EAAEiD,GAAE,OAAQ,OAAOjB,GAAG,IAAK,SAAS,IAAK,SAASiB,GAAE,EAAG,MAAM,IAAK,SAAS,OAAOjD,EAAEmD,UAAU,KAAKhB,EAAE,KAAKE,EAAEY,GAAE,GAAI,GAAGA,EAAE,OAAWJ,EAAEA,EAANI,EAAEjD,GAASA,EAAE,KAAK+C,EAAE,IAAIkD,EAAEhD,EAAE,GAAGF,EAAE0C,EAAE5C,IAAIG,EAAE,GAAG,MAAMhD,IAAIgD,EAAEhD,EAAEkG,QAAQF,EAAE,OAAO,KAAKI,EAAEvD,EAAE5C,EAAE+C,EAAE,IAAG,SAAShD,GAAG,OAAOA,CAAC,KAAI,MAAM6C,IAAIkD,EAAElD,KAAKA,EADnW,SAAW7C,EAAEC,GAAG,MAAM,CAACkD,SAAShB,EAAEiB,KAAKpD,EAAEoD,KAAKnC,IAAIhB,EAAEwC,IAAIzC,EAAEyC,IAAIY,MAAMrD,EAAEqD,MAAMC,OAAOtD,EAAEsD,OAAO,CACyQ+C,CAAExD,EAAEG,IAAIH,EAAE5B,KAAKgC,GAAGA,EAAEhC,MAAM4B,EAAE5B,IAAI,IAAI,GAAG4B,EAAE5B,KAAKiF,QAAQF,EAAE,OAAO,KAAKhG,IAAIC,EAAEqG,KAAKzD,IAAI,EAAyB,GAAvBI,EAAE,EAAEF,EAAE,KAAKA,EAAE,IAAIA,EAAE,IAAO0C,EAAEzF,GAAG,IAAI,IAAI8C,EAAE,EAAEA,EAAE9C,EAAEG,OAAO2C,IAAI,CAC/e,IAAIhB,EAAEiB,EAAEkD,EADwejE,EACrfhC,EAAE8C,GAAeA,GAAGG,GAAGmD,EAAEpE,EAAE/B,EAAE+C,EAAElB,EAAEe,EAAE,MAAM,GAAGf,EAPsU,SAAW9B,GAAG,OAAG,OAAOA,GAAG,kBAAkBA,EAAS,KAAsC,oBAAjCA,EAAEkE,GAAGlE,EAAEkE,IAAIlE,EAAE,eAA0CA,EAAE,IAAI,CAO5buG,CAAEvG,GAAG,oBAAoB8B,EAAE,IAAI9B,EAAE8B,EAAEd,KAAKhB,GAAG8C,EAAE,IAAId,EAAEhC,EAAEwG,QAAQC,MAA6BxD,GAAGmD,EAA1BpE,EAAEA,EAAEL,MAA0B1B,EAAE+C,EAAtBlB,EAAEiB,EAAEkD,EAAEjE,EAAEc,KAAkBD,QAAQ,GAAG,WAAWb,EAAE,MAAM/B,EAAEyG,OAAO1G,GAAGqF,MAAM,mDAAmD,oBAAoBpF,EAAE,qBAAqBW,OAAOP,KAAKL,GAAG2G,KAAK,MAAM,IAAI1G,GAAG,6EAA6E,OAAOgD,CAAC,CACzZ,SAAS2D,EAAE5G,EAAEC,EAAE+C,GAAG,GAAG,MAAMhD,EAAE,OAAOA,EAAE,IAAI+C,EAAE,GAAGF,EAAE,EAAmD,OAAjDuD,EAAEpG,EAAE+C,EAAE,GAAG,IAAG,SAAS/C,GAAG,OAAOC,EAAEe,KAAKgC,EAAEhD,EAAE6C,IAAI,IAAUE,CAAC,CAAC,SAAS8D,EAAE7G,GAAG,IAAI,IAAIA,EAAE8G,QAAQ,CAAC,IAAI7G,EAAED,EAAE+G,SAAQ9G,EAAEA,KAAM+G,MAAK,SAAS/G,GAAM,IAAID,EAAE8G,UAAU,IAAI9G,EAAE8G,UAAQ9G,EAAE8G,QAAQ,EAAE9G,EAAE+G,QAAQ9G,EAAC,IAAE,SAASA,GAAM,IAAID,EAAE8G,UAAU,IAAI9G,EAAE8G,UAAQ9G,EAAE8G,QAAQ,EAAE9G,EAAE+G,QAAQ9G,EAAC,KAAI,IAAID,EAAE8G,UAAU9G,EAAE8G,QAAQ,EAAE9G,EAAE+G,QAAQ9G,EAAE,CAAC,GAAG,IAAID,EAAE8G,QAAQ,OAAO9G,EAAE+G,QAAQlF,QAAQ,MAAM7B,EAAE+G,OAAQ,CAC5Z,IAAIE,EAAE,CAAC1D,QAAQ,MAAM2D,EAAE,CAACC,WAAW,MAAMC,EAAE,CAACC,uBAAuBJ,EAAEK,wBAAwBJ,EAAE3E,kBAAkBoD,GAAG,SAAS4B,IAAI,MAAMlC,MAAM,2DAA4D,CACzMvF,EAAQ0H,SAAS,CAACC,IAAIb,EAAEc,QAAQ,SAAS1H,EAAEC,EAAE+C,GAAG4D,EAAE5G,GAAE,WAAWC,EAAEwB,MAAMoD,KAAKxD,UAAU,GAAE2B,EAAE,EAAE2E,MAAM,SAAS3H,GAAG,IAAIC,EAAE,EAAuB,OAArB2G,EAAE5G,GAAE,WAAWC,GAAG,IAAUA,CAAC,EAAE2H,QAAQ,SAAS5H,GAAG,OAAO4G,EAAE5G,GAAE,SAASA,GAAG,OAAOA,CAAC,KAAI,EAAE,EAAE6H,KAAK,SAAS7H,GAAG,IAAI+F,EAAE/F,GAAG,MAAMqF,MAAM,yEAAyE,OAAOrF,CAAC,GAAGF,EAAQgI,UAAUlD,EAAE9E,EAAQ0D,SAAShB,EAAE1C,EAAQiI,SAASpE,EAAE7D,EAAQkI,cAAc9C,EAAEpF,EAAQmI,WAAWrF,EAAE9C,EAAQoI,SAASnE,EAClcjE,EAAQwC,mDAAmD8E,EAAEtH,EAAQqI,IAAIZ,EACzEzH,EAAQsI,aAAa,SAASpI,EAAEC,EAAE+C,GAAG,GAAG,OAAOhD,QAAG,IAASA,EAAE,MAAMqF,MAAM,iFAAiFrF,EAAE,KAAK,IAAI+C,EAAE0B,EAAE,CAAC,EAAEzE,EAAEqD,OAAOR,EAAE7C,EAAEiB,IAAIe,EAAEhC,EAAEyC,IAAIQ,EAAEjD,EAAEsD,OAAO,GAAG,MAAMrD,EAAE,CAAoE,QAAnE,IAASA,EAAEwC,MAAMT,EAAE/B,EAAEwC,IAAIQ,EAAE0C,EAAEpC,cAAS,IAAStD,EAAEgB,MAAM4B,EAAE,GAAG5C,EAAEgB,KAAQjB,EAAEoD,MAAMpD,EAAEoD,KAAKF,aAAa,IAAIJ,EAAE9C,EAAEoD,KAAKF,aAAa,IAAIpB,KAAK7B,EAAEyF,EAAE1E,KAAKf,EAAE6B,KAAK8D,EAAE7E,eAAee,KAAKiB,EAAEjB,QAAG,IAAS7B,EAAE6B,SAAI,IAASgB,EAAEA,EAAEhB,GAAG7B,EAAE6B,GAAG,CAAC,IAAIA,EAAET,UAAUlB,OAAO,EAAE,GAAG,IAAI2B,EAAEiB,EAAE+C,SAAS9C,OAAO,GAAG,EAAElB,EAAE,CAACgB,EAAExC,MAAMwB,GACrf,IAAI,IAAIM,EAAE,EAAEA,EAAEN,EAAEM,IAAIU,EAAEV,GAAGf,UAAUe,EAAE,GAAGW,EAAE+C,SAAShD,CAAC,CAAC,MAAM,CAACK,SAAShB,EAAEiB,KAAKpD,EAAEoD,KAAKnC,IAAI4B,EAAEJ,IAAIT,EAAEqB,MAAMN,EAAEO,OAAOL,EAAE,EAAEnD,EAAQuI,cAAc,SAASrI,GAAqK,OAAlKA,EAAE,CAACmD,SAASU,EAAEyE,cAActI,EAAEuI,eAAevI,EAAEwI,aAAa,EAAEC,SAAS,KAAKC,SAAS,KAAKC,cAAc,KAAKC,YAAY,OAAQH,SAAS,CAACtF,SAASS,EAAEiF,SAAS7I,GAAUA,EAAE0I,SAAS1I,CAAC,EAAEF,EAAQgJ,cAAcjD,EAAE/F,EAAQiJ,cAAc,SAAS/I,GAAG,IAAIC,EAAE4F,EAAEmD,KAAK,KAAKhJ,GAAY,OAATC,EAAEmD,KAAKpD,EAASC,CAAC,EAAEH,EAAQmJ,UAAU,WAAW,MAAM,CAAC1F,QAAQ,KAAK,EAC9dzD,EAAQoJ,WAAW,SAASlJ,GAAG,MAAM,CAACmD,SAASW,EAAEqF,OAAOnJ,EAAE,EAAEF,EAAQsJ,eAAerD,EAAEjG,EAAQuJ,KAAK,SAASrJ,GAAG,MAAM,CAACmD,SAASc,EAAEqF,SAAS,CAACxC,SAAS,EAAEC,QAAQ/G,GAAGuJ,MAAM1C,EAAE,EAAE/G,EAAQ0J,KAAK,SAASxJ,EAAEC,GAAG,MAAM,CAACkD,SAASa,EAAEZ,KAAKpD,EAAEyJ,aAAQ,IAASxJ,EAAE,KAAKA,EAAE,EAAEH,EAAQ4J,gBAAgB,SAAS1J,GAAG,IAAIC,EAAEiH,EAAEC,WAAWD,EAAEC,WAAW,CAAC,EAAE,IAAInH,GAAG,CAAC,QAAQkH,EAAEC,WAAWlH,CAAC,CAAC,EAAEH,EAAQ6J,aAAapC,EAAEzH,EAAQ8J,YAAY,SAAS5J,EAAEC,GAAG,OAAOgH,EAAE1D,QAAQqG,YAAY5J,EAAEC,EAAE,EAAEH,EAAQ+J,WAAW,SAAS7J,GAAG,OAAOiH,EAAE1D,QAAQsG,WAAW7J,EAAE,EAC3fF,EAAQgK,cAAc,WAAW,EAAEhK,EAAQiK,iBAAiB,SAAS/J,GAAG,OAAOiH,EAAE1D,QAAQwG,iBAAiB/J,EAAE,EAAEF,EAAQkK,UAAU,SAAShK,EAAEC,GAAG,OAAOgH,EAAE1D,QAAQyG,UAAUhK,EAAEC,EAAE,EAAEH,EAAQmK,MAAM,WAAW,OAAOhD,EAAE1D,QAAQ0G,OAAO,EAAEnK,EAAQoK,oBAAoB,SAASlK,EAAEC,EAAE+C,GAAG,OAAOiE,EAAE1D,QAAQ2G,oBAAoBlK,EAAEC,EAAE+C,EAAE,EAAElD,EAAQqK,mBAAmB,SAASnK,EAAEC,GAAG,OAAOgH,EAAE1D,QAAQ4G,mBAAmBnK,EAAEC,EAAE,EAAEH,EAAQsK,gBAAgB,SAASpK,EAAEC,GAAG,OAAOgH,EAAE1D,QAAQ6G,gBAAgBpK,EAAEC,EAAE,EACzdH,EAAQuK,QAAQ,SAASrK,EAAEC,GAAG,OAAOgH,EAAE1D,QAAQ8G,QAAQrK,EAAEC,EAAE,EAAEH,EAAQwK,WAAW,SAAStK,EAAEC,EAAE+C,GAAG,OAAOiE,EAAE1D,QAAQ+G,WAAWtK,EAAEC,EAAE+C,EAAE,EAAElD,EAAQyK,OAAO,SAASvK,GAAG,OAAOiH,EAAE1D,QAAQgH,OAAOvK,EAAE,EAAEF,EAAQ0K,SAAS,SAASxK,GAAG,OAAOiH,EAAE1D,QAAQiH,SAASxK,EAAE,EAAEF,EAAQ2K,qBAAqB,SAASzK,EAAEC,EAAE+C,GAAG,OAAOiE,EAAE1D,QAAQkH,qBAAqBzK,EAAEC,EAAE+C,EAAE,EAAElD,EAAQ4K,cAAc,WAAW,OAAOzD,EAAE1D,QAAQmH,eAAe,EAAE5K,EAAQ6K,QAAQ,qCCvBpa,IAAIC,EAAU7I,EAAQ,KAMlB8I,EAAgB,CAClBC,mBAAmB,EACnBC,aAAa,EACbC,cAAc,EACd9H,cAAc,EACd+H,aAAa,EACbC,iBAAiB,EACjBC,0BAA0B,EAC1BC,0BAA0B,EAC1BC,QAAQ,EACRC,WAAW,EACXlI,MAAM,GAEJmI,EAAgB,CAClBC,MAAM,EACNrL,QAAQ,EACRU,WAAW,EACX4K,QAAQ,EACRC,QAAQ,EACRrK,WAAW,EACXsK,OAAO,GASLC,EAAe,CACjB,UAAY,EACZnC,SAAS,EACTvG,cAAc,EACd+H,aAAa,EACbK,WAAW,EACXlI,MAAM,GAEJyI,EAAe,CAAC,EAIpB,SAASC,EAAWC,GAElB,OAAInB,EAAQoB,OAAOD,GACVH,EAIFC,EAAaE,EAAoB,WAAMlB,CAChD,CAXAgB,EAAajB,EAAQqB,YAhBK,CACxB,UAAY,EACZ9C,QAAQ,EACRjG,cAAc,EACd+H,aAAa,EACbK,WAAW,GAYbO,EAAajB,EAAQsB,MAAQN,EAY7B,IAAIO,EAAiBvL,OAAOuL,eACxBC,EAAsBxL,OAAOwL,oBAC7BC,EAAwBzL,OAAOyL,sBAC/BC,EAA2B1L,OAAO0L,yBAClCC,EAAiB3L,OAAO2L,eACxBC,EAAkB5L,OAAOC,UAsC7BhB,EAAOC,QArCP,SAAS2M,EAAqBC,EAAiBC,EAAiBC,GAC9D,GAA+B,kBAApBD,EAA8B,CAEvC,GAAIH,EAAiB,CACnB,IAAIK,EAAqBN,EAAeI,GAEpCE,GAAsBA,IAAuBL,GAC/CC,EAAqBC,EAAiBG,EAAoBD,EAE9D,CAEA,IAAIvM,EAAO+L,EAAoBO,GAE3BN,IACFhM,EAAOA,EAAKyM,OAAOT,EAAsBM,KAM3C,IAHA,IAAII,EAAgBjB,EAAWY,GAC3BM,EAAgBlB,EAAWa,GAEtBvM,EAAI,EAAGA,EAAIC,EAAKF,SAAUC,EAAG,CACpC,IAAIa,EAAMZ,EAAKD,GAEf,IAAKmL,EAActK,MAAU2L,IAAaA,EAAU3L,OAAW+L,IAAiBA,EAAc/L,OAAW8L,IAAiBA,EAAc9L,IAAO,CAC7I,IAAIgM,EAAaX,EAAyBK,EAAiB1L,GAE3D,IAEEkL,EAAeO,EAAiBzL,EAAKgM,EACvC,CAAE,MAAOjK,GAAI,CACf,CACF,CACF,CAEA,OAAO0J,CACT,4BC3Fa,SAAS5K,EAAE9B,EAAEC,GAAG,IAAI4C,EAAE7C,EAAEG,OAAOH,EAAEsG,KAAKrG,GAAGD,EAAE,KAAK,EAAE6C,GAAG,CAAC,IAAIE,EAAEF,EAAE,IAAI,EAAEG,EAAEhD,EAAE+C,GAAG,KAAG,EAAED,EAAEE,EAAE/C,IAA0B,MAAMD,EAA7BA,EAAE+C,GAAG9C,EAAED,EAAE6C,GAAGG,EAAEH,EAAEE,CAAc,CAAC,CAAC,SAASE,EAAEjD,GAAG,OAAO,IAAIA,EAAEG,OAAO,KAAKH,EAAE,EAAE,CAAC,SAASgC,EAAEhC,GAAG,GAAG,IAAIA,EAAEG,OAAO,OAAO,KAAK,IAAIF,EAAED,EAAE,GAAG6C,EAAE7C,EAAEkN,MAAM,GAAGrK,IAAI5C,EAAE,CAACD,EAAE,GAAG6C,EAAE7C,EAAE,IAAI,IAAI+C,EAAE,EAAEC,EAAEhD,EAAEG,OAAO4D,EAAEf,IAAI,EAAED,EAAEgB,GAAG,CAAC,IAAI3B,EAAE,GAAGW,EAAE,GAAG,EAAE0B,EAAEzE,EAAEoC,GAAGC,EAAED,EAAE,EAAE4B,EAAEhE,EAAEqC,GAAG,GAAG,EAAES,EAAE2B,EAAE5B,GAAGR,EAAEW,GAAG,EAAEF,EAAEkB,EAAES,IAAIzE,EAAE+C,GAAGiB,EAAEhE,EAAEqC,GAAGQ,EAAEE,EAAEV,IAAIrC,EAAE+C,GAAG0B,EAAEzE,EAAEoC,GAAGS,EAAEE,EAAEX,OAAQ,MAAGC,EAAEW,GAAG,EAAEF,EAAEkB,EAAEnB,IAA0B,MAAM7C,EAA7BA,EAAE+C,GAAGiB,EAAEhE,EAAEqC,GAAGQ,EAAEE,EAAEV,CAAc,EAAC,CAAC,OAAOpC,CAAC,CAC3c,SAAS6C,EAAE9C,EAAEC,GAAG,IAAI4C,EAAE7C,EAAEmN,UAAUlN,EAAEkN,UAAU,OAAO,IAAItK,EAAEA,EAAE7C,EAAEoN,GAAGnN,EAAEmN,EAAE,CAAC,GAAG,kBAAkBC,aAAa,oBAAoBA,YAAYC,IAAI,CAAC,IAAInL,EAAEkL,YAAYvN,EAAQyN,aAAa,WAAW,OAAOpL,EAAEmL,KAAK,CAAC,KAAK,CAAC,IAAI9K,EAAEgL,KAAK5K,EAAEJ,EAAE8K,MAAMxN,EAAQyN,aAAa,WAAW,OAAO/K,EAAE8K,MAAM1K,CAAC,CAAC,CAAC,IAAIe,EAAE,GAAGC,EAAE,GAAGC,EAAE,EAAEC,EAAE,KAAKG,EAAE,EAAEC,GAAE,EAAGqC,GAAE,EAAGnC,GAAE,EAAGO,EAAE,oBAAoB8I,WAAWA,WAAW,KAAK7I,EAAE,oBAAoB8I,aAAaA,aAAa,KAAKzI,EAAE,qBAAqB0I,aAAaA,aAAa,KACnT,SAASzI,EAAElF,GAAG,IAAI,IAAIC,EAAEgD,EAAEW,GAAG,OAAO3D,GAAG,CAAC,GAAG,OAAOA,EAAE2N,SAAS5L,EAAE4B,OAAQ,MAAG3D,EAAE4N,WAAW7N,GAAgD,MAA9CgC,EAAE4B,GAAG3D,EAAEkN,UAAUlN,EAAE6N,eAAehM,EAAE6B,EAAE1D,EAAa,CAACA,EAAEgD,EAAEW,EAAE,CAAC,CAAC,SAAS2B,EAAEvF,GAAa,GAAVoE,GAAE,EAAGc,EAAElF,IAAOuG,EAAE,GAAG,OAAOtD,EAAEU,GAAG4C,GAAE,EAAGd,EAAEC,OAAO,CAAC,IAAIzF,EAAEgD,EAAEW,GAAG,OAAO3D,GAAG0F,EAAEJ,EAAEtF,EAAE4N,UAAU7N,EAAE,CAAC,CACra,SAAS0F,EAAE1F,EAAEC,GAAGsG,GAAE,EAAGnC,IAAIA,GAAE,EAAGQ,EAAEgB,GAAGA,GAAG,GAAG1B,GAAE,EAAG,IAAIrB,EAAEoB,EAAE,IAAS,IAALiB,EAAEjF,GAAO6D,EAAEb,EAAEU,GAAG,OAAOG,MAAMA,EAAEgK,eAAe7N,IAAID,IAAI6F,MAAM,CAAC,IAAI9C,EAAEe,EAAE8J,SAAS,GAAG,oBAAoB7K,EAAE,CAACe,EAAE8J,SAAS,KAAK3J,EAAEH,EAAEiK,cAAc,IAAI/K,EAAED,EAAEe,EAAEgK,gBAAgB7N,GAAGA,EAAEH,EAAQyN,eAAe,oBAAoBvK,EAAEc,EAAE8J,SAAS5K,EAAEc,IAAIb,EAAEU,IAAI3B,EAAE2B,GAAGuB,EAAEjF,EAAE,MAAM+B,EAAE2B,GAAGG,EAAEb,EAAEU,EAAE,CAAC,GAAG,OAAOG,EAAE,IAAIC,GAAE,MAAO,CAAC,IAAI3B,EAAEa,EAAEW,GAAG,OAAOxB,GAAGuD,EAAEJ,EAAEnD,EAAEyL,UAAU5N,GAAG8D,GAAE,CAAE,CAAC,OAAOA,CAAC,CAAC,QAAQD,EAAE,KAAKG,EAAEpB,EAAEqB,GAAE,CAAE,CAAC,CAD1a,qBAAqB8J,gBAAW,IAASA,UAAUC,iBAAY,IAASD,UAAUC,WAAWC,gBAAgBF,UAAUC,WAAWC,eAAelF,KAAKgF,UAAUC,YAC2Q,IACzPrH,EAD6PP,GAAE,EAAGN,EAAE,KAAKH,GAAG,EAAEI,EAAE,EAAEC,GAAG,EACvc,SAASJ,IAAI,QAAO/F,EAAQyN,eAAetH,EAAED,EAAO,CAAC,SAASI,IAAI,GAAG,OAAOL,EAAE,CAAC,IAAI/F,EAAEF,EAAQyN,eAAetH,EAAEjG,EAAE,IAAIC,GAAE,EAAG,IAAIA,EAAE8F,GAAE,EAAG/F,EAAE,CAAC,QAAQC,EAAE2G,KAAKP,GAAE,EAAGN,EAAE,KAAK,CAAC,MAAMM,GAAE,CAAE,CAAO,GAAG,oBAAoBpB,EAAE2B,EAAE,WAAW3B,EAAEmB,EAAE,OAAO,GAAG,qBAAqB+H,eAAe,CAAC,IAAItH,EAAE,IAAIsH,eAAelH,EAAEJ,EAAEuH,MAAMvH,EAAEwH,MAAMC,UAAUlI,EAAEQ,EAAE,WAAWK,EAAEsH,YAAY,KAAK,CAAC,MAAM3H,EAAE,WAAWjC,EAAEyB,EAAE,EAAE,EAAE,SAASX,EAAEzF,GAAG+F,EAAE/F,EAAEqG,IAAIA,GAAE,EAAGO,IAAI,CAAC,SAASjB,EAAE3F,EAAEC,GAAG2F,EAAEjB,GAAE,WAAW3E,EAAEF,EAAQyN,eAAe,GAAEtN,EAAE,CAC5dH,EAAQ0O,sBAAsB,EAAE1O,EAAQ2O,2BAA2B,EAAE3O,EAAQ4O,qBAAqB,EAAE5O,EAAQ6O,wBAAwB,EAAE7O,EAAQ8O,mBAAmB,KAAK9O,EAAQ+O,8BAA8B,EAAE/O,EAAQgP,wBAAwB,SAAS9O,GAAGA,EAAE4N,SAAS,IAAI,EAAE9N,EAAQiP,2BAA2B,WAAWxI,GAAGrC,IAAIqC,GAAE,EAAGd,EAAEC,GAAG,EAC1U5F,EAAQkP,wBAAwB,SAAShP,GAAG,EAAEA,GAAG,IAAIA,EAAEiP,QAAQC,MAAM,mHAAmHlJ,EAAE,EAAEhG,EAAEmP,KAAKC,MAAM,IAAIpP,GAAG,CAAC,EAAEF,EAAQuP,iCAAiC,WAAW,OAAOpL,CAAC,EAAEnE,EAAQwP,8BAA8B,WAAW,OAAOrM,EAAEU,EAAE,EAAE7D,EAAQyP,cAAc,SAASvP,GAAG,OAAOiE,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAIhE,EAAE,EAAE,MAAM,QAAQA,EAAEgE,EAAE,IAAIpB,EAAEoB,EAAEA,EAAEhE,EAAE,IAAI,OAAOD,GAAG,CAAC,QAAQiE,EAAEpB,CAAC,CAAC,EAAE/C,EAAQ0P,wBAAwB,WAAW,EAC9f1P,EAAQ2P,sBAAsB,WAAW,EAAE3P,EAAQ4P,yBAAyB,SAAS1P,EAAEC,GAAG,OAAOD,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQA,EAAE,EAAE,IAAI6C,EAAEoB,EAAEA,EAAEjE,EAAE,IAAI,OAAOC,GAAG,CAAC,QAAQgE,EAAEpB,CAAC,CAAC,EAChM/C,EAAQ6P,0BAA0B,SAAS3P,EAAEC,EAAE4C,GAAG,IAAIE,EAAEjD,EAAQyN,eAA8F,OAA/E,kBAAkB1K,GAAG,OAAOA,EAAaA,EAAE,kBAAZA,EAAEA,EAAE+M,QAA6B,EAAE/M,EAAEE,EAAEF,EAAEE,EAAGF,EAAEE,EAAS/C,GAAG,KAAK,EAAE,IAAIgD,GAAG,EAAE,MAAM,KAAK,EAAEA,EAAE,IAAI,MAAM,KAAK,EAAEA,EAAE,WAAW,MAAM,KAAK,EAAEA,EAAE,IAAI,MAAM,QAAQA,EAAE,IAAmN,OAAzMhD,EAAE,CAACoN,GAAGvJ,IAAI+J,SAAS3N,EAAE8N,cAAc/N,EAAE6N,UAAUhL,EAAEiL,eAAvD9K,EAAEH,EAAEG,EAAoEmK,WAAW,GAAGtK,EAAEE,GAAG/C,EAAEmN,UAAUtK,EAAEf,EAAE8B,EAAE5D,GAAG,OAAOiD,EAAEU,IAAI3D,IAAIiD,EAAEW,KAAKQ,GAAGQ,EAAEgB,GAAGA,GAAG,GAAGxB,GAAE,EAAGuB,EAAEJ,EAAE1C,EAAEE,MAAM/C,EAAEmN,UAAUnK,EAAElB,EAAE6B,EAAE3D,GAAGuG,GAAGrC,IAAIqC,GAAE,EAAGd,EAAEC,KAAY1F,CAAC,EACneF,EAAQ+P,qBAAqBhK,EAAE/F,EAAQgQ,sBAAsB,SAAS9P,GAAG,IAAIC,EAAEgE,EAAE,OAAO,WAAW,IAAIpB,EAAEoB,EAAEA,EAAEhE,EAAE,IAAI,OAAOD,EAAEyB,MAAMoD,KAAKxD,UAAU,CAAC,QAAQ4C,EAAEpB,CAAC,CAAC,CAAC,qDCF/J,IAAIkN,EAAgB,SAAShN,EAAG9C,GAI5B,OAHA8P,EAAgBnP,OAAOoP,gBAClB,CAAEC,UAAW,cAAgB3P,OAAS,SAAUyC,EAAG9C,GAAK8C,EAAEkN,UAAYhQ,CAAE,GACzE,SAAU8C,EAAG9C,GAAK,IAAK,IAAIuC,KAAKvC,EAAOW,OAAOC,UAAUE,eAAeC,KAAKf,EAAGuC,KAAIO,EAAEP,GAAKvC,EAAEuC,GAAG,EAC5FuN,EAAchN,EAAG9C,EAC5B,EAEO,SAASiQ,EAAUnN,EAAG9C,GACzB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIkQ,UAAU,uBAAyBzJ,OAAOzG,GAAK,iCAE7D,SAASmQ,IAAOvL,KAAK3E,YAAc6C,CAAE,CADrCgN,EAAchN,EAAG9C,GAEjB8C,EAAElC,UAAkB,OAANZ,EAAaW,OAAOyP,OAAOpQ,IAAMmQ,EAAGvP,UAAYZ,EAAEY,UAAW,IAAIuP,EACnF,CAEO,IAAIE,EAAW,WAQlB,OAPAA,EAAW1P,OAAO8D,QAAU,SAAkBd,GAC1C,IAAK,IAAI2M,EAAGnQ,EAAI,EAAGiC,EAAIhB,UAAUlB,OAAQC,EAAIiC,EAAGjC,IAE5C,IAAK,IAAIoC,KADT+N,EAAIlP,UAAUjB,GACOQ,OAAOC,UAAUE,eAAeC,KAAKuP,EAAG/N,KAAIoB,EAAEpB,GAAK+N,EAAE/N,IAE9E,OAAOoB,CACf,EACW0M,EAAS7O,MAAMoD,KAAMxD,UAChC,EA6BO,SAASmP,EAAUC,EAASC,EAAY1K,EAAG2K,GAC9C,SAASC,EAAMjP,GAAS,OAAOA,aAAiBqE,EAAIrE,EAAQ,IAAIqE,GAAE,SAAU6K,GAAWA,EAAQlP,EAAO,GAAI,CAC1G,OAAO,IAAKqE,IAAMA,EAAI8K,WAAU,SAAUD,EAASE,GAC/C,SAASC,EAAUrP,GAAS,IAAMsP,EAAKN,EAAUnK,KAAK7E,GAAQ,CAAG,MAAOqB,IAAK+N,EAAO/N,GAAG,CAAE,CACzF,SAASkO,EAASvP,GAAS,IAAMsP,EAAKN,EAAiB,MAAEhP,GAAQ,CAAG,MAAOqB,IAAK+N,EAAO/N,GAAG,CAAE,CAC5F,SAASiO,EAAKE,GAAUA,EAAO1K,KAAOoK,EAAQM,EAAOxP,OAASiP,EAAMO,EAAOxP,OAAOqF,KAAKgK,EAAWE,EAAU,CAC5GD,GAAMN,EAAYA,EAAUlP,MAAMgP,EAASC,GAAc,KAAKlK,OACtE,GACA,CAEO,SAAS4K,EAAYX,EAASY,GACjC,IAAsGvP,EAAGmC,EAAGL,EAAGd,EAA3GwO,EAAI,CAAEC,MAAO,EAAGC,KAAM,WAAa,GAAW,EAAP5N,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,EAAG,EAAI6N,KAAM,GAAIC,IAAK,IAChG,OAAO5O,EAAI,CAAE0D,KAAMmL,EAAK,GAAI,MAASA,EAAK,GAAI,OAAUA,EAAK,IAAwB,oBAAX1P,SAA0Ba,EAAEb,OAAOkC,UAAY,WAAa,OAAOU,IAAK,GAAK/B,EACvJ,SAAS6O,EAAKtP,GAAK,OAAO,SAAUyB,GAAK,OAAOmN,EAAK,CAAC5O,EAAGyB,GAAI,CAAG,CAChE,SAASmN,EAAKW,GACV,GAAI9P,EAAG,MAAM,IAAIqO,UAAU,mCAC3B,KAAOmB,OACH,GAAIxP,EAAI,EAAGmC,IAAML,EAAY,EAARgO,EAAG,GAAS3N,EAAU,OAAI2N,EAAG,GAAK3N,EAAS,SAAOL,EAAIK,EAAU,SAAML,EAAE5C,KAAKiD,GAAI,GAAKA,EAAEuC,SAAW5C,EAAIA,EAAE5C,KAAKiD,EAAG2N,EAAG,KAAKnL,KAAM,OAAO7C,EAE3J,OADIK,EAAI,EAAGL,IAAGgO,EAAK,CAAS,EAARA,EAAG,GAAQhO,EAAEjC,QACzBiQ,EAAG,IACP,KAAK,EAAG,KAAK,EAAGhO,EAAIgO,EAAI,MACxB,KAAK,EAAc,OAAXN,EAAEC,QAAgB,CAAE5P,MAAOiQ,EAAG,GAAInL,MAAM,GAChD,KAAK,EAAG6K,EAAEC,QAAStN,EAAI2N,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKN,EAAEI,IAAIxE,MAAOoE,EAAEG,KAAKvE,MAAO,SACxC,QACI,KAAkBtJ,GAAZA,EAAI0N,EAAEG,MAAYtR,OAAS,GAAKyD,EAAEA,EAAEzD,OAAS,MAAkB,IAAVyR,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAEN,EAAI,EAAG,QAAS,CAC1G,GAAc,IAAVM,EAAG,MAAchO,GAAMgO,EAAG,GAAKhO,EAAE,IAAMgO,EAAG,GAAKhO,EAAE,IAAM,CAAE0N,EAAEC,MAAQK,EAAG,GAAI,KAAM,CACpF,GAAc,IAAVA,EAAG,IAAYN,EAAEC,MAAQ3N,EAAE,GAAI,CAAE0N,EAAEC,MAAQ3N,EAAE,GAAIA,EAAIgO,EAAI,KAAM,CACnE,GAAIhO,GAAK0N,EAAEC,MAAQ3N,EAAE,GAAI,CAAE0N,EAAEC,MAAQ3N,EAAE,GAAI0N,EAAEI,IAAIpL,KAAKsL,GAAK,KAAM,CAC7DhO,EAAE,IAAI0N,EAAEI,IAAIxE,MAChBoE,EAAEG,KAAKvE,MAAO,SAEtB0E,EAAKP,EAAKrQ,KAAKyP,EAASa,EACpC,CAAU,MAAOtO,IAAK4O,EAAK,CAAC,EAAG5O,IAAIiB,EAAI,CAAE,CAAG,QAAUnC,EAAI8B,EAAI,CAAE,CACxD,GAAY,EAARgO,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAEjQ,MAAOiQ,EAAG,GAAKA,EAAG,QAAK,EAAQnL,MAAM,EAClF,CACA,CA2DO,SAASoL,EAAcC,EAAIC,EAAMC,GACpC,GAAIA,GAA6B,IAArB3Q,UAAUlB,OAAc,IAAK,IAA4B8R,EAAxB7R,EAAI,EAAG+B,EAAI4P,EAAK5R,OAAYC,EAAI+B,EAAG/B,KACxE6R,GAAQ7R,KAAK2R,IACRE,IAAIA,EAAK3R,MAAMO,UAAUqR,MAAMlR,KAAK+Q,EAAM,EAAG3R,IAClD6R,EAAG7R,GAAK2R,EAAK3R,IAGrB,OAAO0R,EAAGhF,OAAOmF,GAAMF,EAC3B,CCrHA,ICrDA,IAAAI,EAAA,WACI,SAAAA,EAAqBC,EAAuBC,EAAsBC,EAAwBC,GAArE,KAAAH,KAAAA,EAAuB,KAAAC,IAAAA,EAAsB,KAAAC,MAAAA,EAAwB,KAAAC,OAAAA,EA4B9F,OA1BIJ,EAAAtR,UAAA2R,IAAA,SAAIxO,EAAWC,EAAWF,EAAWd,GACjC,OAAO,IAAIkP,EAAOtN,KAAKuN,KAAOpO,EAAGa,KAAKwN,IAAMpO,EAAGY,KAAKyN,MAAQvO,EAAGc,KAAK0N,OAAStP,IAG1EkP,EAAAM,eAAP,SAAsB3N,EAAkB4N,GACpC,OAAO,IAAIP,EACPO,EAAWN,KAAOtN,EAAQ6N,aAAaP,KACvCM,EAAWL,IAAMvN,EAAQ6N,aAAaN,IACtCK,EAAWJ,MACXI,EAAWH,SAIZJ,EAAAS,gBAAP,SAAuB9N,EAAkB+N,GACrC,IAAMC,EAAUxS,MAAMyR,KAAKc,GAAaE,MAAK,SAACC,GAAS,OAAe,IAAfA,EAAKV,KAAW,IACvE,OAAOQ,EACD,IAAIX,EACAW,EAAQV,KAAOtN,EAAQ6N,aAAaP,KACpCU,EAAQT,IAAMvN,EAAQ6N,aAAaN,IACnCS,EAAQR,MACRQ,EAAQP,QAEZJ,EAAOc,OAGVd,EAAAc,MAAQ,IAAId,EAAO,EAAG,EAAG,EAAG,GACvCA,EA7BA,GA+Bae,EAAc,SAACpO,EAAkBqO,GAC1C,OAAOhB,EAAOM,eAAe3N,EAASqO,EAAKC,wBAC/C,EAEaC,EAAoB,SAACC,GAC9B,IAAMjC,EAAOiC,EAASjC,KAChBkC,EAAkBD,EAASC,gBAEjC,IAAKlC,IAASkC,EACV,MAAM,IAAIlO,MAAM,+BAEpB,IAAMiN,EAAQnD,KAAKqE,IACfrE,KAAKqE,IAAInC,EAAKoC,YAAaF,EAAgBE,aAC3CtE,KAAKqE,IAAInC,EAAKqC,YAAaH,EAAgBG,aAC3CvE,KAAKqE,IAAInC,EAAKsC,YAAaJ,EAAgBI,cAGzCpB,EAASpD,KAAKqE,IAChBrE,KAAKqE,IAAInC,EAAKuC,aAAcL,EAAgBK,cAC5CzE,KAAKqE,IAAInC,EAAKwC,aAAcN,EAAgBM,cAC5C1E,KAAKqE,IAAInC,EAAKyC,aAAcP,EAAgBO,eAGhD,OAAO,IAAI3B,EAAO,EAAG,EAAGG,EAAOC,EACnC,EDzDawB,EAAe,SAACC,GAIzB,IAHA,IAAMC,EAAa,GACf7T,EAAI,EACFD,EAAS6T,EAAI7T,OACZC,EAAID,GAAQ,CACf,IAAMwB,EAAQqS,EAAIE,WAAW9T,KAC7B,GAAIuB,GAAS,OAAUA,GAAS,OAAUvB,EAAID,EAAQ,CAClD,IAAMgU,EAAQH,EAAIE,WAAW9T,KACJ,SAAZ,MAAR+T,GACDF,EAAW3N,OAAe,KAAR3E,IAAkB,KAAe,KAARwS,GAAiB,QAE5DF,EAAW3N,KAAK3E,GAChBvB,UAGJ6T,EAAW3N,KAAK3E,GAGxB,OAAOsS,CACX,EAEaG,EAAgB,eAAC,IAAAH,EAAA,GAAAI,EAAA,EAAAA,EAAAhT,UAAAlB,OAAAkU,IAAAJ,EAAAI,GAAAhT,UAAAgT,GAC1B,GAAI3N,OAAO4N,cACP,OAAO5N,OAAO4N,cAAa7S,MAApBiF,OAAwBuN,GAGnC,IAAM9T,EAAS8T,EAAW9T,OAC1B,IAAKA,EACD,MAAO,GAOX,IAJA,IAAMoU,EAAY,GAEdC,GAAS,EACTrD,EAAS,KACJqD,EAAQrU,GAAQ,CACrB,IAAIsU,EAAYR,EAAWO,GACvBC,GAAa,MACbF,EAAUjO,KAAKmO,IAEfA,GAAa,MACbF,EAAUjO,KAAyB,OAAnBmO,GAAa,IAAeA,EAAY,KAAS,SAEjED,EAAQ,IAAMrU,GAAUoU,EAAUpU,OAAS,SAC3CgR,GAAUzK,OAAOgO,aAAYjT,MAAnBiF,OAAuB6N,GACjCA,EAAUpU,OAAS,GAG3B,OAAOgR,CACX,EAEMwD,EAAQ,mEAGRC,EAA+B,qBAAfC,WAA6B,GAAK,IAAIA,WAAW,KAC9DC,EAAI,EAAGA,EAAIH,EAAMxU,OAAQ2U,IAC9BF,EAAOD,EAAMT,WAAWY,IAAMA,EEpDlC,IAJA,IAAMC,EAAQ,mEAGRC,EAA+B,qBAAfH,WAA6B,GAAK,IAAIA,WAAW,KAC9DI,EAAI,EAAGA,EAAIF,EAAM5U,OAAQ8U,IAC9BD,EAAOD,EAAMb,WAAWe,IAAMA,ECDlC,IDIO,IAAMC,EAAS,SAACC,GACnB,IAEI/U,EAEAgV,EACAC,EACAC,EACAC,EAPAC,EAA+B,IAAhBL,EAAOhV,OACtBsV,EAAMN,EAAOhV,OAEbqC,EAAI,EAM0B,MAA9B2S,EAAOA,EAAOhV,OAAS,KACvBqV,IACkC,MAA9BL,EAAOA,EAAOhV,OAAS,IACvBqV,KAIR,IAAME,EACqB,qBAAhBC,aACe,qBAAfd,YAC+B,qBAA/BA,WAAWhU,UAAUqR,MACtB,IAAIyD,YAAYH,GAChB,IAAIlV,MAAMkV,GACdI,EAAQtV,MAAMC,QAAQmV,GAAUA,EAAS,IAAIb,WAAWa,GAE9D,IAAKtV,EAAI,EAAGA,EAAIqV,EAAKrV,GAAK,EACtBgV,EAAWJ,EAAOG,EAAOjB,WAAW9T,IACpCiV,EAAWL,EAAOG,EAAOjB,WAAW9T,EAAI,IACxCkV,EAAWN,EAAOG,EAAOjB,WAAW9T,EAAI,IACxCmV,EAAWP,EAAOG,EAAOjB,WAAW9T,EAAI,IAExCwV,EAAMpT,KAAQ4S,GAAY,EAAMC,GAAY,EAC5CO,EAAMpT,MAAoB,GAAX6S,IAAkB,EAAMC,GAAY,EACnDM,EAAMpT,MAAoB,EAAX8S,IAAiB,EAAiB,GAAXC,EAG1C,OAAOG,CACX,EAEaG,EAAkB,SAACH,GAG5B,IAFA,IAAMvV,EAASuV,EAAOvV,OAChByV,EAAQ,GACLxV,EAAI,EAAGA,EAAID,EAAQC,GAAK,EAC7BwV,EAAMtP,KAAMoP,EAAOtV,EAAI,IAAM,EAAKsV,EAAOtV,IAE7C,OAAOwV,CACX,EAEaE,EAAkB,SAACJ,GAG5B,IAFA,IAAMvV,EAASuV,EAAOvV,OAChByV,EAAQ,GACLxV,EAAI,EAAGA,EAAID,EAAQC,GAAK,EAC7BwV,EAAMtP,KAAMoP,EAAOtV,EAAI,IAAM,GAAOsV,EAAOtV,EAAI,IAAM,GAAOsV,EAAOtV,EAAI,IAAM,EAAKsV,EAAOtV,IAE7F,OAAOwV,CACX,EE1DaG,EAAiB,EAGjBC,EAAiB,GAQjBC,EAAqB,EAcrBC,EAA6B,OAAWH,EAKxCI,GAF2B,GAAKJ,GAEc,EAuB9CK,EAnB4BF,GAFC,MAASH,GAQN,GAmBhCM,EAAoC,OAAWL,EAK/CM,GAF8B,GA7CXN,EAAiBD,GA+CgB,EAE3DQ,EAAU,SAACC,EAA8BC,EAAeC,GAC1D,OAAIF,EAAKtE,MACEsE,EAAKtE,MAAMuE,EAAOC,GAGtB,IAAIC,YAAYrW,MAAMO,UAAUqR,MAAMlR,KAAKwV,EAAMC,EAAOC,GACnE,EAEME,EAAU,SAACJ,EAA8BC,EAAeC,GAC1D,OAAIF,EAAKtE,MACEsE,EAAKtE,MAAMuE,EAAOC,GAGtB,IAAIG,YAAYvW,MAAMO,UAAUqR,MAAMlR,KAAKwV,EAAMC,EAAOC,GACnE,EAEaI,EAAuB,SAAC3B,EAAgB4B,GACjD,IAAMrB,EAASR,EAAOC,GAChB6B,EAAS1W,MAAMC,QAAQmV,GAAUI,EAAgBJ,GAAU,IAAImB,YAAYnB,GAC3EuB,EAAS3W,MAAMC,QAAQmV,GAAUG,EAAgBH,GAAU,IAAIiB,YAAYjB,GAC3EwB,EAAe,GAEf1C,EAAQ+B,EAAQU,EAAQC,EAAe,EAAGF,EAAO,GAAK,GACtDG,EACY,IAAdH,EAAO,GACDT,EAAQU,GAASC,EAAeF,EAAO,IAAM,GAC7CJ,EAAQI,EAAQ7H,KAAKiI,MAAMF,EAAeF,EAAO,IAAM,IAEjE,OAAO,IAAIK,EAAKL,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIxC,EAAO2C,EACvE,eAUI,SAAAG,EACIC,EACAC,EACAC,EACAC,EACAlD,EACA2C,GAEAtS,KAAK0S,aAAeA,EACpB1S,KAAK2S,WAAaA,EAClB3S,KAAK4S,UAAYA,EACjB5S,KAAK6S,eAAiBA,EACtB7S,KAAK2P,MAAQA,EACb3P,KAAKsS,KAAOA,EAkDpB,OAzCIG,EAAAzW,UAAA8W,IAAA,SAAIlD,GACA,IAAImD,EACJ,GAAInD,GAAa,EAAG,CAChB,GAAIA,EAAY,OAAYA,EAAY,OAAWA,GAAa,MAM5D,OADAmD,IADAA,EAAK/S,KAAK2P,MAAMC,GAAasB,KACjBE,IAAuBxB,EAAY0B,GACxCtR,KAAKsS,KAAKS,GAGrB,GAAInD,GAAa,MASb,OADAmD,IADAA,EAAK/S,KAAK2P,MAAM0B,GAA+BzB,EAAY,OAAWsB,MAC1DE,IAAuBxB,EAAY0B,GACxCtR,KAAKsS,KAAKS,GAGrB,GAAInD,EAAY5P,KAAK4S,UAOjB,OALAG,EAAKxB,EAAwBC,GAAqC5B,GAAauB,GAC/E4B,EAAK/S,KAAK2P,MAAMoD,GAChBA,GAAOnD,GAAasB,EAAkBO,EAEtCsB,IADAA,EAAK/S,KAAK2P,MAAMoD,KACJ3B,IAAuBxB,EAAY0B,GACxCtR,KAAKsS,KAAKS,GAErB,GAAInD,GAAa,QACb,OAAO5P,KAAKsS,KAAKtS,KAAK6S,gBAK9B,OAAO7S,KAAK2S,YAEpBF,CAAA,ID7KMO,EAAQ,mEAGRC,EAA+B,qBAAfjD,WAA6B,GAAK,IAAIA,WAAW,KAC9DkD,EAAI,EAAGA,EAAIF,EAAM1X,OAAQ4X,IAC9BD,EAAOD,EAAM3D,WAAW6D,IAAMA,EEL3B,ICMMC,EAAyB,GAGhCC,EAAK,EACLC,EAAK,EACLC,EAAK,EACLC,EAAK,EACLC,EAAK,EAELC,EAAK,EACLC,EAAK,EACLC,EAAK,EACLC,EAAK,GACLC,EAAM,GAENC,EAAK,GACLC,EAAK,GACLC,EAAK,GACLC,EAAK,GACLC,EAAK,GAELC,EAAK,GACLC,EAAK,GACLC,EAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GAELC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GAELC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GAELC,GAAQ,CAAC,KAAQ,OAgDVC,GAAkB,IAClBC,GAAoB,OACpBC,GAAgB,OAChBC,GAAcjE,ED3GvB,4pnDC6GEkE,GAAc,CAACnB,GAAIM,IACnBc,GAAmB,CAAChD,EAAIC,EAAIC,EAAIE,GAChC6C,GAAQ,CAACzC,EAAIF,GACb4C,GAAiB,CAACzB,GAAID,IACtB2B,GAAcH,GAAiBnO,OAAOoO,IACtCG,GAAwB,CAAChB,GAAIC,GAAIC,GAAIN,GAAIC,IACzCoB,GAAS,CAACxC,EAAIF,GAEP2C,GAA+B,SACxCtH,EACAuH,QAAA,IAAAA,IAAAA,EAAA,UAEA,IAAMC,EAAkB,GAClBC,EAAoB,GACpBC,EAAwB,GAgE9B,OA/DA1H,EAAWvM,SAAQ,SAAC+M,EAAWD,GAC3B,IAAIoH,EAAYb,GAAYpD,IAAIlD,GAQhC,GAPImH,EAAY5D,GACZ2D,EAAWrV,MAAK,GAChBsV,GAAa5D,GAEb2D,EAAWrV,MAAK,IAGoC,IAApD,CAAC,SAAU,OAAQ,SAASuV,QAAQL,KAEyB,IAAzD,CAAC,KAAQ,KAAQ,MAAQ,OAAQK,QAAQpH,GAEzC,OADAiH,EAAQpV,KAAKkO,GACNiH,EAAMnV,KAAKyS,GAI1B,GAAI6C,IAAcxD,GAAMwD,IAAclD,EAAK,CAEvC,GAAc,IAAVlE,EAEA,OADAkH,EAAQpV,KAAKkO,GACNiH,EAAMnV,KAAKuT,IAKtB,IAAMiC,EAAOL,EAAMjH,EAAQ,GAC3B,OAAmC,IAA/B4G,GAAYS,QAAQC,IACpBJ,EAAQpV,KAAKoV,EAAQlH,EAAQ,IACtBiH,EAAMnV,KAAKwV,KAEtBJ,EAAQpV,KAAKkO,GACNiH,EAAMnV,KAAKuT,KAKtB,OAFA6B,EAAQpV,KAAKkO,GAEToH,IAAc9B,GACP2B,EAAMnV,KAAmB,WAAdkV,EAAyBpC,GAAKgB,IAGhDwB,IAAcnB,IAIdmB,IAAchC,GAHP6B,EAAMnV,KAAKuT,IAUlB+B,IAAclB,GACTjG,GAAa,QAAWA,GAAa,QAAaA,GAAa,QAAWA,GAAa,OACjFgH,EAAMnV,KAAK8T,IAEXqB,EAAMnV,KAAKuT,SAI1B4B,EAAMnV,KAAKsV,MAGR,CAACF,EAASD,EAAOE,EAC5B,EAEMI,GAA6B,SAC/B/b,EACAC,EACA+b,EACAC,GAEA,IAAM1Y,EAAU0Y,EAAWD,GAC3B,GAAI1b,MAAMC,QAAQP,IAA6B,IAAxBA,EAAE6b,QAAQtY,GAAkBvD,IAAMuD,EAErD,IADA,IAAInD,EAAI4b,EACD5b,GAAK6b,EAAW9b,QAAQ,CAI3B,IAFIqG,EAAOyV,IADX7b,MAGaH,EACT,OAAO,EAGX,GAAIuG,IAASiS,EACT,MAKZ,GAAIlV,IAAYkV,EAGZ,IAFIrY,EAAI4b,EAED5b,EAAI,GAAG,CAEV,IAAM0b,EAAOG,IADb7b,GAGA,GAAIE,MAAMC,QAAQP,IAA0B,IAArBA,EAAE6b,QAAQC,GAAe9b,IAAM8b,EAElD,IADA,IAAIzZ,EAAI2Z,EACD3Z,GAAK4Z,EAAW9b,QAAQ,CAE3B,IAAIqG,EAEJ,IAFIA,EAAOyV,IADX5Z,MAGapC,EACT,OAAO,EAGX,GAAIuG,IAASiS,EACT,MAKZ,GAAIqD,IAASrD,EACT,MAIZ,OAAO,CACX,EAEMyD,GAA4B,SAACF,EAAsBC,GAErD,IADA,IAAI7b,EAAI4b,EACD5b,GAAK,GAAG,CACX,IAAIgD,EAAO6Y,EAAW7b,GACtB,GAAIgD,IAASqV,EAGT,OAAOrV,EAFPhD,IAKR,OAAO,CACX,EAIM+b,GAAoB,SACtBlI,EACAgI,EACAG,EACA5H,EACA6H,GAEA,GAAwB,IAApBD,EAAS5H,GACT,OAAOqG,GAGX,IAAImB,EAAexH,EAAQ,EAC3B,GAAIlU,MAAMC,QAAQ8b,KAAsD,IAAlCA,EAAgBL,GAClD,OAAOnB,GAGX,IAAIyB,EAAcN,EAAe,EAC7BO,EAAaP,EAAe,EAC5BzY,EAAU0Y,EAAWD,GAIrBQ,EAASF,GAAe,EAAIL,EAAWK,GAAe,EACtD9V,EAAOyV,EAAWM,GAEtB,GAAIhZ,IAAY2U,GAAM1R,IAAS2R,EAC3B,OAAO0C,GAGX,IAA2C,IAAvCI,GAAiBY,QAAQtY,GACzB,OAAOqX,GAIX,IAAwC,IAApCK,GAAiBY,QAAQrV,GACzB,OAAOqU,GAIX,IAA6B,IAAzBK,GAAMW,QAAQrV,GACd,OAAOqU,GAIX,GAAIqB,GAA0BF,EAAcC,KAAgB1D,EACxD,OAAOuC,GAIX,GAAIC,GAAYpD,IAAI1D,EAAW+H,MAAmBtD,EAC9C,OAAOmC,GAIX,IAAKtX,IAAYwW,IAAMxW,IAAYyW,KAAOe,GAAYpD,IAAI1D,EAAWsI,MAAiB7D,EAClF,OAAOmC,GAIX,GAAItX,IAAY+U,GAAM9R,IAAS8R,EAC3B,OAAOuC,GAIX,GAAItX,IAAYiV,EACZ,OAAOqC,GAIX,IAAuC,IAAnC,CAACpC,EAAIG,EAAIE,GAAI+C,QAAQtY,IAAmBiD,IAASgS,EACjD,OAAOqC,GAIX,IAA4C,IAAxC,CAAC7B,EAAIC,EAAIC,EAAIK,GAAII,IAAIkC,QAAQrV,GAC7B,OAAOqU,GAIX,GAAIqB,GAA0BF,EAAcC,KAAgB5C,GACxD,OAAOwB,GAIX,GAAIkB,GAA2BzC,GAAID,GAAI2C,EAAcC,GACjD,OAAOpB,GAIX,GAAIkB,GAA2B,CAAC/C,EAAIC,GAAKG,GAAI4C,EAAcC,GACvD,OAAOpB,GAIX,GAAIkB,GAA2BpD,EAAIA,EAAIqD,EAAcC,GACjD,OAAOpB,GAIX,GAAItX,IAAYkV,EACZ,OAAOqC,GAIX,GAAIvX,IAAY+V,IAAM9S,IAAS8S,GAC3B,OAAOuB,GAIX,GAAIrU,IAASuS,GAAMxV,IAAYwV,EAC3B,OAAO+B,GAIX,IAAoC,IAAhC,CAAClC,EAAIE,EAAIM,IAAIyC,QAAQrV,IAAgBjD,IAAYsV,EACjD,OAAOgC,GAIX,GAAI2B,IAAWrC,KAAmC,IAA7BmB,GAAOO,QAAQtY,GAChC,OAAOsX,GAIX,GAAItX,IAAYoW,IAAMnT,IAAS2T,GAC3B,OAAOU,GAIX,GAAIrU,IAAS2S,GACT,OAAO0B,GAIX,IAAoC,IAA/BG,GAAYa,QAAQrV,IAAgBjD,IAAYiW,KAA0C,IAAlCwB,GAAYa,QAAQtY,IAAmBiD,IAASgT,GACzG,OAAOqB,GAIX,GACKtX,IAAYmW,KAAsC,IAAhC,CAACU,GAAIL,GAAIC,IAAI6B,QAAQrV,KACJ,IAAnC,CAAC4T,GAAIL,GAAIC,IAAI6B,QAAQtY,IAAmBiD,IAASiT,GAElD,OAAOoB,GAIX,IACuC,IAAlCG,GAAYa,QAAQtY,KAAqD,IAAlC4X,GAAeU,QAAQrV,KACzB,IAArC2U,GAAeU,QAAQtY,KAAkD,IAA/ByX,GAAYa,QAAQrV,GAE/D,OAAOqU,GAIX,IAEoC,IAA/B,CAACnB,GAAID,IAAIoC,QAAQtY,KACbiD,IAASgT,KAAmC,IAA5B,CAACH,GAAIP,GAAI+C,QAAQrV,IAAgByV,EAAWM,EAAa,KAAO/C,MAErD,IAA/B,CAACH,GAAIP,GAAI+C,QAAQtY,IAAmBiD,IAASgT,IAE7CjW,IAAYiW,KAAsC,IAAhC,CAACA,GAAIG,GAAIJ,IAAIsC,QAAQrV,GAExC,OAAOqU,GAIX,IAA4C,IAAxC,CAACrB,GAAIG,GAAIJ,GAAIP,EAAIC,GAAI4C,QAAQrV,GAE7B,IADA,IAAIiW,EAAYT,EACTS,GAAa,GAAG,CAEnB,IADIrZ,EAAO6Y,EAAWQ,MACTjD,GACT,OAAOqB,GACJ,IAAgC,IAA5B,CAAClB,GAAIJ,IAAIsC,QAAQzY,GAGxB,MAFAqZ,IAQZ,IAAgC,IAA5B,CAAC/C,GAAID,IAAIoC,QAAQrV,GAEjB,IADIiW,GAA2C,IAA/B,CAACzD,EAAIC,GAAI4C,QAAQtY,GAAkB+Y,EAAcN,EAC1DS,GAAa,GAAG,CACnB,IAAIrZ,EACJ,IADIA,EAAO6Y,EAAWQ,MACTjD,GACT,OAAOqB,GACJ,IAAgC,IAA5B,CAAClB,GAAIJ,IAAIsC,QAAQzY,GAGxB,MAFAqZ,IAQZ,GACKpC,KAAO9W,IAA+C,IAApC,CAAC8W,GAAIC,GAAIL,GAAIC,IAAI2B,QAAQrV,KACZ,IAA/B,CAAC8T,GAAIL,IAAI4B,QAAQtY,KAA+C,IAA5B,CAAC+W,GAAIC,IAAIsB,QAAQrV,KACtB,IAA/B,CAAC+T,GAAIL,IAAI2B,QAAQtY,IAAmBiD,IAAS+T,GAE9C,OAAOM,GAIX,IACiD,IAA5CQ,GAAsBQ,QAAQtY,KAA+C,IAA5B,CAAC4V,GAAIM,IAAIoC,QAAQrV,KACzB,IAAzC6U,GAAsBQ,QAAQrV,IAAgBjD,IAAYmW,GAE3D,OAAOmB,GAIX,IAAsC,IAAlCG,GAAYa,QAAQtY,KAAkD,IAA/ByX,GAAYa,QAAQrV,GAC3D,OAAOqU,GAIX,GAAItX,IAAYgW,KAAqC,IAA/ByB,GAAYa,QAAQrV,GACtC,OAAOqU,GAIX,IACkD,IAA7CG,GAAYlO,OAAO0M,IAAIqC,QAAQtY,IAC5BiD,IAAS6S,KACkC,IAA3CsB,GAAMkB,QAAQ5H,EAAWsI,MACc,IAA1CvB,GAAYlO,OAAO0M,IAAIqC,QAAQrV,IAAgBjD,IAAY0V,EAE5D,OAAO4B,GAKX,GAAItX,IAAYiX,IAAMhU,IAASgU,GAAI,CAG/B,IAFA,IAAIpa,EAAIgc,EAASJ,GACbrU,EAAQ,EACLvH,EAAI,GAEH6b,IADJ7b,KACsBoa,IAClB7S,IAKR,GAAIA,EAAQ,IAAM,EACd,OAAOkT,GAKf,OAAItX,IAAYwW,IAAMvT,IAASwT,GACpBa,GAGJC,EACX,EA0BM4B,GAAsB,SAACzI,EAAsB0I,GAC1CA,IACDA,EAAU,CAACnB,UAAW,SAAUoB,UAAW,WAE3C,IAAAC,EAAyCtB,GAA6BtH,EAAY0I,EAAQnB,WAAzFY,EAAQS,EAAA,GAAEZ,EAAUY,EAAA,GAAEC,EAAcD,EAAA,GAEf,cAAtBF,EAAQC,WAAmD,eAAtBD,EAAQC,YAC7CX,EAAaA,EAAWxU,KAAI,SAACrE,GAAS,OAAiC,IAAhC,CAACoW,GAAIK,GAAIY,IAAIoB,QAAQzY,GAAegX,GAAKhX,CAAI,KAGxF,IAAM2Z,EACoB,aAAtBJ,EAAQC,UACFE,EAAerV,KAAI,SAACuV,EAAc5c,GAC9B,OAAO4c,GAAgB/I,EAAW7T,IAAM,OAAU6T,EAAW7T,IAAM,cAEvE6c,EAEV,MAAO,CAACb,EAAUH,EAAYc,EAClC,EAkBAG,GAAA,WAMI,SAAAA,EAAYjJ,EAAsBuH,EAAmB/E,EAAeC,GAChE7R,KAAKoP,WAAaA,EAClBpP,KAAKsY,SAAW3B,IAAcZ,GAC9B/V,KAAK4R,MAAQA,EACb5R,KAAK6R,IAAMA,EAMnB,OAHIwG,EAAArc,UAAAqR,MAAA,WACI,OAAOkC,EAAa3S,WAAC,EAAGoD,KAAKoP,WAAW/B,MAAMrN,KAAK4R,MAAO5R,KAAK6R,OAEvEwG,CAAA,CAhBA,GAgCaE,GAAc,SAACpJ,EAAa2I,GACrC,IAAM1I,EAAaF,EAAaC,GAC1B6I,EAA+CH,GAAoBzI,EAAY0I,GAA9EP,EAAQS,EAAA,GAAEZ,EAAUY,EAAA,GAAEE,EAAoBF,EAAA,GAC3C1c,EAAS8T,EAAW9T,OACtBkd,EAAU,EACVC,EAAY,EAEhB,MAAO,CACH9W,KAAM,WACF,GAAI8W,GAAand,EACb,MAAO,CAACsG,MAAM,EAAM9E,MAAO,MAG/B,IADA,IAAI6Z,EAAYX,GAEZyC,EAAYnd,IACXqb,EAAYW,GAAkBlI,EAAYgI,EAAYG,IAAYkB,EAAWP,MAC1ElC,KAGR,GAAIW,IAAcX,IAAqByC,IAAcnd,EAAQ,CACzD,IAAMwB,EAAQ,IAAIub,GAAMjJ,EAAYuH,EAAW6B,EAASC,GAExD,OADAD,EAAUC,EACH,CAAC3b,MAAKA,EAAE8E,MAAM,GAGzB,MAAO,CAACA,MAAM,EAAM9E,MAAO,OAGvC,ECrhBa4b,GAAoB,EACpBC,GAAU,EACVC,GAAe,EACfC,GAAc,EAErBC,GAAY,GACZC,GAAU,GACVC,GAAkB,GAClBC,GAAuB,EACvBC,GAAQ,GACRC,GAAiB,GACjBC,GAAc,GACdC,GAAc,GACdC,GAAc,GACdC,GAAkB,GAClBC,GAAa,GACbC,GAAmB,GACnBC,GAAoB,GACpBC,GAAW,GACXC,GAAe,GACfC,GAAmB,GACnBC,GAAiB,GACjBC,GAAoB,GACpBC,GAAgB,GAChBC,GAAsB,GACtBC,GAAuB,GACvBC,GAAoB,GACpBC,GAAqB,IACrBC,GAAgB,GAChBC,GAAsB,IACtBC,GAAgB,IAChBC,GAAQ,IACRC,GAAU,IACVC,GAAwB,MACxBC,GAAW,GACXC,GAAY,GACZC,GAAQ,GACRC,GAAQ,GACRC,GAAY,GACZC,GAAY,GACZC,GAAO,EACPC,GAAY,EACZC,GAAkB,GAClBC,GAAY,GACZC,GAA4B,GAC5BC,GAAS,IACTC,IAAO,EACPC,GAAO,GACPrgB,GAAI,GACJgD,GAAI,IACJlB,GAAI,IACJ+B,GAAI,IACJK,GAAI,IACJqC,GAAI,GACJ3B,GAAI,GACJK,GAAI,GACJgC,GAAI,GACJqZ,GAAI,GAEJC,GAAU,SAAC9L,GAAsB,OAAAA,GAAa4L,IAAQ5L,GAAa,EAAM,EACzE+L,GAAuB,SAAC/L,GAAsB,OAAAA,GAAa,OAAUA,GAAa,KAAM,EACxFgM,GAAQ,SAAChM,GACX,OAAA8L,GAAQ9L,IAAeA,GAAalO,IAAKkO,GAAaxP,IAAOwP,GAAazU,IAAKyU,GAAa3S,EAA5F,EACE4e,GAAoB,SAACjM,GAAsB,OAAAA,GAAazU,IAAKyU,GAAavQ,EAAC,EAC3Eyc,GAAoB,SAAClM,GAAsB,OAAAA,GAAalO,IAAKkO,GAAa6L,EAAC,EAC3EM,GAAW,SAACnM,GAAsB,OAAAiM,GAAkBjM,IAAckM,GAAkBlM,EAAU,EAC9FoM,GAAsB,SAACpM,GAAsB,OAAAA,GAAa6K,EAAO,EACjEwB,GAAe,SAACrM,GAClB,OAAAA,IAAckJ,IAAalJ,IAAcqJ,IAAwBrJ,IAAcsJ,EAA/E,EACEgD,GAAuB,SAACtM,GAC1B,OAAAmM,GAASnM,IAAcoM,GAAoBpM,IAAcA,IAAc+J,EAAvE,EACEwC,GAAkB,SAACvM,GACrB,OAAAsM,GAAqBtM,IAAc8L,GAAQ9L,IAAcA,IAAcgK,EAAvE,EACEwC,GAA0B,SAACxM,GAC7B,OACKA,GAAaqL,IAAQrL,GAAasL,IACnCtL,IAAcuL,IACbvL,GAAawL,IAAaxL,GAAayL,IACxCzL,IAAc0L,EAEtB,EACMe,GAAgB,SAACC,EAAYC,GAC/B,OAAID,IAAOtD,IAIJuD,IAAOzD,EAClB,EACM0D,GAAoB,SAACF,EAAYC,EAAYE,GAC/C,OAAIH,IAAO1C,GACAsC,GAAqBK,IAAOF,GAAcE,EAAIE,KAC9CP,GAAqBI,MAErBA,IAAOtD,KAAmBqD,GAAcC,EAAIC,GAI3D,EAEMG,GAAgB,SAACJ,EAAYC,EAAYE,GAC3C,OAAIH,IAAO1B,IAAa0B,IAAO1C,KACvB8B,GAAQa,IAILA,IAAOvB,IAAaU,GAAQe,GAI5Bf,GADPY,IAAOtB,GACQuB,EAGJD,EACnB,EAEMK,GAAiB,SAACvN,GACpB,IAAIpR,EAAI,EACJ4e,EAAO,EACPxN,EAAWpR,KAAO4c,IAAaxL,EAAWpR,KAAO4b,KAC7CxK,EAAWpR,KAAO4b,KAClBgD,GAAQ,GAEZ5e,KAKJ,IAFA,IAAM6e,EAAW,GAEVnB,GAAQtM,EAAWpR,KACtB6e,EAASpb,KAAK2N,EAAWpR,MAG7B,IAAM8e,EAAMD,EAASvhB,OAASyhB,SAASxN,EAAa3S,WAAC,EAAGigB,GAAW,IAAM,EAErEzN,EAAWpR,KAAOgd,IAClBhd,IAIJ,IADA,IAAMgf,EAAW,GACVtB,GAAQtM,EAAWpR,KACtBgf,EAASvb,KAAK2N,EAAWpR,MAG7B,IAAMif,EAAQD,EAAS1hB,OACjB4hB,EAAOD,EAAQF,SAASxN,EAAa3S,WAAC,EAAGogB,GAAW,IAAM,EAE5D5N,EAAWpR,KAAO+B,IAAKqP,EAAWpR,KAAOG,IACzCH,IAGJ,IAAImf,EAAU,EAEV/N,EAAWpR,KAAO4c,IAAaxL,EAAWpR,KAAO4b,KAC7CxK,EAAWpR,KAAO4b,KAClBuD,GAAW,GAEfnf,KAKJ,IAFA,IAAMof,EAAW,GAEV1B,GAAQtM,EAAWpR,KACtBof,EAAS3b,KAAK2N,EAAWpR,MAG7B,IAAMqf,EAAMD,EAAS9hB,OAASyhB,SAASxN,EAAa3S,WAAC,EAAGwgB,GAAW,IAAM,EAEzE,OAAOR,GAAQE,EAAMI,EAAO5S,KAAKgT,IAAI,IAAKL,IAAU3S,KAAKgT,IAAI,GAAIH,EAAUE,EAC/E,EAEME,GAAgC,CAClChf,KAAM,GAEJif,GAAiC,CACnCjf,KAAM,GAEJkf,GAAqB,CAAClf,KAAM,GAC5Bmf,GAA4B,CAACnf,KAAM,IACnCof,GAA4B,CAACpf,KAAM,GACnCqf,GAAsB,CAACrf,KAAM,IAC7Bsf,GAA0B,CAACtf,KAAM,GACjCuf,GAA6B,CAACvf,KAAM,IACpCwf,GAAkC,CACpCxf,KAAM,IAEJyf,GAAmC,CACrCzf,KAAM,IAEJ0f,GAA+B,CAAC1f,KAAM,IACtC2f,GAAuB,CAAC3f,KAAM,IAC9B4f,GAA0B,CAAC5f,KAAM,GACjC6f,GAAmB,CAAC7f,KAAM,IAC1B8f,GAAmB,CAAC9f,KAAM,IAC1B+f,GAAqB,CAAC/f,KAAM,IAC5BggB,GAAyB,CAAChgB,KAAM,IAChCigB,GAAmC,CACrCjgB,KAAM,IAEJkgB,GAAoC,CACtClgB,KAAM,IAEJmgB,GAA0B,CAACngB,KAAM,IAC1BogB,GAAmB,CAACpgB,KAAM,IAEvCqgB,GAAA,WAGI,SAAAA,IACI5e,KAAK6e,OAAS,GAyetB,OAteID,EAAA5iB,UAAA8iB,MAAA,SAAMC,GACF/e,KAAK6e,OAAS7e,KAAK6e,OAAO5W,OAAOiH,EAAa6P,KAGlDH,EAAA5iB,UAAAgjB,KAAA,WAGI,IAFA,IAAMC,EAAS,GACXC,EAAQlf,KAAKmf,eACVD,IAAUP,IACbM,EAAOxd,KAAKyd,GACZA,EAAQlf,KAAKmf,eAEjB,OAAOF,GAGHL,EAAA5iB,UAAAmjB,aAAR,WACI,IAAMvP,EAAY5P,KAAKof,mBAEvB,OAAQxP,GACJ,KAAKuJ,GACD,OAAOnZ,KAAKqf,mBAAmBlG,IACnC,KAAKE,GACD,IAAMiD,EAAKtc,KAAKsf,cAAc,GACxB/C,EAAKvc,KAAKsf,cAAc,GACxB7C,EAAKzc,KAAKsf,cAAc,GAC9B,GAAInD,GAAgBG,IAAOD,GAAcE,EAAIE,GAAK,CAC9C,IAAM5gB,EAAQ2gB,GAAkBF,EAAIC,EAAIE,GAAM9D,GAAUD,GAGxD,MAAO,CAACna,KAAM,EAAsBzB,MAFtBkD,KAAKuf,cAEwB1jB,MAAKA,GAEpD,MACJ,KAAKyd,GACD,GAAItZ,KAAKsf,cAAc,KAAOlG,GAE1B,OADApZ,KAAKof,mBACE1B,GAEX,MACJ,KAAKlE,GACD,OAAOxZ,KAAKqf,mBAAmB7F,IACnC,KAAKC,GACD,OAAO8D,GACX,KAAK7D,GACD,OAAO8D,GACX,KAAK7C,GACD,GAAI3a,KAAKsf,cAAc,KAAOlG,GAE1B,OADApZ,KAAKof,mBACEnB,GAEX,MACJ,KAAKrD,GACD,GAAI8B,GAAc9M,EAAW5P,KAAKsf,cAAc,GAAItf,KAAKsf,cAAc,IAEnE,OADAtf,KAAKwf,mBAAmB5P,GACjB5P,KAAKyf,sBAEhB,MACJ,KAAK5E,GACD,OAAO4C,GACX,KAAK7D,GACD,IAAM8F,EAAK9P,EACL+P,EAAK3f,KAAKsf,cAAc,GACxBM,EAAK5f,KAAKsf,cAAc,GAE9B,GAAI5C,GAAcgD,EAAIC,EAAIC,GAEtB,OADA5f,KAAKwf,mBAAmB5P,GACjB5P,KAAKyf,sBAGhB,GAAIjD,GAAkBkD,EAAIC,EAAIC,GAE1B,OADA5f,KAAKwf,mBAAmB5P,GACjB5P,KAAK6f,wBAGhB,GAAIF,IAAO/F,IAAgBgG,IAAO7F,GAG9B,OAFA/Z,KAAKof,mBACLpf,KAAKof,mBACEf,GAEX,MAEJ,KAAKrD,GACD,GAAI0B,GAAc9M,EAAW5P,KAAKsf,cAAc,GAAItf,KAAKsf,cAAc,IAEnE,OADAtf,KAAKwf,mBAAmB5P,GACjB5P,KAAKyf,sBAEhB,MACJ,KAAK1G,GACD,GAAI/Y,KAAKsf,cAAc,KAAO3E,GAE1B,IADA3a,KAAKof,qBACQ,CACT,IAAIphB,EAAIgC,KAAKof,mBACb,GAAIphB,IAAM2c,KACN3c,EAAIgC,KAAKof,sBACCrG,GACN,OAAO/Y,KAAKmf,eAGpB,GAAInhB,IAAMud,GACN,OAAOvb,KAAKmf,eAIxB,MACJ,KAAKrE,GACD,OAAOwD,GACX,KAAKvD,GACD,OAAOwD,GACX,KAAKzE,GACD,GACI9Z,KAAKsf,cAAc,KAAOzF,IAC1B7Z,KAAKsf,cAAc,KAAO1F,IAC1B5Z,KAAKsf,cAAc,KAAO1F,GAI1B,OAFA5Z,KAAKof,mBACLpf,KAAKof,mBACEhB,GAEX,MACJ,KAAKpE,GACD,IAAM8F,EAAK9f,KAAKsf,cAAc,GACxBS,EAAK/f,KAAKsf,cAAc,GACxBU,EAAKhgB,KAAKsf,cAAc,GAC9B,GAAI9C,GAAkBsD,EAAIC,EAAIC,GAE1B,MAAO,CAACzhB,KAAM,EAA4BzB,MAD5BkD,KAAKuf,eAGvB,MACJ,KAAKtF,GACD,OAAOuE,GACX,KAAKxF,GACD,GAAIqD,GAAczM,EAAW5P,KAAKsf,cAAc,IAE5C,OADAtf,KAAKwf,mBAAmB5P,GACjB5P,KAAK6f,wBAEhB,MACJ,KAAK3F,GACD,OAAOuE,GACX,KAAKtE,GACD,GAAIna,KAAKsf,cAAc,KAAOlG,GAE1B,OADApZ,KAAKof,mBACEzB,GAEX,MACJ,KAAKvD,GACD,OAAO2D,GACX,KAAKzD,GACD,OAAO0D,GACX,KAAKhf,GACL,KAAKoD,GACD,IAAM6d,EAAKjgB,KAAKsf,cAAc,GACxBY,EAAKlgB,KAAKsf,cAAc,GAM9B,OALIW,IAAOrF,KAAcgB,GAAMsE,IAAOA,IAAO7F,KACzCra,KAAKof,mBACLpf,KAAKmgB,4BAETngB,KAAKwf,mBAAmB5P,GACjB5P,KAAK6f,wBAChB,KAAKtF,GACD,GAAIva,KAAKsf,cAAc,KAAOlG,GAE1B,OADApZ,KAAKof,mBACEvB,GAEX,GAAI7d,KAAKsf,cAAc,KAAO/E,GAE1B,OADAva,KAAKof,mBACExB,GAEX,MACJ,KAAKpD,GACD,GAAIxa,KAAKsf,cAAc,KAAOlG,GAE1B,OADApZ,KAAKof,mBACEtB,GAEX,MACJ,KAAKvC,GACD,OAAOoD,GAGf,OAAI1C,GAAarM,IACb5P,KAAKogB,oBACE1B,IAGPhD,GAAQ9L,IACR5P,KAAKwf,mBAAmB5P,GACjB5P,KAAKyf,uBAGZvD,GAAqBtM,IACrB5P,KAAKwf,mBAAmB5P,GACjB5P,KAAK6f,yBAGT,CAACthB,KAAM,EAAuBzB,MAAOyS,EAAcK,KAGtDgP,EAAA5iB,UAAAojB,iBAAR,WACI,IAAMtiB,EAAQkD,KAAK6e,OAAOwB,QAE1B,MAAwB,qBAAVvjB,GAAyB,EAAIA,GAGvC8hB,EAAA5iB,UAAAwjB,mBAAR,SAA2B5P,GACvB5P,KAAK6e,OAAOyB,QAAQ1Q,IAGhBgP,EAAA5iB,UAAAsjB,cAAR,SAAsBiB,GAClB,OAAIA,GAASvgB,KAAK6e,OAAOvjB,QACb,EAGL0E,KAAK6e,OAAO0B,IAGf3B,EAAA5iB,UAAAmkB,yBAAR,WAGI,IAFA,IAAMK,EAAS,GACX5Q,EAAY5P,KAAKof,mBACdxD,GAAMhM,IAAc4Q,EAAOllB,OAAS,GACvCklB,EAAO/e,KAAKmO,GACZA,EAAY5P,KAAKof,mBAGrB,IADA,IAAIqB,GAAgB,EACb7Q,IAAcyK,IAAiBmG,EAAOllB,OAAS,GAClDklB,EAAO/e,KAAKmO,GACZA,EAAY5P,KAAKof,mBACjBqB,GAAgB,EAGpB,GAAIA,EAMA,MAAO,CAACliB,KAAM,GAA+BqT,MAL/BmL,SACVxN,EAAa3S,WAAC,EAAG4jB,EAAO5d,KAAI,SAAC8d,GAAU,OAACA,IAAUrG,GAAgBmB,GAAOkF,CAAK,KAC9E,IAGgD7O,IADxCkL,SAASxN,EAAa3S,WAAC,EAAG4jB,EAAO5d,KAAI,SAAC8d,GAAU,OAACA,IAAUrG,GAAgBja,GAAIsgB,CAAK,KAAK,KAIzG,IAAM9O,EAAQmL,SAASxN,EAAa3S,WAAC,EAAG4jB,GAAS,IACjD,GAAIxgB,KAAKsf,cAAc,KAAO1F,IAAgBgC,GAAM5b,KAAKsf,cAAc,IAAK,CACxEtf,KAAKof,mBACLxP,EAAY5P,KAAKof,mBAEjB,IADA,IAAMuB,EAAY,GACX/E,GAAMhM,IAAc+Q,EAAUrlB,OAAS,GAC1CqlB,EAAUlf,KAAKmO,GACfA,EAAY5P,KAAKof,mBAIrB,MAAO,CAAC7gB,KAAM,GAA+BqT,MAAKA,EAAEC,IAFxCkL,SAASxN,EAAa3S,WAAC,EAAG+jB,GAAY,KAIlD,MAAO,CAACpiB,KAAM,GAA+BqT,MAAKA,EAAEC,IAAKD,IAIzDgN,EAAA5iB,UAAA6jB,sBAAR,WACI,IAAM/iB,EAAQkD,KAAKuf,cACnB,MAA4B,QAAxBziB,EAAM8jB,eAA2B5gB,KAAKsf,cAAc,KAAO7F,IAC3DzZ,KAAKof,mBACEpf,KAAK6gB,mBACL7gB,KAAKsf,cAAc,KAAO7F,IACjCzZ,KAAKof,mBACE,CAAC7gB,KAAM,GAA0BzB,MAAKA,IAG1C,CAACyB,KAAM,GAAuBzB,MAAKA,IAGtC8hB,EAAA5iB,UAAA6kB,gBAAR,WACI,IAAM/jB,EAAQ,GAGd,GAFAkD,KAAKogB,oBAEDpgB,KAAKsf,cAAc,KAAO/D,GAC1B,MAAO,CAAChd,KAAM,GAAqBzB,MAAO,IAG9C,IAAM6E,EAAO3B,KAAKsf,cAAc,GAChC,GAAI3d,IAAS6X,IAAc7X,IAASwX,GAAgB,CAChD,IAAM2H,EAAc9gB,KAAKqf,mBAAmBrf,KAAKof,oBACjD,OAAyB,IAArB0B,EAAYviB,OACZyB,KAAKogB,oBAEDpgB,KAAKsf,cAAc,KAAO/D,IAAOvb,KAAKsf,cAAc,KAAO5F,KAC3D1Z,KAAKof,mBACE,CAAC7gB,KAAM,GAAqBzB,MAAOgkB,EAAYhkB,SAI9DkD,KAAK+gB,wBACE7C,IAGX,OAAa,CACT,IAAMtO,EAAY5P,KAAKof,mBACvB,GAAIxP,IAAc2L,IAAO3L,IAAc8J,GACnC,MAAO,CAACnb,KAAM,GAAqBzB,MAAOyS,EAAa3S,WAAC,EAAGE,IACxD,GAAImf,GAAarM,GAEpB,OADA5P,KAAKogB,oBACDpgB,KAAKsf,cAAc,KAAO/D,IAAOvb,KAAKsf,cAAc,KAAO5F,IAC3D1Z,KAAKof,mBACE,CAAC7gB,KAAM,GAAqBzB,MAAOyS,EAAa3S,WAAC,EAAGE,MAE/DkD,KAAK+gB,wBACE7C,IACJ,GACHtO,IAAcuJ,IACdvJ,IAAc4J,IACd5J,IAAc6J,IACd2C,GAAwBxM,GAGxB,OADA5P,KAAK+gB,wBACE7C,GACJ,GAAItO,IAAcoJ,GAAiB,CACtC,IAAIqD,GAAczM,EAAW5P,KAAKsf,cAAc,IAI5C,OADAtf,KAAK+gB,wBACE7C,GAHPphB,EAAM2E,KAAKzB,KAAKghB,gCAMpBlkB,EAAM2E,KAAKmO,KAKfgP,EAAA5iB,UAAAokB,kBAAR,WACI,KAAOnE,GAAajc,KAAKsf,cAAc,KACnCtf,KAAKof,oBAILR,EAAA5iB,UAAA+kB,sBAAR,WACI,OAAa,CACT,IAAMnR,EAAY5P,KAAKof,mBACvB,GAAIxP,IAAc8J,IAAqB9J,IAAc2L,GACjD,OAGAc,GAAczM,EAAW5P,KAAKsf,cAAc,KAC5Ctf,KAAKghB,4BAKTpC,EAAA5iB,UAAAilB,mBAAR,SAA2Bne,GAGvB,IAFA,IAAMoe,EAAmB,IACrBpkB,EAAQ,GACLgG,EAAQ,GAAG,CACd,IAAMqe,EAAS7W,KAAK8W,IAAIF,EAAkBpe,GAC1ChG,GAASyS,EAAa3S,WAAC,EAAGoD,KAAK6e,OAAOwC,OAAO,EAAGF,IAChDre,GAASqe,EAIb,OAFAnhB,KAAK6e,OAAOwB,QAELvjB,GAGH8hB,EAAA5iB,UAAAqjB,mBAAR,SAA2BiC,GAIvB,IAHA,IAAIxkB,EAAQ,GACRvB,EAAI,IAEL,CACC,IAAMqU,EAAY5P,KAAK6e,OAAOtjB,GAC9B,GAAIqU,IAAc2L,SAAqBnD,IAAdxI,GAA2BA,IAAc0R,EAE9D,MAAO,CAAC/iB,KAAM,EAAwBzB,MADtCA,GAASkD,KAAKihB,mBAAmB1lB,IAIrC,GAAIqU,IAAckJ,GAEd,OADA9Y,KAAK6e,OAAOwC,OAAO,EAAG9lB,GACf4iB,GAGX,GAAIvO,IAAcoJ,GAAiB,CAC/B,IAAMrX,EAAO3B,KAAK6e,OAAOtjB,EAAI,GACzBoG,IAAS4Z,SAAgBnD,IAATzW,IACZA,IAASmX,IACThc,GAASkD,KAAKihB,mBAAmB1lB,GACjCA,GAAK,EACLyE,KAAK6e,OAAOwB,SACLhE,GAAczM,EAAWjO,KAChC7E,GAASkD,KAAKihB,mBAAmB1lB,GACjCuB,GAASyS,EAAcvP,KAAKghB,2BAC5BzlB,GAAK,IAKjBA,MAIAqjB,EAAA5iB,UAAAulB,cAAR,WACI,IAAMC,EAAO,GACTjjB,EAAOqa,GACP0D,EAAKtc,KAAKsf,cAAc,GAK5B,IAJIhD,IAAO1B,IAAa0B,IAAO1C,IAC3B4H,EAAK/f,KAAKzB,KAAKof,oBAGZ1D,GAAQ1b,KAAKsf,cAAc,KAC9BkC,EAAK/f,KAAKzB,KAAKof,oBAEnB9C,EAAKtc,KAAKsf,cAAc,GACxB,IAAI/C,EAAKvc,KAAKsf,cAAc,GAC5B,GAAIhD,IAAOtB,IAAaU,GAAQa,GAG5B,IAFAiF,EAAK/f,KAAKzB,KAAKof,mBAAoBpf,KAAKof,oBACxC7gB,EAAOsa,GACA6C,GAAQ1b,KAAKsf,cAAc,KAC9BkC,EAAK/f,KAAKzB,KAAKof,oBAIvB9C,EAAKtc,KAAKsf,cAAc,GACxB/C,EAAKvc,KAAKsf,cAAc,GACxB,IAAM7C,EAAKzc,KAAKsf,cAAc,GAC9B,IAAKhD,IAAOvc,IAAKuc,IAAOne,OAASoe,IAAO3B,IAAa2B,IAAO3C,KAAiB8B,GAAQe,IAAQf,GAAQa,IAGjG,IAFAiF,EAAK/f,KAAKzB,KAAKof,mBAAoBpf,KAAKof,oBACxC7gB,EAAOsa,GACA6C,GAAQ1b,KAAKsf,cAAc,KAC9BkC,EAAK/f,KAAKzB,KAAKof,oBAIvB,MAAO,CAACzC,GAAe6E,GAAOjjB,IAG1BqgB,EAAA5iB,UAAAyjB,oBAAR,WACU,IAAAzH,EAAkBhY,KAAKuhB,gBAAtBE,EAAMzJ,EAAA,GAAEnc,EAAKmc,EAAA,GACdsE,EAAKtc,KAAKsf,cAAc,GACxB/C,EAAKvc,KAAKsf,cAAc,GACxB7C,EAAKzc,KAAKsf,cAAc,GAE9B,OAAI9C,GAAkBF,EAAIC,EAAIE,GAEnB,CAACle,KAAM,GAA2BkjB,OAAMA,EAAE5lB,MAAKA,EAAE6lB,KAD3C1hB,KAAKuf,eAIlBjD,IAAO/C,IACPvZ,KAAKof,mBACE,CAAC7gB,KAAM,GAA4BkjB,OAAMA,EAAE5lB,MAAKA,IAGpD,CAAC0C,KAAM,GAAwBkjB,OAAMA,EAAE5lB,MAAKA,IAG/C+iB,EAAA5iB,UAAAglB,wBAAR,WACI,IAAMpR,EAAY5P,KAAKof,mBAEvB,GAAIxD,GAAMhM,GAAY,CAElB,IADA,IAAI+R,EAAMpS,EAAcK,GACjBgM,GAAM5b,KAAKsf,cAAc,KAAOqC,EAAIrmB,OAAS,GAChDqmB,GAAOpS,EAAcvP,KAAKof,oBAG1BnD,GAAajc,KAAKsf,cAAc,KAChCtf,KAAKof,mBAGT,IAAMwC,EAAe7E,SAAS4E,EAAK,IAEnC,OAAqB,IAAjBC,GAAsBjG,GAAqBiG,IAAiBA,EAAe,QACpElH,GAGJkH,EAGX,OAAIhS,IAAc2L,GACPb,GAGJ9K,GAGHgP,EAAA5iB,UAAAujB,YAAR,WAEI,IADA,IAAIjT,EAAS,KACA,CACT,IAAMsD,EAAY5P,KAAKof,mBACvB,GAAIjD,GAAgBvM,GAChBtD,GAAUiD,EAAcK,OACrB,KAAIyM,GAAczM,EAAW5P,KAAKsf,cAAc,IAInD,OADAtf,KAAKwf,mBAAmB5P,GACjBtD,EAHPA,GAAUiD,EAAcvP,KAAKghB,8BAO7CpC,CAAA,CA7eA,GC1RAiD,GAAA,WAGI,SAAAA,EAAY5C,GACRjf,KAAK8hB,QAAU7C,EA6GvB,OA1GW4C,EAAArW,OAAP,SAAc1O,GACV,IAAMilB,EAAY,IAAInD,GAEtB,OADAmD,EAAUjD,MAAMhiB,GACT,IAAI+kB,EAAOE,EAAU/C,SAGzB6C,EAAAllB,WAAP,SAAkBG,GACd,OAAO+kB,EAAOrW,OAAO1O,GAAOklB,uBAGzBH,EAAAI,YAAP,SAAmBnlB,GACf,OAAO+kB,EAAOrW,OAAO1O,GAAOolB,wBAGhCL,EAAA7lB,UAAAgmB,oBAAA,WAEI,IADA,IAAI9C,EAAQlf,KAAKmf,eACK,KAAfD,EAAM3gB,MACT2gB,EAAQlf,KAAKmf,eAGjB,GAAmB,KAAfD,EAAM3gB,KACN,MAAM,IAAI4jB,YAAY,qDAG1BniB,KAAKoiB,eAAelD,GACpB,IAAMpiB,EAAQkD,KAAKqiB,wBAEnB,GACInD,EAAQlf,KAAKmf,qBACO,KAAfD,EAAM3gB,MAEf,GAAmB,KAAf2gB,EAAM3gB,KACN,OAAOzB,EAGX,MAAM,IAAIqlB,YAAY,qFAG1BN,EAAA7lB,UAAAkmB,qBAAA,WAEI,IADA,IAAMI,EAAS,KACF,CACT,IAAMxlB,EAAQkD,KAAKqiB,wBACnB,GAAmB,KAAfvlB,EAAMyB,KACN,OAAO+jB,EAEXA,EAAO7gB,KAAK3E,GACZwlB,EAAO7gB,SAIPogB,EAAA7lB,UAAAqmB,sBAAR,WACI,IAAMnD,EAAQlf,KAAKmf,eAEnB,OAAQD,EAAM3gB,MACV,KAAK,GACL,KAAK,GACL,KAAK,EACD,OAAOyB,KAAKuiB,mBAAmBrD,EAAM3gB,MACzC,KAAK,GACD,OAAOyB,KAAKwiB,gBAAgBtD,GAGpC,OAAOA,GAGH2C,EAAA7lB,UAAAumB,mBAAR,SAA2BhkB,GAIvB,IAHA,IAAMkkB,EAAkB,CAAClkB,KAAIA,EAAE+jB,OAAQ,IAEnCpD,EAAQlf,KAAKmf,iBACJ,CACT,GAAmB,KAAfD,EAAM3gB,MAAgCmkB,GAAiBxD,EAAO3gB,GAC9D,OAAOkkB,EAGXziB,KAAKoiB,eAAelD,GACpBuD,EAAMH,OAAO7gB,KAAKzB,KAAKqiB,yBACvBnD,EAAQlf,KAAKmf,iBAIb0C,EAAA7lB,UAAAwmB,gBAAR,SAAwBG,GAOpB,IANA,IAAMC,EAA2B,CAC7Bjc,KAAMgc,EAAc7lB,MACpBwlB,OAAQ,GACR/jB,KAAM,MAGG,CACT,IAAM2gB,EAAQlf,KAAKmf,eACnB,GAAmB,KAAfD,EAAM3gB,MAA+C,IAAf2gB,EAAM3gB,KAC5C,OAAOqkB,EAGX5iB,KAAKoiB,eAAelD,GACpB0D,EAAYN,OAAO7gB,KAAKzB,KAAKqiB,2BAI7BR,EAAA7lB,UAAAmjB,aAAR,WACI,IAAMD,EAAQlf,KAAK8hB,QAAQzB,QAC3B,MAAwB,qBAAVnB,EAAwBP,GAAYO,GAG9C2C,EAAA7lB,UAAAomB,eAAR,SAAuBlD,GACnBlf,KAAK8hB,QAAQxB,QAAQpB,IAE7B2C,CAAA,CAjHA,GAmHagB,GAAmB,SAAC3D,GAA6C,OAAe,KAAfA,EAAM3gB,IAAI,EAC3EukB,GAAgB,SAAC5D,GAA+C,OAAe,KAAfA,EAAM3gB,IAAI,EAC1EwkB,GAAe,SAAC7D,GAA+C,OAAe,KAAfA,EAAM3gB,IAAI,EACzEykB,GAAgB,SAAC9D,GAA+C,OAAe,IAAfA,EAAM3gB,IAAI,EAC1E0kB,GAAmB,SAAC/D,EAAiBpiB,GAC9C,OAAAimB,GAAa7D,IAAUA,EAAMpiB,QAAUA,CAAvC,EAESomB,GAAgB,SAAChE,GAA6B,OAAe,KAAfA,EAAM3gB,IAAI,EACxD4kB,GAA0B,SAACjE,GACpC,OAAe,KAAfA,EAAM3gB,MAAsD,IAAf2gB,EAAM3gB,IAAnD,EAES6kB,GAAoB,SAACnE,GAC9B,IAAMoE,EAAqB,GACvB5mB,EAAkB,GAmBtB,OAlBAwiB,EAAOpc,SAAQ,SAACqc,GACZ,GAAmB,IAAfA,EAAM3gB,KAAgC,CACtC,GAAmB,IAAf9B,EAAInB,OACJ,MAAM,IAAIkF,MAAM,oDAIpB,OAFA6iB,EAAK5hB,KAAKhF,QACVA,EAAM,IAIS,KAAfyiB,EAAM3gB,MACN9B,EAAIgF,KAAKyd,MAGbziB,EAAInB,QACJ+nB,EAAK5hB,KAAKhF,GAGP4mB,CACX,EAEMX,GAAmB,SAACxD,EAAiB3gB,GACvC,OAAa,KAATA,GAA8D,KAAf2gB,EAAM3gB,MAG5C,KAATA,GAA+D,KAAf2gB,EAAM3gB,MAI1C,IAATA,GAA4D,IAAf2gB,EAAM3gB,IAC9D,ECtLa+kB,GAAW,SAACpE,GACrB,OAAe,KAAfA,EAAM3gB,MAAkD,KAAf2gB,EAAM3gB,IAA/C,ECASglB,GAAqB,SAACrE,GAC/B,OAAe,KAAfA,EAAM3gB,MAAuC+kB,GAASpE,EAAtD,EACSsE,GAA6B,SAACvE,GACvC,OAAAA,EAAO3jB,OAAS,EAAI,CAAC2jB,EAAO,GAAIA,EAAO,IAAM,CAACA,EAAO,GAArD,EACSwE,GAAgC,CACzCllB,KAAM,GACNkjB,OAAQ,EACR5lB,MAAO+c,IAGE8K,GAAkC,CAC3CnlB,KAAM,GACNkjB,OAAQ,GACR5lB,MAAO+c,IAGE+K,GAAoC,CAC7CplB,KAAM,GACNkjB,OAAQ,IACR5lB,MAAO+c,IAGEgL,GAA2B,SACpCC,EACApW,EACAC,GAEO,IAAAvO,EAAQ0kB,EAAK,GAAVzkB,EAAKykB,EAAK,GACpB,MAAO,CAACC,GAAiB3kB,EAAGsO,GAAQqW,GAA8B,qBAAN1kB,EAAoBA,EAAID,EAAGuO,GAC3F,EACaoW,GAAmB,SAAC5E,EAAyB6E,GACtD,GAAmB,KAAf7E,EAAM3gB,KACN,OAAQ2gB,EAAMuC,OAAS,IAAOsC,EAGlC,GAAIlB,GAAiB3D,GACjB,OAAQA,EAAMwC,MACV,IAAK,MACL,IAAK,KACD,OAAO,GAAKxC,EAAMuC,OAEtB,QACI,OAAOvC,EAAMuC,OAIzB,OAAOvC,EAAMuC,MACjB,EC9CMuC,GAAM,MACNC,GAAO,OACPC,GAAM,MACNC,GAAO,OAEAC,GAAiC,CAC1Czd,KAAM,QACN0d,MAAO,SAACrgB,EAAmBlH,GACvB,GAAmB,KAAfA,EAAMyB,KACN,OAAQzB,EAAM4kB,MACV,KAAKsC,GACD,OAAQ1Z,KAAKga,GAAKxnB,EAAM2kB,OAAU,IACtC,KAAKwC,GACD,OAAQ3Z,KAAKga,GAAK,IAAOxnB,EAAM2kB,OACnC,KAAKyC,GACD,OAAOpnB,EAAM2kB,OACjB,KAAK0C,GACD,OAAiB,EAAV7Z,KAAKga,GAASxnB,EAAM2kB,OAIvC,MAAM,IAAIjhB,MAAM,4BAIX+jB,GAAU,SAACznB,GACpB,OAAmB,KAAfA,EAAMyB,OACFzB,EAAM4kB,OAASsC,IAAOlnB,EAAM4kB,OAASuC,IAAQnnB,EAAM4kB,OAASwC,IAAOpnB,EAAM4kB,OAASyC,GAK9F,EAEaK,GAAiB,SAACvF,GAM3B,OALqBA,EAChBwF,OAAO1B,IACPngB,KAAI,SAAC8hB,GAAU,OAAAA,EAAM5nB,KAAK,IAC1BgF,KAAK,MAGN,IAAK,kBACL,IAAK,kBACL,IAAK,WACL,IAAK,WACD,MAAO,CAAC2hB,GAAaA,IACzB,IAAK,SACL,IAAK,SACD,OAAOkB,GAAI,GACf,IAAK,iBACL,IAAK,iBACL,IAAK,YACL,IAAK,YACD,MAAO,CAAClB,GAAaE,IACzB,IAAK,WACL,IAAK,OACD,OAAOgB,GAAI,IACf,IAAK,cACL,IAAK,cACL,IAAK,eACL,IAAK,eACD,MAAO,CAAChB,GAAiBA,IAC7B,IAAK,YACL,IAAK,MACD,OAAOgB,GAAI,KACf,IAAK,eACL,IAAK,eACL,IAAK,cACL,IAAK,cACD,MAAO,CAAChB,GAAiBF,IAC7B,IAAK,UACL,IAAK,QACD,OAAOkB,GAAI,KAGnB,OAAO,CACX,EAEaA,GAAM,SAACA,GAAwB,OAACra,KAAKga,GAAKK,EAAO,GAAG,EC7EpDC,GAAgC,CACzCje,KAAM,QACN0d,MAAO,SAACpkB,EAAkBnD,GACtB,GAAmB,KAAfA,EAAMyB,KAA6B,CACnC,IAAMsmB,EAAgBC,GAA0BhoB,EAAM6J,MACtD,GAA6B,qBAAlBke,EACP,MAAM,IAAIrkB,MAAM,sDAAsD1D,EAAM6J,KAAI,KAEpF,OAAOke,EAAc5kB,EAASnD,EAAMwlB,QAGxC,GAAmB,IAAfxlB,EAAMyB,KAA+B,CACrC,GAA2B,IAAvBzB,EAAMA,MAAMxB,OAAc,CAC1B,IAAMwD,EAAIhC,EAAMA,MAAMioB,UAAU,EAAG,GAC7B9mB,EAAInB,EAAMA,MAAMioB,UAAU,EAAG,GAC7B3pB,EAAI0B,EAAMA,MAAMioB,UAAU,EAAG,GACnC,OAAO5X,GAAK4P,SAASje,EAAIA,EAAG,IAAKie,SAAS9e,EAAIA,EAAG,IAAK8e,SAAS3hB,EAAIA,EAAG,IAAK,GAG/E,GAA2B,IAAvB0B,EAAMA,MAAMxB,OAAc,CACpBwD,EAAIhC,EAAMA,MAAMioB,UAAU,EAAG,GAC7B9mB,EAAInB,EAAMA,MAAMioB,UAAU,EAAG,GAC7B3pB,EAAI0B,EAAMA,MAAMioB,UAAU,EAAG,GAFnC,IAGM5pB,EAAI2B,EAAMA,MAAMioB,UAAU,EAAG,GACnC,OAAO5X,GAAK4P,SAASje,EAAIA,EAAG,IAAKie,SAAS9e,EAAIA,EAAG,IAAK8e,SAAS3hB,EAAIA,EAAG,IAAK2hB,SAAS5hB,EAAIA,EAAG,IAAM,KAGrG,GAA2B,IAAvB2B,EAAMA,MAAMxB,OAIZ,OAHMwD,EAAIhC,EAAMA,MAAMioB,UAAU,EAAG,GAC7B9mB,EAAInB,EAAMA,MAAMioB,UAAU,EAAG,GAC7B3pB,EAAI0B,EAAMA,MAAMioB,UAAU,EAAG,GAC5B5X,GAAK4P,SAASje,EAAG,IAAKie,SAAS9e,EAAG,IAAK8e,SAAS3hB,EAAG,IAAK,GAGnE,GAA2B,IAAvB0B,EAAMA,MAAMxB,OAKZ,OAJMwD,EAAIhC,EAAMA,MAAMioB,UAAU,EAAG,GAC7B9mB,EAAInB,EAAMA,MAAMioB,UAAU,EAAG,GAC7B3pB,EAAI0B,EAAMA,MAAMioB,UAAU,EAAG,GAC7B5pB,EAAI2B,EAAMA,MAAMioB,UAAU,EAAG,GAC5B5X,GAAK4P,SAASje,EAAG,IAAKie,SAAS9e,EAAG,IAAK8e,SAAS3hB,EAAG,IAAK2hB,SAAS5hB,EAAG,IAAM,KAIzF,GAAmB,KAAf2B,EAAMyB,KAAgC,CACtC,IAAMymB,EAAaC,GAAOnoB,EAAMA,MAAMooB,eACtC,GAA0B,qBAAfF,EACP,OAAOA,EAIf,OAAOC,GAAOE,cAITC,GAAgB,SAACC,GAA0B,OAAmB,KAAlB,IAAOA,EAAY,EAE/DC,GAAW,SAACD,GACrB,IAAME,EAAQ,IAAOF,EACfG,EAAO,IAAQH,GAAS,EACxBI,EAAQ,IAAQJ,GAAS,GACzBK,EAAM,IAAQL,GAAS,GAC7B,OAAOE,EAAQ,IAAM,QAAQG,EAAG,IAAID,EAAK,IAAID,EAAI,IAAID,EAAQ,IAAG,IAAM,OAAOG,EAAG,IAAID,EAAK,IAAID,EAAI,GACrG,EAEarY,GAAO,SAACrO,EAAWb,EAAW7C,EAAWD,GAClD,OAAE2D,GAAK,GAAOb,GAAK,GAAO7C,GAAK,EAAMkP,KAAKqb,MAAU,IAAJxqB,MAAoB,CAApE,EAEEyqB,GAAqB,SAAC1G,EAAiB3jB,GACzC,GAAmB,KAAf2jB,EAAM3gB,KACN,OAAO2gB,EAAMuC,OAGjB,GAAmB,KAAfvC,EAAM3gB,KAAqC,CAC3C,IAAMoQ,EAAY,IAANpT,EAAU,EAAI,IAC1B,OAAa,IAANA,EAAW2jB,EAAMuC,OAAS,IAAO9S,EAAMrE,KAAKqb,MAAOzG,EAAMuC,OAAS,IAAO9S,GAGpF,OAAO,CACX,EAEMkX,GAAM,SAAC7hB,EAAmBqf,GAC5B,IAAMpE,EAASoE,EAAKoB,OAAOtB,IAE3B,GAAsB,IAAlBlE,EAAO3jB,OAAc,CACf,IAAA0c,EAAYiH,EAAOrc,IAAIgjB,IAAtB9mB,EAACkZ,EAAA,GAAE/Z,EAAC+Z,EAAA,GAAE5c,EAAC4c,EAAA,GACd,OAAO7K,GAAKrO,EAAGb,EAAG7C,EAAG,GAGzB,GAAsB,IAAlB6jB,EAAO3jB,OAAc,CACf,IAAAwqB,EAAe7G,EAAOrc,IAAIgjB,IAAhBzqB,GAAT2D,EAACgnB,EAAA,GAAE7nB,EAAC6nB,EAAA,GAAE1qB,EAAC0qB,EAAA,GAAGA,EAAA,IACjB,OAAO3Y,GAAKrO,EAAGb,EAAG7C,EAAGD,GAGzB,OAAO,CACX,EAEA,SAAS4qB,GAAQC,EAAYC,EAAYC,GAQrC,OAPIA,EAAM,IACNA,GAAO,GAEPA,GAAO,IACPA,GAAO,GAGPA,EAAM,EAAI,GACFD,EAAKD,GAAME,EAAM,EAAIF,EACtBE,EAAM,GACND,EACAC,EAAM,EAAI,EACE,GAAXD,EAAKD,IAAW,EAAI,EAAIE,GAAOF,EAEhCA,CAEf,CAEA,IAAMG,GAAM,SAAClmB,EAAkBojB,GAC3B,IAAMpE,EAASoE,EAAKoB,OAAOtB,IACpB+C,EAAqCjH,EAAM,GAAtCmH,EAAgCnH,EAAM,GAA1BoH,EAAoBpH,EAAM,GAAfsG,EAAStG,EAAM,GAE5C7gB,GAAkB,KAAb8nB,EAAI3nB,KAAkComB,GAAIuB,EAAIzE,QAAU2C,GAAMC,MAAMpkB,EAASimB,KAAmB,EAAV5b,KAAKga,IAChG5Y,EAAI6X,GAAmB6C,GAAcA,EAAW3E,OAAS,IAAM,EAC/DnkB,EAAIimB,GAAmB8C,GAAaA,EAAU5E,OAAS,IAAM,EAC7DtmB,EAAqB,qBAAVoqB,GAAyBhC,GAAmBgC,GAASzB,GAAiByB,EAAO,GAAK,EAEnG,GAAU,IAAN7Z,EACA,OAAOyB,GAAS,IAAJ7P,EAAa,IAAJA,EAAa,IAAJA,EAAS,GAG3C,IAAM2oB,EAAK3oB,GAAK,GAAMA,GAAKoO,EAAI,GAAKpO,EAAIoO,EAAIpO,EAAIoO,EAE1Csa,EAAS,EAAJ1oB,EAAQ2oB,EACbnnB,EAAIinB,GAAQC,EAAIC,EAAI7nB,EAAI,EAAI,GAC5BH,EAAI8nB,GAAQC,EAAIC,EAAI7nB,GACpBhD,EAAI2qB,GAAQC,EAAIC,EAAI7nB,EAAI,EAAI,GAClC,OAAO+O,GAAS,IAAJrO,EAAa,IAAJb,EAAa,IAAJ7C,EAASD,EAC3C,EAEM2pB,GAEF,CACAqB,IAAKA,GACLG,KAAMH,GACNN,IAAKA,GACLU,KAAMV,IAGGW,GAAa,SAACvmB,EAAkBnD,GACzC,OAAA8nB,GAAMP,MAAMpkB,EAAS4hB,GAAOrW,OAAO1O,GAAOklB,sBAA1C,EAESiD,GAAiC,CAC1CwB,UAAW,WACXC,aAAc,WACdC,KAAM,SACNC,WAAY,WACZC,MAAO,WACPC,MAAO,WACPC,OAAQ,WACRC,MAAO,IACPC,eAAgB,WAChBC,KAAM,MACNC,WAAY,WACZC,MAAO,WACPC,UAAW,WACXC,UAAW,WACXC,WAAY,WACZC,UAAW,WACXC,MAAO,WACPC,eAAgB,WAChBC,SAAU,WACVC,QAAS,WACTC,KAAM,SACNC,SAAU,MACVC,SAAU,QACVC,cAAe,WACfC,SAAU,WACVC,UAAW,QACXC,SAAU,WACVC,UAAW,WACXC,YAAa,WACbC,eAAgB,WAChBC,WAAY,WACZC,WAAY,WACZC,QAAS,WACTC,WAAY,WACZC,aAAc,WACdC,cAAe,WACfC,cAAe,UACfC,cAAe,UACfC,cAAe,SACfC,WAAY,WACZC,SAAU,WACVC,YAAa,SACbC,QAAS,WACTC,QAAS,WACTC,WAAY,UACZC,UAAW,WACXC,YAAa,WACbC,YAAa,UACbC,QAAS,WACTC,UAAW,WACXC,WAAY,WACZC,KAAM,WACNC,UAAW,WACXC,KAAM,WACNC,MAAO,QACPC,YAAa,WACbC,KAAM,WACNC,SAAU,WACVC,QAAS,WACTC,UAAW,WACXC,OAAQ,WACRC,MAAO,WACPC,MAAO,WACPC,SAAU,WACVC,cAAe,WACfC,UAAW,WACXC,aAAc,WACdC,UAAW,WACXC,WAAY,WACZC,UAAW,WACXC,qBAAsB,WACtBC,UAAW,WACXC,WAAY,WACZC,UAAW,WACXC,UAAW,WACXC,YAAa,WACbC,cAAe,UACfC,aAAc,WACdC,eAAgB,WAChBC,eAAgB,WAChBC,eAAgB,WAChBC,YAAa,WACbC,KAAM,SACNC,UAAW,UACXC,MAAO,WACPC,QAAS,WACTC,OAAQ,WACRC,iBAAkB,WAClBC,WAAY,MACZC,aAAc,WACdC,aAAc,WACdC,eAAgB,WAChBC,gBAAiB,WACjBC,kBAAmB,SACnBC,gBAAiB,WACjBC,gBAAiB,WACjBC,aAAc,UACdC,UAAW,WACXC,UAAW,WACXC,SAAU,WACVC,YAAa,WACbC,KAAM,MACNC,QAAS,WACTC,MAAO,WACPC,UAAW,WACXC,OAAQ,WACRC,UAAW,WACXC,OAAQ,WACRC,cAAe,WACfC,UAAW,WACXC,cAAe,WACfC,cAAe,WACfC,WAAY,WACZC,UAAW,WACXC,KAAM,WACNC,KAAM,WACNC,KAAM,WACNC,WAAY,WACZC,OAAQ,WACRC,cAAe,WACfC,IAAK,WACLC,UAAW,WACXC,UAAW,WACXC,YAAa,WACbC,OAAQ,WACRC,WAAY,WACZC,SAAU,UACVC,SAAU,WACVC,OAAQ,WACRC,OAAQ,WACRC,QAAS,WACTC,UAAW,WACXC,UAAW,WACXC,UAAW,WACXC,KAAM,WACNC,YAAa,SACbC,UAAW,WACXC,IAAK,WACLC,KAAM,QACNC,QAAS,WACTC,OAAQ,WACRlK,YAAa,EACbmK,UAAW,WACXC,OAAQ,WACRC,MAAO,WACPC,MAAO,WACPC,WAAY,WACZC,OAAQ,WACRC,YAAa,YCvSJC,GAA0D,CACnElpB,KAAM,kBACN+L,aAAc,aACdod,QAAQ,EACRvxB,KAAM,EACN8lB,MAAO,SAACrgB,EAAmBib,GACvB,OAAOA,EAAOrc,KAAI,SAACsc,GACf,GAAI6D,GAAa7D,GACb,OAAQA,EAAMpiB,OACV,IAAK,cACD,OAAO,EACX,IAAK,cACD,OAAO,EAGnB,OAAO,OCxBNizB,GAAgD,CACzDppB,KAAM,mBACN+L,aAAc,cACdod,QAAQ,EACRvxB,KAAM,EACNyxB,OAAQ,SCMCC,GAAiB,SAAChwB,EAAkBojB,GAC7C,IAAMgC,EAAQT,GAAUP,MAAMpkB,EAASojB,EAAK,IACtC6M,EAAO7M,EAAK,GAClB,OAAO6M,GAAQ3M,GAAmB2M,GAAQ,CAAC7K,MAAKA,EAAE6K,KAAIA,GAAI,CAAC7K,MAAKA,EAAE6K,KAAM,KAC5E,EAEaC,GAAoB,SAACC,EAAuCC,GACrE,IAAMC,EAAQF,EAAM,GACdG,EAAOH,EAAMA,EAAM90B,OAAS,GACf,OAAfg1B,EAAMJ,OACNI,EAAMJ,KAAOzM,IAGC,OAAd8M,EAAKL,OACLK,EAAKL,KAAOvM,IAKhB,IAFA,IAAM6M,EAAkC,GACpCC,EAAW,EACNl1B,EAAI,EAAGA,EAAI60B,EAAM90B,OAAQC,IAAK,CACnC,IAAMm1B,EAAON,EAAM70B,GAAG20B,KACtB,GAAa,OAATQ,EAAe,CACf,IAAMC,EAAgB7M,GAAiB4M,EAAML,GACzCM,EAAgBF,EAChBD,EAAa/uB,KAAKkvB,GAElBH,EAAa/uB,KAAKgvB,GAEtBA,EAAWE,OAEXH,EAAa/uB,KAAK,MAI1B,IAAImvB,EAAW,KACf,IAASr1B,EAAI,EAAGA,EAAIi1B,EAAal1B,OAAQC,IAAK,CAC1C,IAAMs1B,EAAOL,EAAaj1B,GAC1B,GAAa,OAATs1B,EACiB,OAAbD,IACAA,EAAWr1B,QAEZ,GAAiB,OAAbq1B,EAAmB,CAI1B,IAHA,IAAME,EAAYv1B,EAAIq1B,EAEhBG,GAAYF,EADAL,EAAaI,EAAW,KACHE,EAAY,GAC1C7yB,EAAI,EAAGA,GAAK6yB,EAAW7yB,IAC5BuyB,EAAaI,EAAW3yB,EAAI,GAAK8yB,EAAW9yB,EAEhD2yB,EAAW,MAInB,OAAOR,EAAMxtB,KAAI,SAACoV,EAASzc,GACvB,MAAO,CAAC8pB,MADYrN,EAAAqN,MACL6K,KAAM5lB,KAAKqE,IAAIrE,KAAK8W,IAAI,EAAIoP,EAAaj1B,GAAgB80B,GAAa,MAE7F,EAEMW,GAAqB,SAACC,EAAwBxjB,EAAeC,GAC/D,IAAMwjB,EAAUzjB,EAAQ,EAClB0jB,EAAUzjB,EAAS,EACnBvO,EAAI2kB,GAAiBmN,EAAO,GAAIxjB,GAASyjB,EACzC9xB,EAAI+xB,EAAUrN,GAAiBmN,EAAO,GAAIvjB,GAEhD,OAAQpD,KAAK8mB,MAAMhyB,EAAGD,GAAe,EAAVmL,KAAKga,KAAqB,EAAVha,KAAKga,GACpD,EAEa+M,GAA6B,SACtCjN,EACA3W,EACAC,GAEA,IAAM4jB,EAA0B,kBAAVlN,EAAqBA,EAAQ4M,GAAmB5M,EAAO3W,EAAOC,GAE9E2iB,EAAa/lB,KAAKinB,IAAI9jB,EAAQnD,KAAKknB,IAAIF,IAAWhnB,KAAKinB,IAAI7jB,EAASpD,KAAKmnB,IAAIH,IAE7EI,EAAYjkB,EAAQ,EACpBkkB,EAAajkB,EAAS,EACtBkkB,EAAiBvB,EAAa,EAE9BwB,EAAQvnB,KAAKknB,IAAIF,EAAShnB,KAAKga,GAAK,GAAKsN,EACzCE,EAAQxnB,KAAKmnB,IAAIH,EAAShnB,KAAKga,GAAK,GAAKsN,EAE/C,MAAO,CAACvB,EAAYqB,EAAYI,EAAOJ,EAAYI,EAAOH,EAAaE,EAAOF,EAAaE,EAC/F,EAEME,GAAW,SAAC52B,EAAWC,GAAsB,OAAAkP,KAAK0nB,KAAK72B,EAAIA,EAAIC,EAAIA,EAAE,EAErE62B,GAAa,SAACxkB,EAAeC,EAAgBvO,EAAWC,EAAW8yB,GAQrE,MAPgB,CACZ,CAAC,EAAG,GACJ,CAAC,EAAGxkB,GACJ,CAACD,EAAO,GACR,CAACA,EAAOC,IAGGykB,QACX,SAACC,EAAMnB,GACI,IAAAoB,EAAUpB,EAAM,GAAZqB,EAAMrB,EAAM,GACjB/yB,EAAI6zB,GAAS5yB,EAAIkzB,EAAIjzB,EAAIkzB,GAC/B,OAAIJ,EAAUh0B,EAAIk0B,EAAKG,gBAAkBr0B,EAAIk0B,EAAKG,iBACvC,CACHC,cAAevB,EACfsB,gBAAiBr0B,GAIlBk0B,IAEX,CACIG,gBAAiBL,EAAUO,KAAW,IACtCD,cAAe,OAErBA,aACN,EAEaE,GAAkB,SAC3BC,EACAxzB,EACAC,EACAqO,EACAC,GAEA,IAAIklB,EAAK,EACLC,EAAK,EAET,OAAQF,EAASG,MACb,KAAK,EAGsB,IAAnBH,EAASI,MACTH,EAAKC,EAAKvoB,KAAK8W,IAAI9W,KAAKinB,IAAIpyB,GAAImL,KAAKinB,IAAIpyB,EAAIsO,GAAQnD,KAAKinB,IAAInyB,GAAIkL,KAAKinB,IAAInyB,EAAIsO,IACrD,IAAnBilB,EAASI,QAChBH,EAAKtoB,KAAK8W,IAAI9W,KAAKinB,IAAIpyB,GAAImL,KAAKinB,IAAIpyB,EAAIsO,IACxColB,EAAKvoB,KAAK8W,IAAI9W,KAAKinB,IAAInyB,GAAIkL,KAAKinB,IAAInyB,EAAIsO,KAE5C,MAEJ,KAAK,EAGD,GAAuB,IAAnBilB,EAASI,MACTH,EAAKC,EAAKvoB,KAAK8W,IACX2Q,GAAS5yB,EAAGC,GACZ2yB,GAAS5yB,EAAGC,EAAIsO,GAChBqkB,GAAS5yB,EAAIsO,EAAOrO,GACpB2yB,GAAS5yB,EAAIsO,EAAOrO,EAAIsO,SAEzB,GAAuB,IAAnBilB,EAASI,MAAkC,CAElD,IAAM/0B,EAAIsM,KAAK8W,IAAI9W,KAAKinB,IAAInyB,GAAIkL,KAAKinB,IAAInyB,EAAIsO,IAAWpD,KAAK8W,IAAI9W,KAAKinB,IAAIpyB,GAAImL,KAAKinB,IAAIpyB,EAAIsO,IACrFuK,EAAWia,GAAWxkB,EAAOC,EAAQvO,EAAGC,GAAG,GAA1CizB,EAAEra,EAAA,GAAEsa,EAAEta,EAAA,GAEb6a,EAAK70B,GADL40B,EAAKb,GAASM,EAAKlzB,GAAImzB,EAAKlzB,GAAKpB,IAGrC,MAEJ,KAAK,EAEsB,IAAnB20B,EAASI,MACTH,EAAKC,EAAKvoB,KAAKqE,IAAIrE,KAAKinB,IAAIpyB,GAAImL,KAAKinB,IAAIpyB,EAAIsO,GAAQnD,KAAKinB,IAAInyB,GAAIkL,KAAKinB,IAAInyB,EAAIsO,IACrD,IAAnBilB,EAASI,QAChBH,EAAKtoB,KAAKqE,IAAIrE,KAAKinB,IAAIpyB,GAAImL,KAAKinB,IAAIpyB,EAAIsO,IACxColB,EAAKvoB,KAAKqE,IAAIrE,KAAKinB,IAAInyB,GAAIkL,KAAKinB,IAAInyB,EAAIsO,KAE5C,MAEJ,KAAK,EAGD,GAAuB,IAAnBilB,EAASI,MACTH,EAAKC,EAAKvoB,KAAKqE,IACXojB,GAAS5yB,EAAGC,GACZ2yB,GAAS5yB,EAAGC,EAAIsO,GAChBqkB,GAAS5yB,EAAIsO,EAAOrO,GACpB2yB,GAAS5yB,EAAIsO,EAAOrO,EAAIsO,SAEzB,GAAuB,IAAnBilB,EAASI,MAAkC,CAE5C/0B,EAAIsM,KAAKqE,IAAIrE,KAAKinB,IAAInyB,GAAIkL,KAAKinB,IAAInyB,EAAIsO,IAAWpD,KAAKqE,IAAIrE,KAAKinB,IAAIpyB,GAAImL,KAAKinB,IAAIpyB,EAAIsO,IAA3F,IACMqY,EAAWmM,GAAWxkB,EAAOC,EAAQvO,EAAGC,GAAG,GAA1CizB,EAAEvM,EAAA,GAAEwM,EAAExM,EAAA,GAEb+M,EAAK70B,GADL40B,EAAKb,GAASM,EAAKlzB,GAAImzB,EAAKlzB,GAAKpB,KAW7C,OALIvC,MAAMC,QAAQi3B,EAASG,QACvBF,EAAK9O,GAAiB6O,EAASG,KAAK,GAAIrlB,GACxColB,EAA8B,IAAzBF,EAASG,KAAKx3B,OAAewoB,GAAiB6O,EAASG,KAAK,GAAIplB,GAAUklB,GAG5E,CAACA,EAAIC,EAChB,ECtMaG,GAAuB,SAAC/yB,EAAkBgf,GACnD,IAAIgU,EAAiCtO,GAAI,KACnCyL,EAAwC,GAoB9C,OAlBAhN,GAAkBnE,GAAQpc,SAAQ,SAACpG,EAAKlB,GACpC,GAAU,IAANA,EAAS,CACT,IAAM23B,EAAaz2B,EAAI,GACvB,GACwB,KAApBy2B,EAAW30B,OACuD,IAAlE,CAAC,MAAO,OAAQ,QAAS,UAAUyY,QAAQkc,EAAWp2B,OAGtD,YADAm2B,EAAQzO,GAAe/nB,IAEpB,GAAI8nB,GAAQ2O,GAEf,YADAD,GAAS7O,GAAUC,MAAMpkB,EAASizB,GAAcvO,GAAI,MAAQA,GAAI,MAIxE,IAAMwO,EAAYlD,GAAehwB,EAASxD,GAC1C2zB,EAAM3uB,KAAK0xB,MAGR,CACH/O,MAAK6O,EACL7C,MAAKA,EACL7xB,KAAM,EAEd,ECrBa60B,GAAe,eACfC,GAAgB,gBAChBC,GAAiB,iBACjBC,GAAkB,kBAClBC,GAAS,SACTC,GAAU,UACVC,GAAQ,QACRC,GAAU,UCIVC,GAAuB,SAAC3zB,EAAkBgf,GACnD,IAAI8T,EAAK,EACLD,EAAI,EACF1C,EAAwC,GACxCyD,EAA+B,GAsErC,OApEAzQ,GAAkBnE,GAAQpc,SAAQ,SAACpG,EAAKlB,GACpC,IAAIu4B,GAAc,EA6DlB,GA5DU,IAANv4B,EACAu4B,EAAcr3B,EAAI01B,QAAO,SAAC4B,EAAK7U,GAC3B,GAAI6D,GAAa7D,GACb,OAAQA,EAAMpiB,OACV,IAAK,SAED,OADA+2B,EAASpyB,KAAKiiB,KACP,EACX,IAAK,MACL,IAAK,OAED,OADAmQ,EAASpyB,KAAKgiB,KACP,EACX,IAAK,QACL,IAAK,SAED,OADAoQ,EAASpyB,KAAKkiB,KACP,OAEZ,GAAIJ,GAAmBrE,IAAUoE,GAASpE,GAE7C,OADA2U,EAASpyB,KAAKyd,IACP,EAGX,OAAO6U,IACRD,GACU,IAANv4B,IACPu4B,EAAcr3B,EAAI01B,QAAO,SAAC4B,EAAK7U,GAC3B,GAAI6D,GAAa7D,GACb,OAAQA,EAAMpiB,OACV,KAAK02B,GAED,OADAT,EAAQ,GACD,EACX,KAAKU,GAED,OADAV,EAAQ,GACD,EACX,KAAKY,GACL,KAAKP,GAED,OADAN,EAAO,GACA,EACX,KAAKO,GAED,OADAP,EAAO,GACA,EACX,KAAKQ,GAED,OADAR,EAAO,GACA,EACX,KAAKY,GACL,KAAKH,GAED,OADAT,EAAO,GACA,OAEZ,GAAIxP,GAASpE,IAAUqE,GAAmBrE,GAK7C,OAJKzjB,MAAMC,QAAQo3B,KACfA,EAAO,IAEXA,EAAKrxB,KAAKyd,IACH,EAGX,OAAO6U,IACRD,IAGHA,EAAa,CACb,IAAMX,EAAYlD,GAAehwB,EAASxD,GAC1C2zB,EAAM3uB,KAAK0xB,OAIZ,CAACL,KAAIA,EAAEC,MAAKA,EAAE3C,MAAKA,EAAEyD,SAAQA,EAAEt1B,KAAM,EAChD,ECjFay1B,GAAmB,SAACC,GAC7B,OAA2B,IAApBA,EAAW11B,IACtB,EAEa21B,GAAmB,SAACD,GAC7B,OAA2B,IAApBA,EAAW11B,IACtB,EAuDa41B,GAAoC,CAC7CxtB,KAAM,QACN0d,MAAO,SAACpkB,EAAkBnD,GACtB,GAAmB,KAAfA,EAAMyB,KAA8B,CACpC,IAAM61B,EAAqB,CAACC,IAAKv3B,EAAMA,MAAOyB,KAAM,GAEpD,OADA0B,EAAQq0B,MAAMC,SAASz3B,EAAMA,OACtBs3B,EAGX,GAAmB,KAAft3B,EAAMyB,KAA6B,CACnC,IAAMi2B,EAAgBC,GAA0B33B,EAAM6J,MACtD,GAA6B,qBAAlB6tB,EACP,MAAM,IAAIh0B,MAAM,sDAAsD1D,EAAM6J,KAAI,KAEpF,OAAO6tB,EAAcv0B,EAASnD,EAAMwlB,QAGxC,MAAM,IAAI9hB,MAAM,0BAA0B1D,EAAMyB,iBAIxCm2B,GAAiB53B,GAC7B,QACqB,KAAfA,EAAMyB,MAAkD,SAAhBzB,EAAMA,SAChC,KAAfA,EAAMyB,QAAiCk2B,GAA0B33B,EAAM6J,MAEhF,CAEA,ICrGYguB,GDqGNF,GAA+F,CACjG,kBErG0B,SAACx0B,EAAkBgf,GAC7C,IAAIgU,EAAiCtO,GAAI,KACnCyL,EAAwC,GAiB9C,OAfAhN,GAAkBnE,GAAQpc,SAAQ,SAACpG,EAAKlB,GACpC,GAAU,IAANA,EAAS,CACT,IAAM23B,EAAaz2B,EAAI,GACvB,GAAwB,KAApBy2B,EAAW30B,MAAuD,OAArB20B,EAAWp2B,MAExD,YADAm2B,EAAQzO,GAAe/nB,IAEpB,GAAI8nB,GAAQ2O,GAEf,YADAD,EAAQ7O,GAAUC,MAAMpkB,EAASizB,IAIzC,IAAMC,EAAYlD,GAAehwB,EAASxD,GAC1C2zB,EAAM3uB,KAAK0xB,MAGR,CAAC/O,MAAK6O,EAAE7C,MAAKA,EAAE7xB,KAAM,EAChC,EFkFI,uBAAwBy0B,GACxB,sBAAuBA,GACvB,qBAAsBA,GACtB,0BAA2BA,GAC3B,kBF3F0B,SAAC/yB,EAAkBgf,GAC7C,IAAI8T,EAAK,EACLD,EAAI,EACF1C,EAAwC,GACxCyD,EAA+B,GAmErC,OAlEAzQ,GAAkBnE,GAAQpc,SAAQ,SAACpG,EAAKlB,GACpC,IAAIu4B,GAAc,EAClB,GAAU,IAANv4B,EAAS,CACT,IAAIq5B,GAAe,EACnBd,EAAcr3B,EAAI01B,QAAO,SAAC4B,EAAK7U,GAC3B,GAAI0V,EACA,GAAI7R,GAAa7D,GACb,OAAQA,EAAMpiB,OACV,IAAK,SAED,OADA+2B,EAASpyB,KAAKiiB,IACPqQ,EACX,IAAK,MACL,IAAK,OAED,OADAF,EAASpyB,KAAKgiB,IACPsQ,EACX,IAAK,QACL,IAAK,SAED,OADAF,EAASpyB,KAAKkiB,IACPoQ,OAERxQ,GAAmBrE,IAAUoE,GAASpE,KAC7C2U,EAASpyB,KAAKyd,QAEf,GAAI6D,GAAa7D,GACpB,OAAQA,EAAMpiB,OACV,KAAK02B,GAED,OADAT,EAAQ,GACD,EACX,KAAKU,GAED,OADAV,EAAQ,GACD,EACX,IAAK,KAED,OADA6B,GAAe,GACR,EACX,KAAKxB,GAED,OADAN,EAAO,GACA,EACX,KAAKY,GACL,KAAKL,GAED,OADAP,EAAO,GACA,EACX,KAAKa,GACL,KAAKL,GAED,OADAR,EAAO,GACA,EACX,KAAKS,GAED,OADAT,EAAO,GACA,OAEZ,GAAIxP,GAASpE,IAAUqE,GAAmBrE,GAK7C,OAJKzjB,MAAMC,QAAQo3B,KACfA,EAAO,IAEXA,EAAKrxB,KAAKyd,IACH,EAEX,OAAO6U,IACRD,GAGP,GAAIA,EAAa,CACb,IAAMX,EAAYlD,GAAehwB,EAASxD,GAC1C2zB,EAAM3uB,KAAK0xB,OAIZ,CAACL,KAAIA,EAAEC,MAAKA,EAAE3C,MAAKA,EAAEyD,SAAQA,EAAEt1B,KAAM,EAChD,EEoBI,uBAAwBq1B,GACxB,sBAAuBA,GACvB,qBAAsBA,GACtB,0BAA2BA,GAC3B,mBGtG0B,SAC1B3zB,EACAgf,GAEA,IAAMmF,EAAQO,GAAI,KACZyL,EAAwC,GAC1C7xB,EAAO,EACLw0B,EAAK,EACLD,EAAI,EACJe,EAA+B,GAoCrC,OAnCAzQ,GAAkBnE,GAAQpc,SAAQ,SAACpG,EAAKlB,GACpC,IAAM23B,EAAaz2B,EAAI,GACvB,GAAU,IAANlB,EAAS,CACT,GAAIwnB,GAAamQ,IAAoC,WAArBA,EAAWp2B,MAEvC,YADAyB,EAAO,GAEJ,GAAIwkB,GAAamQ,IAAoC,WAArBA,EAAWp2B,MAE9C,YADAyB,EAAO,GAKf,GAAwB,KAApB20B,EAAW30B,KACX,GAAwB,SAApB20B,EAAWvsB,KAAiB,CAC5B,IAAM0e,EAAQT,GAAUP,MAAMpkB,EAASizB,EAAW5Q,OAAO,IACzD8N,EAAM3uB,KAAK,CAACyuB,KAAMzM,GAAa4B,MAAKA,SACjC,GAAwB,OAApB6N,EAAWvsB,KACZ0e,EAAQT,GAAUP,MAAMpkB,EAASizB,EAAW5Q,OAAO,IACzD8N,EAAM3uB,KAAK,CAACyuB,KAAMvM,GAAiB0B,MAAKA,SACrC,GAAwB,eAApB6N,EAAWvsB,KAAuB,CACzC,IAAM2b,EAAS4Q,EAAW5Q,OAAOmC,OAAOtB,IACxC,GAAsB,IAAlBb,EAAOhnB,OAAc,CACf+pB,EAAQT,GAAUP,MAAMpkB,EAASqiB,EAAO,IAA9C,IACMoO,EAAOpO,EAAO,GAChBQ,GAAc4N,IACdN,EAAM3uB,KAAK,CACPyuB,KAAM,CAAC3xB,KAAM,GAA4BkjB,OAAsB,IAAdiP,EAAKjP,OAAc5lB,MAAO60B,EAAK70B,OAChFwpB,MAAKA,SAQb,IAAT9mB,EACD,CACI6lB,OAAQA,EAAQO,GAAI,MAAQA,GAAI,KAChCyL,MAAKA,EACL7xB,KAAIA,GAER,CAACu0B,KAAIA,EAAEC,MAAKA,EAAE3C,MAAKA,EAAEyD,SAAQA,EAAEt1B,KAAIA,EAC7C,GC9Das2B,GAAwD,CACjEluB,KAAM,mBACN+L,aAAc,OACdnU,KAAM,EACNuxB,QAAQ,EACRzL,MAAO,SAACpkB,EAAkBgf,GACtB,GAAsB,IAAlBA,EAAO3jB,OACP,MAAO,GAGX,IAAMg1B,EAAQrR,EAAO,GAErB,OAAmB,KAAfqR,EAAM/xB,MAAkD,SAAhB+xB,EAAMxzB,MACvC,GAGJmiB,EACFwF,QAAO,SAAC3nB,GAAU,OAAAqmB,GAAwBrmB,IAAU43B,GAAiB53B,EAAM,IAC3E8F,KAAI,SAAC9F,GAAU,OAAAq3B,GAAM9P,MAAMpkB,EAASnD,EAAM,MCZ1Cg4B,GAA8D,CACvEnuB,KAAM,oBACN+L,aAAc,aACdod,QAAQ,EACRvxB,KAAM,EACN8lB,MAAO,SAACrgB,EAAmBib,GACvB,OAAOA,EAAOrc,KAAI,SAACsc,GACf,GAAI6D,GAAa7D,GACb,OAAQA,EAAMpiB,OACV,IAAK,cACD,OAAO,EACX,IAAK,cACD,OAAO,EAGnB,OAAO,OCnBNi4B,GAAkE,CAC3EpuB,KAAM,sBACN+L,aAAc,QACdnU,KAAM,EACNuxB,QAAQ,EACRzL,MAAO,SAACrgB,EAAmBib,GACvB,OAAOmE,GAAkBnE,GACpBrc,KAAI,SAAC0f,GAAuB,OAAAA,EAAOmC,OAAOlB,GAAmB,IAC7D3gB,IAAI4gB,MCJJwR,GAA8D,CACvEruB,KAAM,oBACN+L,aAAc,SACdod,QAAQ,EACRvxB,KAAM,EACN8lB,MAAO,SAACrgB,EAAmBib,GACvB,OAAOmE,GAAkBnE,GACpBrc,KAAI,SAAC0f,GACF,OAAAA,EACKmC,OAAO1B,IACPngB,KAAI,SAACsc,GAAU,OAAAA,EAAMpiB,KAAK,IAC1BgF,KAAK,QAEbc,IAAIqyB,MAIXA,GAAwB,SAACn4B,GAC3B,OAAQA,GACJ,IAAK,YACD,OAAO,EACX,IAAK,WACL,IAAK,mBACD,OAAO,EACX,IAAK,WACL,IAAK,mBACD,OAAO,EAEX,QACI,OAAO,EAEnB,GNrCA,SAAY63B,GACRA,EAAA,YACAA,EAAA,kBACAA,EAAA,aACH,CAJD,CAAYA,KAAAA,GAAe,KASpB,IObKO,GPaCC,GAA0D,CACnExuB,KAAM,kBACN+L,aAAc,IACdod,QAAQ,EACRvxB,KAAM,EACN8lB,MAAO,SAACrgB,EAAmBib,GACvB,OAAOmE,GAAkBnE,GAAQrc,KAAI,SAAC0f,GAAW,OAAAA,EAAOmC,OAAO2Q,GAA0B,MAI3FA,GAA4B,SAACt4B,GAC/B,OAAAimB,GAAajmB,IAAUymB,GAAmBzmB,EAA1C,EQzBEu4B,GAAqB,SAACC,GAA+C,MAAC,CACxE3uB,KAAM,UAAU2uB,EAAI,SACpB5iB,aAAc,cACdod,QAAQ,EACRvxB,KAAM,EACNyxB,OAAQ,QACX,EAEYuF,GAA+CF,GAAmB,OAClEG,GAAiDH,GAAmB,SACpEI,GAAkDJ,GAAmB,UACrEK,GAAgDL,GAAmB,QCN1EM,GAAsB,SAACL,GAAwD,MAAC,CAClF3uB,KAAM,iBAAiB2uB,EACvB5iB,aAAc,MACdod,QAAQ,EACRvxB,KAAM,EACN8lB,MAAO,SAACrgB,EAAmBib,GACvB,OAAAuE,GAA2BvE,EAAOwF,OAAOlB,MAChD,EAEYqS,GAA6DD,GAAoB,YACjFE,GAA8DF,GAAoB,aAClFG,GAAiEH,GAAoB,gBACrFI,GAAgEJ,GAAoB,eCR3FK,GAAqB,SAACV,GAA8D,MAAC,CACvF3uB,KAAM,UAAU2uB,EAAI,SACpB5iB,aAAc,QACdod,QAAQ,EACRvxB,KAAM,EACN8lB,MAAO,SAACrgB,EAAmBiyB,GACvB,OAAQA,GACJ,IAAK,OACD,OAAO,EACX,IAAK,SACD,OAAO,EACX,IAAK,SACD,OAAO,EACX,IAAK,SACD,OAAO,EAEf,OAAO,GAEd,EAEYC,GAA8DF,GAAmB,OACjFG,GAAgEH,GAAmB,SACnFI,GAAiEJ,GAAmB,UACpFK,GAA+DL,GAAmB,QC9BzFM,GAAqB,SAAChB,GAAmD,MAAC,CAC5E3uB,KAAM,UAAU2uB,EAAI,SACpB5iB,aAAc,IACdnU,KAAM,EACNuxB,QAAQ,EACRzL,MAAO,SAACrgB,EAAmBkb,GACvB,OAAI2D,GAAiB3D,GACVA,EAAMuC,OAEV,GAEd,EAEY8U,GAAmDD,GAAmB,OACtEE,GAAqDF,GAAmB,SACxEG,GAAsDH,GAAmB,UACzEI,GAAoDJ,GAAmB,QCjBvEjR,GAAsC,CAC/C1e,KAAM,QACN+L,aAAc,cACdod,QAAQ,EACRvxB,KAAM,EACNyxB,OAAQ,SCCC2G,GAAsD,CAC/DhwB,KAAM,YACN+L,aAAc,MACdod,QAAQ,EACRvxB,KAAM,EACN8lB,MAAO,SAACrgB,EAAmB2yB,GACvB,MACS,QADDA,EAEO,EAGA,ICmBVC,GAA4C,CACrDjwB,KAAM,UACN+L,aAAc,eACdod,QAAQ,EACRvxB,KAAM,EACN8lB,MAAO,SAACrgB,EAAmBib,GACvB,OAAOA,EAAOwF,OAAO1B,IAAcoP,QAAO,SAAC0E,EAAK3X,GAC5C,OAAO2X,EAAMC,GAAkB5X,EAAMpiB,SACtC,KAILg6B,GAAoB,SAACF,GACvB,OAAQA,GACJ,IAAK,QACL,IAAK,cACD,OAAO,EACX,IAAK,SACD,OAAO,EACX,IAAK,SACD,OAAO,EACX,IAAK,OACD,OAAO,GACX,IAAK,YACD,OAAO,GACX,IAAK,QACD,OAAO,GACX,IAAK,OACL,IAAK,eACD,OAAO,IACX,IAAK,OACL,IAAK,WACD,OAAO,IACX,IAAK,OACD,OAAO,IACX,IAAK,UACD,OAAO,KACX,IAAK,YACD,OAAO,KACX,IAAK,kBACD,OAAO,KACX,IAAK,qBACD,OAAO,KACX,IAAK,qBACD,OAAO,MACX,IAAK,YACD,OAAO,MACX,IAAK,aACD,OAAO,MACX,IAAK,qBACD,OAAO,OACX,IAAK,eACD,OAAO,OACX,IAAK,gBACD,OAAO,OACX,IAAK,YACD,OAAO,QACX,IAAK,YACD,OAAO,QACX,IAAK,sBACD,OAAO,QACX,IAAK,sBACD,OAAO,QACX,IAAK,WACD,OAAO,SACX,IAAK,eACD,OAAO,SACX,IAAK,mBACD,OAAO,SACX,IAAK,eACD,OAAO,UACX,IAAK,cACD,OAAO,UACX,IAAK,cACD,OAAO,UAGf,OAAO,CACX,EC1GaG,GAA8C,CACvDpwB,KAAM,QACN+L,aAAc,OACdod,QAAQ,EACRvxB,KAAM,EACN8lB,MAAO,SAACrgB,EAAmB+yB,GACvB,OAAQA,GACJ,IAAK,OACD,OAAO,EACX,IAAK,QACD,OAAO,EACX,IAAK,eACD,OAAO,EACX,IAAK,aACD,OAAO,EAEf,OAAO,ICtBFC,GAAkD,CAC3DrwB,KAAM,iBACN+L,aAAc,IACdod,QAAQ,EACRvxB,KAAM,EACN8lB,MAAO,SAACrgB,EAAmBkb,GACvB,OAAmB,KAAfA,EAAM3gB,MAAkD,WAAhB2gB,EAAMpiB,MACvC,EAGQ,KAAfoiB,EAAM3gB,MAIS,KAAf2gB,EAAM3gB,KAHC2gB,EAAMuC,OAOV,KTpBf,SAAYyT,GACRA,EAAA,gBACAA,EAAA,eACH,CAHD,CAAYA,KAAAA,GAAU,KAKf,IULK+B,GVKCtgB,GAAuD,CAChEhQ,KAAM,aACN+L,aAAc,SACdod,QAAQ,EACRvxB,KAAM,EACN8lB,MAAO,SAACrgB,EAAmB2S,GACvB,MACS,WADDA,EAEOue,GAAWgC,OAGXhC,GAAWiC,SWdrBC,GAA4C,CACrDzwB,KAAM,cACN+L,aAAc,SACdod,QAAQ,EACRvxB,KAAM,GAGG84B,GAAoB,SAACnY,EAAiBoY,GAC/C,OAAIvU,GAAa7D,IAA0B,WAAhBA,EAAMpiB,MACtB,IAAMw6B,EACS,KAAfpY,EAAM3gB,KACN+4B,EAAWpY,EAAMuC,OACjB8B,GAAmBrE,GACnB4E,GAAiB5E,EAAOoY,GAG5BA,CACX,ECfaC,GAA6D,CACtE5wB,KAAM,mBACN+L,aAAc,OACdnU,KAAM,EACNuxB,QAAQ,EACRzL,MAAO,SAACpkB,EAAkBif,GACtB,OAAmB,KAAfA,EAAM3gB,MAAkD,SAAhB2gB,EAAMpiB,MACvC,KAGJq3B,GAAM9P,MAAMpkB,EAASif,KCTvBsY,GAAwE,CACjF7wB,KAAM,sBACN+L,aAAc,UACdod,QAAQ,EACRvxB,KAAM,EACN8lB,MAAO,SAACrgB,EAAmB6vB,GACvB,MACS,WADDA,EAEO,EAGA,ICyCV4D,GAAgE,CACzE9wB,KAAM,kBACN+L,aAAc,OACdod,QAAQ,EACRvxB,KAAM,EACN8lB,MAAO,SAACrgB,EAAmBzF,GACvB,OAAQA,GACJ,IAAK,OACD,OAAO,EACX,IAAK,SACD,OAAO,EACX,IAAK,SACD,OAAO,EACX,IAAK,UACD,OAAO,EACX,IAAK,cACD,OAAO,EACX,IAAK,uBACD,OAAO,EACX,IAAK,cACD,OAAO,EACX,IAAK,cACD,OAAO,EACX,IAAK,cACD,OAAO,EACX,IAAK,cACD,OAAO,EACX,IAAK,cACD,OAAO,GACX,IAAK,eACD,OAAO,GACX,IAAK,WACD,OAAO,GACX,IAAK,UACD,OAAO,GACX,IAAK,YACD,OAAO,GACX,IAAK,qBACD,OAAO,GACX,IAAK,oBACD,OAAO,GACX,IAAK,kBACD,OAAO,GACX,IAAK,aACD,OAAO,GACX,IAAK,mBACD,OAAO,GACX,IAAK,WACD,OAAO,GACX,IAAK,WACD,OAAO,GACX,IAAK,WAEL,IAAK,SACD,OAAO,GACX,IAAK,WACD,OAAO,GACX,IAAK,iBACD,OAAO,GACX,IAAK,kBACD,OAAO,GACX,IAAK,oBACD,OAAO,GACX,IAAK,UACD,OAAO,GACX,IAAK,WACD,OAAO,GACX,IAAK,iBACD,OAAO,GACX,IAAK,QACD,OAAO,GACX,IAAK,uBACD,OAAO,GACX,IAAK,sBACD,OAAO,GACX,IAAK,wBACD,OAAO,GACX,IAAK,MACD,OAAO,GACX,IAAK,iBACD,OAAO,GACX,IAAK,YACD,OAAO,GACX,IAAK,YACD,OAAO,GACX,IAAK,UACD,OAAO,GACX,IAAK,QACD,OAAO,GACX,IAAK,UACD,OAAO,GACX,IAAK,sBACD,OAAO,GACX,IAAK,wBACD,OAAO,GACX,IAAK,QACD,OAAO,GACX,IAAK,SACD,OAAO,GACX,IAAK,OACD,OAAO,GACX,IAAK,UACD,OAAO,GACX,IAAK,sBACD,OAAO,GACX,IAAK,wBACD,OAAO,GACX,IAAK,iBACD,OAAO,GACX,IAAK,kBACD,OAAO,GACX,IAAK,oBACD,OAAO,GAEX,QACI,YC5KVm5B,GAAgB,SAACpC,GAAgD,MAAC,CACpE3uB,KAAM,UAAU2u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AA5b,UAAA,GAAAA,UAAA,GAAyB,CAAC,EAE1B,MAAMi5I,EAAyB,CAC7Bxe,sBACAF,sBACAS,qBAGIxB,EAA0B/yH,IAC9B,MAAMmD,EAAcsxH,GAAez0H,IAAc,YAajD,OAVEA,EADE00H,GAAGxoH,IAAIlM,GAEP+yH,EAAS/yH,KACR+yH,EAAS/yH,GAAauzH,GAAavzH,EAAWwyI,IAG/CxyI,EAAUw0H,MACTx0H,EAAUw0H,IAAYjB,GAAavzH,EAAWwyI,KAGzCrvI,YAAc,YAAYA,KAC7BnD,CAAA,EAUT,OAPA45H,GAAS2Y,GAAY,CAACvyI,EAAW7G,KAC3Bu7H,GAAG5tB,IAAIyrC,KACTp5I,EAAMs7H,GAAez0H,IAEvB+yH,EAAS55H,GAAO45H,EAAS/yH,EAAU,IAG9B,CACL+yH,WAEJ,CuBlDa0f,CEd2B,CACtC,IACA,OACA,UACA,OACA,UACA,QACA,QACA,IACA,OACA,MACA,MACA,MACA,aACA,OACA,KACA,SACA,SACA,UACA,OACA,OACA,MACA,WACA,OACA,WACA,KACA,MACA,UACA,MACA,SACA,MACA,KACA,KACA,KACA,QACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,SACA,KACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,SACA,QACA,SACA,KACA,OACA,OACA,MACA,OACA,OACA,WACA,OACA,QACA,MACA,WACA,SACA,KACA,WACA,SACA,SACA,IACA,QACA,UACA,MACA,WACA,IACA,KACA,KACA,OACA,IACA,OACA,SACA,UACA,SACA,QACA,SACA,OACA,SACA,QACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,QACA,KACA,QACA,IACA,KACA,MACA,QACA,MAEA,SACA,WACA,OACA,UACA,gBACA,IACA,QACA,OACA,iBACA,OACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,MACA,OACA,SFxHkC,CAClCze,oBFOK,SAA6BxoD,EAAoBjwE,GACtD,IAAKiwE,EAAS/iC,WAAa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A4EZW,IAAOV,GACTrC,GAAQuiE,IAAI,8CAGP5+D,CAAA,CCz1BT,SAAS6rJ,GAAY5rJ,GAAA,IAMfZ,EACAW,EACAtB,EACAjC,EAeAJ,EAvBAqyD,EAASljD,KAAKC,MACdmB,EAAS,IAAIjQ,MAAM,IACnBuC,EAAU,IAAIvC,MAAM,IACpBuD,EAAU,IAAIvD,MAAM,IACpB2C,EAAW,IAAI3C,MAAM,IAMrB6B,EAAU,IAAI7B,MAAM,OACpBwB,EAAW,IAAIxB,MAAM,OACrByC,EAAkB,IAAIzC,MAAM,IAC5BkC,EAAK,IAAIlC,MAAM,IACfwC,EAAU,GACVV,EAAU,EACV0B,EAAU,EAEV7D,EAAM,IAAIK,MAAM,IAChB2D,EAAM,IAAI3D,MAAM,IAChByD,EAAM,IAAIzD,MAAM,IAChB+F,EAAM,IAAI/F,MAAM,KAChBsF,EAAgB,IAAItF,MAAM,MAG1BiG,EAAS,CACX,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IAGEvC,EAA2B,CAC7B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEE4C,EAA0B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC7D0K,EAA2B,CAC7B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEEtL,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,KAGEhE,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEEyD,EAA4B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC/DR,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEER,EAA4B,CAC9B,EACA,EACA,EACA,EACA,GACA,EACA,EACA,GACA,GACA,EACA,GACA,GACA,GACA,EACA,GACA,IACA,GACA,GACA,GACA,IACA,EACA,GACA,GACA,IACA,IACA,IACA,IACA,EACA,GACA,GACA,GACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,IACA,GACA,IACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,cAuKO2uD,EAAkBxvD,EAASZ,GAAA,QAC9BW,EAAY,EACZtB,EAAe,EACfjC,EAAK,IAAIE,MACJN,EAAI,EAAGA,GAAK,GAAIA,IAAK,KACvB,IAAIqyD,EAAI,EAAGA,GAAKzuD,EAAQ5D,GAAIqyD,IAC/BjyD,EAAG4C,EAAUX,IAAiB,GAC9BjC,EAAG4C,EAAUX,IAAe,GAAKsB,EACjCvD,EAAG4C,EAAUX,IAAe,GAAKrC,EACjCqC,IACAsB,IAEFA,GAAa,SAERvD,CAAA,UA2DA2F,EAAUnC,GAAA,QACbZ,EAAQY,EAAG,GACXD,EAASC,EAAG,GAAK,EACdD,GAAU,GACXX,EAAS,GAAKW,IAChBvB,GAAW,GAAK0B,GAElBH,MACAG,EACc,IACG,KAAX1B,GACFgC,EAAU,KACVA,EAAU,IAEVA,EAAUhC,GAEZ0B,EAAU,EACV1B,EAAU,YAKPgC,EAAUR,GAEjBd,EAAQwD,KAAK1C,EAAA,UAGNiC,EAAUjC,GACjBQ,EAAWR,GAAS,EAAK,KACzBQ,EAAkB,IAARR,EAAA,UAyOHgB,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EghE,GAAM5hE,GAAK,MAAQY,EAAEqB,EAAA,MAE5DjC,EAAI,EACTY,EAAIZ,EAAI,EAAI,UAGZ,GAAKY,GAAA,MACDD,GAAKA,EAAEoiE,KAAOniE,EAAIk4J,GAAGz5J,IADVuB,CAAA,KAIjBg4J,GAAK,GACPnU,GAAK,CACH,EACA,EACA,EACA,EACA,GACA,GACA,GACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,QACA,QACA,QACA,QACA,UAEFoU,GAAK,GACLwY,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,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AAK,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,MAEF11F,GAAK,EACLhB,GAAK,CACH,EACA,EACA,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEFc,GAAK,CACH,EACA,EACA,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEFJ,GAAK,KACLN,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,IAE1DX,GAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,IACxDkB,GAAK,EAAE,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,GAAI,GAAI,GACnEI,GAAK,CACH,CACE,CACE,CAAC,I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,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,QAIzDd,GAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAEtDK,GAAI,GACJP,GAAI,GACJJ,GAAK,GAkBLe,GAAK,EACLV,GAAK,EACLO,GAAK,GAKLS,GAAI,GACN03E,GAAG,sBAAuBa,GAAI,GAC9Bb,GAAG,sBAAuBrC,GAAI,GAC9BqC,GAAG,uBAAwB9F,GAAI,GAC/B8F,GAAG,uBAAwB/F,GAAI,GAC/B+F,GAAG,uBAAwBqB,GAAI,GAC/BrB,GAAG,2BAA4BhnG,GAAI,GACnCgnG,GAAG,yBAA0BkB,GAAI,OAC7Bn6E,GAAKj8E,EAAK42K,oBACZj5F,GAAK39E,EAAK62K,oBACVp5F,GAAKz9E,EAAK82K,qBACVp3F,GAAK1/E,EAAK+2K,qBACVx3F,GAAKv/E,EAAKg3K,qBACVn5F,GAAK79E,EAAKi3K,yBACVv5F,GAAK19E,EAAKk3K,uBACVj3F,GAAK,GACLxvE,GAAK,GAAMwvE,GAAK,EAChBL,IAAM,IACN/C,GAAK,IACLiC,GAAK,EACLP,IAAM,KAAOO,IAAM,EACnBX,GAAK,EACLvB,GAAKxgF,EAAE,KACPujF,GAAKvjF,EAAE,KACP0hF,GAAK1hF,EAAE,KACPojF,GAAKpjF,EAAE,KACPiiF,GAAKjiF,EAAEygF,GAAK+C,IACZzC,GAAK/gF,EAAEygF,GAAK+C,IACd03E,GAAG,cAAevB,GAAI,GACtBuB,GAAG,cAAezE,GAAI,GACtByE,GAAG,eAAgBlI,GAAI,GACvBkI,GAAG,eAAgBnI,GAAI,GACvBmI,GAAG,eAAgBf,GAAI,GACvBe,GAAG,mBAAoBppG,GAAI,GAC3BopG,GAAG,iBAAkBlB,GAAI,OACrBh4E,GAAK,CACL,EACA,EACA,EACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEF2B,GAAK,CAAC,EAAG,EAAG,GACZI,GAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACvCC,GAAK,OACF+2F,eAAiB,SAASn3K,EAAGD,EAAGtB,EAAGjC,EAAGJ,GAAA,IACrCqyD,EAAI8iH,GACJ5kK,EAAI,IAAIymJ,GACVn0J,EAAI,IAAI6mJ,GACVn5I,EAAEikE,GAAK3xE,EACPA,EAAE+D,EAAIyrD,EACNxvD,EAAEyP,MAAQ,CAACzP,EAAEyP,OACbzP,EAAE0P,OAAS,CAAC1P,EAAE0P,QAAA,IACV1O,EAAIhB,EAAEyP,MACNrP,EAAIJ,EAAE0P,OACRpQ,EAAI,IAAIw6I,GAAA,GACN,MAAQx6I,GAAK,MAAQyB,EAAG,IAAI9B,EAAI,OAElCkB,EAAE,MAAQb,GACPL,EAAIgtJ,GAAGlrJ,EAAGD,EAAGtB,EAAGF,EAAEmQ,MAAOnQ,EAAEoQ,OAAQpQ,EAAEspE,GAAItpE,EAAEupE,GAAIvpE,EAAE0yB,OAAQ,YACzD/yB,EACA+B,EAAI,GACJ,MAAQA,IAAMA,EAAE,GAAK1B,EAAEmQ,MAAM,IAC9B,MAAQrP,IAAMA,EAAE,GAAKd,EAAEoQ,OAAO,IAC7B1O,EAAI,GACLA,EAAG,CACLhB,EAAEyP,MAAQzP,EAAEyP,MAAM,GAClBzP,EAAE0P,OAAS1P,EAAE0P,OAAO,SACZnS,IAAMA,EAAE,GAAKyC,EAAEyP,OAAA,MACftS,IAAMA,EAAE,GAAK6C,EAAE0P,QACvB3O,EAAG,IACDxD,EAAI,IAAIguJ,IACRpuJ,EAAI,IAAIo3J,IACNjgJ,KAAOvT,EACT5D,EAAE+D,EAAIJ,EACN3D,EAAEu1D,GAAKlzD,EACPrC,EAAEqmE,GAAK,EACP1iE,EAAI,CAAC,GACLX,EAAE,MAAQhD,IAET,IADD4D,EAAIkrJ,GAAG9uJ,EAAEmX,KAAMnX,EAAE+D,EAAG/D,EAAEu1D,GAAI,KAAM,KAAM,KAAM5xD,EAAG,KAAM3D,KAC1C,GAAK4D,IAAMD,EAAE,KAAOC,EAAI,GAE/B,IADJD,EAAIC,GACQ,IACVZ,EAAE,MAAQuN,GACVnQ,EAAE+W,KAAOnX,EAAEmX,KACX/W,EAAE2D,EAAI/D,EAAE+D,EAAI/D,EAAEknC,OACd9mC,EAAEm1D,GAAKv1D,EAAEu1D,GAAKv1D,EAAEknC,OAChB9mC,EAAEwrH,IAAMkG,GACR1xH,EAAEohE,GAAKuoF,GACP3pJ,EAAEy+C,GAAKorG,GACP7pJ,EAAEw1D,GAAKrlD,EACHvQ,EAAEs0E,GAAI,IAEJ,OADJ1wE,EAAIqoJ,MACW,CACb17I,EAAI,QACE3M,CAAA,aA3mHNA,EAAGD,GAAA,IACTtB,EAAI,CAAC,GACPjC,EAAI,CAAC,GACLJ,EAAI,CAAC,GACPgD,EAAG,OAAS,IACN,MAAQY,EAAG,OAAO,KAClB,MAAQD,EAAG,OAAQC,EAAE5D,EAAI,EAAI,KACjC4D,EAAEzB,EAAIwB,EACNC,EAAE5D,EAAI,EACN8D,EAAGF,EAAExB,EAAGuB,EAAEwT,KAAMxT,EAAEI,EAAGJ,EAAE4xD,KAClB40F,GAAGvmJ,EAAExB,EAAGC,EAAGjC,EAAGJ,GAAI,CACrB4D,EAAE5D,EAAI,QACAgD,CAAA,IAERY,EAAEq7D,GAAKmhB,GACPz8E,EAAE2O,MAAQjQ,EAAE,GACZsB,EAAE4O,OAASnS,EAAE,IACR8rJ,GAAG7pJ,EAAE,GAAIjC,EAAE,GAAI,EAAGwD,EAAG,MAAO,MAAMZ,EAAA,OAChC,SAETA,EAAE,GAAKY,EAAE5D,GACF,EAslHS,CAED4D,EAAGxD,GAAI,IAEPA,EAAI,IADTuD,EAAI+3J,GAAGt7J,EAAEkS,MAAOlS,EAAEmS,OAAQhC,EAAE0nD,GAAI1nD,EAAEikE,KAChB,CAChBxxE,EAAG,CACD5C,EAAIwD,EACJD,EAAG,OAAS,IACN,MAAQvD,EAAG,CACbA,EAAI,QACE4C,CAAA,IAERA,EAAE,MAAQ5C,EAAEmQ,EAAE6yD,IACdpgE,EAAE,MAAQ5C,EAAEmQ,EAAEgpD,IACdv2D,EAAE,EAAI5C,EAAEmQ,EAAEywD,IAEVh+D,EAAE,OADFX,EAAIjC,EAAE+B,IAGNa,EAAE,OADFhD,EAAIqC,EAAEuzD,KAEF,GAAKx1D,EAAE6+D,GAAI,IACb7+D,EAAE80D,GAAKl1D,EAAEw0E,GACTp0E,EAAE49D,GAAKh+D,EAAEg+D,GACTh7D,EAAE,MAAQ5C,EAAE80D,KACP+mG,GAAGj8J,EAAEi4D,GAAI51D,EAAG+yK,IAAK,CACpBh1K,EAAEJ,EAAI,QACA2D,CAAA,KAEHwoJ,GAAG/rJ,EAAGiC,EAAEiQ,OAAQ,MAAM3O,EAAA,GACvBtB,EAAE8yD,GAAI,MAAMxxD,EAAA,IACftB,EAAE8yD,IAAMqnF,GAAGp8I,EAAE80D,GAAGtuD,KAAOgyJ,KAAA,GACnBx4J,EAAE80D,GAAGtuD,IACPqtJ,MAAM,iCACP,MAAQ7zJ,EAAE80D,GAAGpzD,EAAE64D,GAAG11D,GAAK2zJ,MAEvBx4J,EAAEogE,IACF,EAAIpgE,EAAEmQ,EAAEumD,IACR,MAAQ12D,EAAEmQ,EAAEuuD,GAAGv3D,IACdxB,EAAG3F,EAAEmQ,EAAEuuD,GAAI1+D,EAAEmQ,EAAE6oD,GAAGC,IACnB,CACAj5D,EAAEJ,EAAI,QACA2D,CAAA,CAERvD,EAAE6+D,GAAK,MAEJjN,GAAG5xD,EAAGA,EAAE8G,EAAG9G,EAAEg3D,GAAIh3D,EAAEyC,EAAGzC,EAAEA,EAAGiC,EAAEgwD,EAAGy4F,IAAK,MAAMnnJ,EAChD3D,EAAEyjE,GAAKrjE,EAAE23D,GACT33D,EAAI,QACE4C,CAAA,CAERA,EAAE,GAAK5C,EAAEJ,GACTI,EAAI,EAENA,GAAKA,CAAA,CAEPA,IAAMuD,EAAIC,EAAE5D,EAAA,MACP2D,EAAIC,EAAE5D,CAAA,KACR,IAED,OADJ4D,EAAI,IAAI0qJ,IACO,CACb/9I,EAAI,QACE3M,CAAA,IAERA,EAAE4zD,GAAKx3D,EAAEq0E,GACTzwE,EAAEoC,EAAIhG,EAAEgG,EACRpC,EAAE0+D,GAAKtiE,EAAE04D,GACLw2F,GAAGtrJ,EAAGxD,IAAA,GACsC,IAAxCuD,EAAI+3J,GAAGt7J,EAAEkS,MAAOlS,EAAEmS,OAAQhC,EAAE0nD,GAAI1nD,EAAEikE,KAAe,IACrD5wE,EAAEuzD,GAAK,EACP90D,EAAIkO,EAAE0nD,GAENj1D,EAAE,OADFhD,EAAI4D,IAEA,MAAQvB,EAAG,IAGT,GADJwB,EAAI,GADJA,EAAIxB,EAAEkoE,IACM,EAAI,IAAM1mE,EAAI,IAAO,IAAMA,EAAK,KACjC,KACJZ,EAAId,EAAI,EAAG,EAAIc,IAAKA,EAErB,IADDnB,EAAI9B,EAAEq7D,GAAGp4D,IACDi/D,KACJpgE,EAAE0zD,GAAM3xD,EAAIkgF,GAAG,EAAIjiF,EAAEogE,GAAK,EAAIpgE,EAAEogE,KAAQ,GAC1C//D,GAAKL,EAAE0zD,GACZrzD,IAAM8xJ,MAAM,sBAAwBj0J,EAAEw1D,GAAK,GAE7Cx1D,EAAEy3D,GAAKp1D,EAAE8nE,GAAA,IACHnqE,EAAEy3D,GAAMz3D,EAAEy3D,GAAK,IAAO,EAAIz3D,EAAEy3D,KAAOz3D,EAAEy3D,GAAK,GAElD+3F,GAAG5rJ,EAAGxD,KAAOuD,EAAIC,EAAE5D,EAAA,OAEhB2D,EAAIC,EAAE5D,CAAA,IAEV2D,GAAK,MAAQ4M,EAAE0nD,IAAM1nD,EAAE0nD,GAAG8N,KAAOpiE,EAAIm4J,GAAGvrJ,EAAEikE,IAAA,CAEjDjkE,EAAI5M,CAAA,CAEN0uD,EAAI,GAAK9hD,EAAI,KAAO,GAAK8hD,EAAIxvD,EAAEf,EAAEgzK,KAAK76G,GAAKp3D,EAAEf,EAAE64D,GAAG12D,CAAA,MAC7CouD,EAAI,YACJA,CAAA,MAELmvB,GAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,aAuBvC39E,EAAOD,EAAMZ,GAAA,QAChBW,EAAM,GACDtB,EAAI,EAAGA,EAAI,EAAGA,IAAKsB,GAAO+C,OAAOgO,aAAa9Q,EAAKZ,MAAA,OACrDW,CAAA,UAOAV,EAAQW,EAAMZ,GAAA,OAEjBY,EAAKZ,EAAW,GACfY,EAAKZ,EAAW,IAAM,EACtBY,EAAKZ,EAAW,IAAM,MACzB,WAIKb,EAAQyB,EAAMZ,GAAA,OAEjBY,EAAKZ,EAAW,GACfY,EAAKZ,EAAW,IAAM,EACtBY,EAAKZ,EAAW,IAAM,GACtBY,EAAKZ,EAAW,IAAM,MACzB,MA9CAH,EAAA,IAgJAf,EAAS,CAAC,GACViB,EAAQ,CAAC,GACTP,EAAS,GACTM,EAAc,IAAID,EAElBT,EAAWwB,EACXE,EAAA,SApGoBF,EAAKZ,GAAA,IACvBW,EAAa,CAAC,EACdtB,EAAI,EACJjC,GAAA,EACAJ,EAAa,EACbqyD,EAAe,KACnB1uD,EAAUmuK,OAAa,aAzCTluK,EAAMZ,GAAe,IAC9B,IAAI5C,EAAI,EAAGA,EAyCiB,EAzCPA,IAAA,GACpBwD,EAAKZ,EAAW5C,IAwCG,OAxCO8T,WAAW9T,GAAI,OAAO,UAC/C,EAuCIwD,EAAKZ,GAAqB,CAAJ,IA9BlBuN,EAAM1N,EA+BV,IACKV,EAAQyB,EADxBZ,GAAW,GAEXA,GAAW,EAEJA,EAAUY,EAAIzD,QAAQ,KACvB2B,EAAS+B,EAAOD,EAAKZ,GAGrBD,EAAeZ,EAAQyB,EAF3BZ,GAAW,GAGXA,GAAW,MACPR,EAAsBO,GAA+B,EAAfA,GAAA,OAElCjB,GAAA,IACD,WACA,gBACQ6B,EAAUmuK,OAAWzvK,KAC9BsB,EAAUmuK,OAAWzvK,GAAK,CAAC,IACzByB,EAAMH,EAAUmuK,OAAWzvK,IAG5B24K,QAAc56K,EAAciyD,EAAervD,EAAU,EACxDc,EAAGm3K,SAAej7K,EAAa+C,EAAe,EAG9CV,IACIjC,IACFA,GAAA,EACAJ,EAAa,EACbqyD,EAAe,aAGd,QACCvuD,EAAOH,EAAU4yG,OAAa,CAAC,GACX2kE,cAAoBt3K,EAAIZ,GAAA,IAC5CF,EAAWE,EAAU,EACLc,EAAGq3K,aAAmB,EAAIl4K,EAAQW,EAAKd,GAC3DA,GAAY,EACSgB,EAAGs3K,cACtB,EAAIn4K,EAAQW,EAAKd,GACnBA,GAAY,YAET,OACH1C,GAAA,EACAJ,EAAawC,EAAsB,EACnC6vD,EAAervD,EAAU,YAGtB,QACCc,EAAMH,EAAU4yG,QACF8kE,QAAcl5K,EAAQyB,EAAKZ,GAC7CF,EAAWE,EAAU,EAEHc,EAAGw3K,YAnFZ/qK,EAmFqC3M,IAnF/Bf,EAmFoCC,GAlFjC,GAAYyN,EAAK1N,EAAW,IAAM,EAmFpDC,GAAY,YAET,WAQDV,EACE0B,GAAAA,EAAOH,EAAUmuK,OAAWzvK,GAAK,CAAC,GACnCk5K,SAA0B,EAAIt4K,EAAQW,EAAKZ,GAC9CA,GAAW,EACXc,EAAG03K,SAA0B,EAAIv4K,EAAQW,EAAKZ,GAC9CA,GAAW,EACXc,EAAGwO,MAAoB,EAAIrP,EAAQW,EAAKZ,GACxCA,GAAW,EACXc,EAAGyO,OAAsB,EAAItP,EAAQW,EAAKZ,GAC1CA,GAAW,EACXc,EAAGo8B,SAA0Bj9B,EAAQW,EAAKZ,GAC1CA,GAAW,EACXZ,EAAOwB,EAAIZ,KACXc,EAAG23K,QAA+B,EAAPr5K,EAC3B0B,EAAG43K,MAAqBt5K,GAAQ,EAAK,EAI3B,QAAVN,IAAkBkB,GAAWR,EAAA,QAE5BmB,CAAA,EASL,CAA4BvB,EAAU,GAC1C0B,EAAUs5C,SAAeh7C,EACzB0B,EAAU63K,YAAA,EACV73K,EAAU83K,SAAA,EAAc,IAEpB37K,EAAS6D,EAAUyyG,OAAazyG,EAAUyyG,OAAa,KACvDtyG,EAASH,EAAUguK,OAAahuK,EAAUguK,OAAa,QAEvD7xK,EAAQ,CACVA,EAAM47K,aAAmB57K,EAAMq7K,WAC/Bx5K,EAAS,CAAC7B,EAAMm7K,eAChBr4K,EAAQ,CAAC9C,EAAMk7K,cAAA,IAGV,IAAIp3K,EAAI,EAAGA,EAAIE,EAAO9D,QACC,GAAtB8D,EAAOF,GAAP23K,MAD6B33K,KAAA,KAOjCsC,EAAQpC,EAAO,GACf2B,EAAO9C,EAAYi4K,eACrB34K,EACAiE,EAAK20K,QACL30K,EAAK40K,SACLl4K,EACAjB,GAEFuE,EAAK+kB,KAAWxlB,EAChBS,EAAKy1K,SAAe/4K,EAAM,GAC1BsD,EAAK01K,UAAgBj6K,EAAO,OAEvB,IAAIyE,EAAI,EAAGA,EAAIxD,EAAM,GAAKjB,EAAO,GAAK,EAAGyE,IAC5C/D,EAAO+D,GAAKX,EAAKW,GAAA,YAGd+L,MAAQvP,EAAA,KACRwP,OAASzQ,EAAA,KACTqV,KAAO3U,EACLqC,IAAA,ECjyKT,SAAUjB,GAAA,IAgDJvB,EAAgB,SAASsB,EAAOtB,EAAYrC,EAAgBiD,GAAA,IAC1Dd,EAAQ,EACRL,EAAgByO,EAAA,OAEZtN,GAAA,KACDW,EAASkiK,kBAAkBE,KAC9B7jK,EAAQ,EACRL,EAAgBuwD,EAAA,WAGbzuD,EAASkiK,kBAAkBG,OAC9B9jK,EAAQ,EACRL,EAAgBe,EAAA,WAGbe,EAASkiK,kBAAkBI,KAC9B/jK,EAAQ,EACRL,EAAgB+B,EAQlB,IAEEd,EAAMC,GANVW,EAAQvD,EACNuD,EACAtB,EACArC,EACA8B,GAEwB,CAAEghJ,MAAO3gJ,IAAA,OAC5ByB,EAASw/J,aAAayD,0BAA0B9jK,EAAA,EAGrD3C,EAAuB,SACzBwD,EACAZ,EACAW,EACAtB,GAAA,QAKEjC,EACAJ,EACAqyD,EALE9hD,EAAQ3M,EAAMzD,OAAS6C,EACzBH,EAAS,IAAIgS,WAAWjR,EAAMzD,OAASoQ,GACvC1M,EAAiB1B,IAKVc,EAAI,EAAGA,EAAIsN,EAAOtN,GAAK,EAAG,IACjCovD,EAASpvD,EAAID,EACb5C,EAAOwD,EAAM04I,SAASjqF,EAAQA,EAASrvD,GAEnCX,EACFQ,EAAOs1D,IAAI91D,EAAcjC,EAAMuD,EAAgB3D,GAAWqyD,EAASpvD,OAC9D,SAIIF,EAHLP,EAAMqB,EAAe1D,OACvB2C,EAAU,GAEAC,EAAIP,EAAKO,GAAK,EACxBD,EAAQC,GAAKc,EAAed,GAAG3C,EAAMuD,EAAgB3D,GAAA,IAGnDoC,EAAMN,EAAsBgB,EAAQgK,UAExCjK,EAAOs1D,IAAIr1D,EAAQV,GAAMiwD,EAASpvD,EAAA,CAGpCjD,EAAWI,CAAA,QAGNyC,CAAA,EAGL7C,EAAa,SAAS4D,GAAA,IAKpBZ,EAAS1C,MAAMmB,MAAM,GAAImC,GAAA,OAC7BZ,EAAOmiB,QAAQ,GAERniB,CAAA,EAGLqvD,EAAY,SAASzuD,EAAMZ,GAAA,IAG3BW,EAFEtB,EAAS,GACXjC,EAAMwD,EAAKzD,OAGbkC,EAAO,GAAK,MAEP,IAAIrC,EAAI,EAAGA,EAAII,EAAKJ,GAAK,EAC5B2D,EAAOC,EAAK5D,EAAIgD,IAAmB,EACnCX,EAAOrC,EAAI,GAAM4D,EAAK5D,GAAK2D,EAAO,IAAU,WAGvCtB,CAAA,EAGLkO,EAAW,SAAS3M,EAAMZ,EAAgBW,GAAA,IAG1CtB,EAFEjC,EAAS,GACXJ,EAAM4D,EAAKzD,OAGbC,EAAO,GAAK,MAEP,IAAIiyD,EAAI,EAAGA,EAAIryD,EAAKqyD,GAAK,EAC5BhwD,EAAMsB,GAAYA,EAAS0uD,IAAO,EAClCjyD,EAAOiyD,EAAI,GAAMzuD,EAAKyuD,GAAKhwD,EAAK,IAAU,WAGrCjC,CAAA,EAGLyC,EAAgB,SAASe,EAAMZ,EAAgBW,GAAA,IAG/CtB,EACAjC,EAHEJ,EAAS,GACXqyD,EAAMzuD,EAAKzD,OAIbH,EAAO,GAAK,MAEP,IAAIuQ,EAAI,EAAGA,EAAI8hD,EAAK9hD,GAAK,EAC5BlO,EAAOuB,EAAK2M,EAAIvN,IAAmB,EACnC5C,EAAMuD,GAAYA,EAAS4M,IAAO,EAClCvQ,EAAOuQ,EAAI,GAAM3M,EAAK2M,GAAK,KAAWlO,EAAOjC,IAAQ,GAAM,WAGtDJ,CAAA,EAGL6D,EAAc,SAASD,EAAMZ,EAAgBW,GAAA,IAG7CtB,EACAjC,EACAJ,EACAqyD,EALE9hD,EAAS,GACX1N,EAAMe,EAAKzD,OAMboQ,EAAO,GAAK,MAEP,IAAI1M,EAAI,EAAGA,EAAIhB,EAAKgB,GAAK,EAC5BxB,EAAOuB,EAAKC,EAAIb,IAAmB,EACnC5C,EAAMuD,GAAYA,EAASE,IAAO,EAClC7D,EAAU2D,GAAYA,EAASE,EAAIb,IAAoB,EACvDqvD,EAAQpvD,EAAeZ,EAAMjC,EAAIJ,GACjCuQ,EAAO1M,EAAI,GAAMD,EAAKC,GAAKwuD,EAAQ,IAAU,WAGxC9hD,CAAA,EAGLtN,EAAiB,SAASW,EAAMZ,EAAIW,GAAA,GAClCC,IAASZ,GAAMA,IAAOW,EAAA,OACjBC,EAAA,IAELvB,EAAQ8M,KAAKinB,IAAIpzB,EAAKW,GACxBvD,EAAM+O,KAAKinB,IAAIxyB,EAAOD,GACtB3D,EAAUmP,KAAKinB,IAAIxyB,EAAOZ,EAAKW,EAASA,GAAA,OACnCtB,GAASjC,GAAOiC,GAASrC,EAC5B4D,EACAxD,GAAOJ,EACPgD,EACAW,CAAA,EAGFxB,EAAmB,iBACd,CAACnC,EAAYqyD,EAAW9hD,EAAU1N,EAAegB,EAAA,EAGtD/B,EAAwB,SAAS8B,GAAA,IAC/BZ,EAAMY,EAAO6D,KAAI,SAAS7D,GAAA,OACrBA,EAAMozB,QAAO,SAASpzB,EAAIZ,GAAA,OACxBY,EAAKuL,KAAKinB,IAAIpzB,EAAA,GACpB,aAEEA,EAAI6Y,QAAQ1M,KAAK8W,IAAIxkB,MAAM,KAAMuB,GAAA,EA8B1CY,EAASo4K,WAAa,SAASh5K,EAAW5C,EAAOJ,EAAOqyD,GAAA,IAGlD9hD,EAEF1N,EACAgB,EAEAZ,EACAd,EACAL,EACAiB,EACAP,EACAM,EACAV,EACA0B,EACA7D,EACAgE,EACAF,EACAsC,EAfAT,EAASf,KAAK2+B,OAAO8hI,aAGrB/+J,EAAmB,MAcjB1B,KAAKu+J,aAAax4D,cAAc5nG,KAClCA,EAAY,IAAI6R,WAAW7R,IAEzB6B,KAAKu+J,aAAa31D,kBAAkBzqG,GAAY,IAElDA,GADAa,EAAQ,IAAIqrJ,GAAIlsJ,IACEsuK,QAClBzuK,EAAmBgB,EAAMq4I,KACzB3rI,EAAa1M,EAAMkgK,WACnB5hK,EAAS0B,EAAM2sH,QAS0B,IAArC,CAAC,EAAG,GAAG30G,QAAQhY,EAAM2tK,WAAmB,IAIvB,IAAf3tK,EAAMq4I,KAAY,CAOpBp5I,GANAN,EAC0B,IAAxBqB,EAAM0uK,eACF,IAAI17J,YAAYhT,EAAM2uK,eAAe98J,QACb,IAAxB7R,EAAM0uK,eACN,IAAI57J,YAAY9S,EAAM2uK,eAAe98J,QACrC,IAAIb,WAAWhR,EAAM2uK,eAAe98J,SAC7BvV,OACb2D,EAAU,IAAI+Q,WAAW/R,EAAMe,EAAM2sH,QACrCpuH,EAAY,IAAIyS,WAAW/R,GAAA,IAIvBkB,EAHA4C,EAAQ/C,EAAM0uK,eAAiB1uK,EAAMq4I,KAAA,IACzCn4I,EAAI,EACJsC,EAAI,EAGGtC,EAAIjB,EAAKiB,IAAK,KACnBE,EAAQzB,EAAOuB,GACfC,EAAM,EAECA,EAAM4C,GACX9C,EAAQuC,KAAQpC,IAAUD,EAAO,IACjCA,GAAYH,EAAMq4I,KAGpB95I,EAAU2B,GAAME,IAAUD,EAAO,QAOlB,KAAfH,EAAMq4I,KAAa,CAErBp5I,GADAN,EAAS,IAAIqU,YAAYhT,EAAM2uK,eAAe98J,SACjCvV,OACb2D,EAAU,IAAI+Q,WACZ/R,GAAO,GAAKe,EAAM0uK,gBAAkB1uK,EAAM2sH,QAE5CpuH,EAAY,IAAIyS,WAAW/R,GAAO,GAAKe,EAAM0uK,iBAC7CtyK,EAAY4D,EAAM2sH,OAAS,EAC3BzsH,EAAI,EACJsC,EAAI,UACAiL,EAAI,EAEDvN,EAAIjB,GACTmB,EAAQzB,EAAOuB,KAEfD,EAAQuC,KAAQpC,IAAU,EAAK,IAE3BhE,IACF6D,EAAQuC,KAAQpC,IAAU,GAAM,IAEhCA,EAAQzB,EAAOuB,KACfD,EAAQuC,KAAQpC,IAAU,EAAK,KAGjC7B,EAAUkP,KAAQrN,IAAU,GAAM,IAEpCpB,EAAmB,EAGLwvD,IAtTHzuD,EAASkiK,kBAAkBC,MAuTtC/iK,EAAYX,EACVyB,EACAD,EAAMyO,MAAQzO,EAAM2sH,OACpB3sH,EAAM2sH,OACNn+D,GAEFtvD,EAAQV,EAAcD,EAAWyB,EAAMyO,MAAO,EAAG+/C,KAEjDrvD,EAAYc,EACZf,EAAQX,EACRwD,OAAA,EAAS,IAOW,IAApB/B,EAAM2tK,YACRjhK,EAAa1L,KAAK8/J,aAAaX,QAC/BliK,EAAM+B,EAAMogK,QAERpgK,EAAMygK,aAAa8N,SAAS,KAC1BpsK,EAAQnC,EAAMygK,aAAa8N,QAC3BpwK,EAAQ,MACZ+B,EAAI,EACJjB,EAAMkD,EAAM7F,OAEL4D,EAAIjB,IAAOiB,EAChB/B,GAASgE,EAAMjC,GAAA,IAGjB/B,GAAgB,OAMFc,EAAM,IAA2B,IAAtBkD,EAAM6V,QAAQ,GACrC5Y,EAAO,CAAC+C,EAAM6V,QAAQ,SAMjB,GAAI7Z,IAAUc,EAAK,KACxBN,EAASqB,EAAM2uK,eACfpwK,EAAY,IAAIyS,WAAWrS,EAAOrC,QAClC4D,EAAI,EACJjB,EAAMN,EAAOrC,OAEN4D,EAAIjB,EAAKiB,IACd3B,EAAU2B,GAAKiC,EAAMxD,EAAOuB,IAG9BhB,EAAQV,EAAcD,EAAWyB,EAAMyO,MAAO,QAKhD7M,EA7L0B,SAASzC,GAAA,IACrCW,EAAA,OACIX,GAAA,KACDY,EAASkiK,kBAAkBE,KAC9BriK,EAAY,cAGTC,EAASkiK,kBAAkBG,OAC9BtiK,EAAY,cAGTC,EAASkiK,kBAAkBI,KAC9BviK,EAAY,iBAIZA,EAAY,UAGTA,CAAA,CAnByB,CA6Lc0uD,GAAA,OAExCzsD,IAAWf,KAAK2+B,OAAO8hI,eACzB/+J,EAAmB,cAAgBd,EAAY,KAEjDc,GACE,WACApE,EACA,sBACAU,EACA,aACAgB,EAAMyO,OAGNzN,KAAKu+J,aAAax4D,cAAc5nG,IAChC6B,KAAKu+J,aAAa31D,kBAAkBzqG,MAEpCA,EAAY6B,KAAKu+J,aAAayD,0BAA0B7jK,KAIvDD,GAAS8B,KAAKu+J,aAAax4D,cAAc7nG,IAC1C8B,KAAKu+J,aAAa31D,kBAAkB1qG,MAEpCA,EAAQ8B,KAAKu+J,aAAayD,0BAA0B9jK,IAG/C,CACL2hK,MAAO1kK,EACPmX,KAAMnU,EACNwR,MAAOpU,EACPkpB,OAAQ1jB,EACRy+J,iBAAkB99J,EAClB+9J,aAAcrhK,EACdghK,QAASniK,EACToiK,MAAOnhK,EACPwhK,UAAW9+J,EACX6M,MAAOzO,EAAMyO,MACbC,OAAQ1O,EAAM0O,OACd6xJ,iBAAkBvhK,EAClBkhK,WAAYxzJ,EAAA,GApcpB,CAwcG3L,GAAM2rJ,KCzdT,SAAU3sJ,GAGRA,EAASq4K,cAAgB,SAASj5K,EAAWW,EAAOtB,EAAOjC,GAAA,IACrDJ,EAAS,IAAImvJ,GAAUnsJ,GACvBqvD,EAAQryD,EAAOsS,MACjB/B,EAASvQ,EAAOuS,OAEd1P,EAAS,GAEb7C,EAAO6zK,uBAAuB,EAAGhxK,GAAA,IAC7BgB,EAAe,CACjBsT,KAAMtU,EACNyP,MAAO+/C,EACP9/C,OAAQhC,GAINtN,EADU,IAAIusJ,GAVT,KAWUx9C,OAAOnuG,EAXjB,YAYFD,EAASwtK,YAAYpwK,KAAK6D,KAAM5B,EAAMU,EAAOtB,EAAOjC,EAAA,EAG7DwD,EAASs4K,cAAgBt4K,EAASq4K,aAAA,CAtBpC,CAuBGr3K,GAAM2rJ,KHjBTvhF,GAAWnuE,UAAUszK,YAAc,mBAC5BgI,SAAWt3K,KAAKivK,MAAMsI,UAAUv3K,KAAK27G,KAAA,GAAK,KAC1CA,KAAO,OACP67D,SAAWx3K,KAAKivK,MAAMsI,UAAUv3K,KAAK27G,KAAA,GAAK,KAC1CA,KAAO,OACPt5E,OAASriC,KAAKivK,MAAMsI,UAAUv3K,KAAK27G,KAAA,GAAK,KACxCA,KAAO,OACP87D,WAAaz3K,KAAKivK,MAAMsI,UAAUv3K,KAAK27G,KAAA,GAAK,KAC5CA,KAAO,OACPluG,MAAQzN,KAAKivK,MAAMsI,UAAUv3K,KAAK27G,KAAA,GAAK,KACvCA,KAAO,OACPjuG,OAAS1N,KAAKivK,MAAMyI,SAAS13K,KAAK27G,KAAA,GAAK,KACvCA,KAAO,OACPg8D,OAAS33K,KAAKivK,MAAM2I,UAAU53K,KAAK27G,KAAA,GAAK,KACxCA,KAAO,OACPk8D,MAAQ73K,KAAKivK,MAAM2I,UAAU53K,KAAK27G,KAAA,GAAK,KACvCA,KAAO,OACPskC,SAAWjgJ,KAAKivK,MAAMsI,UAAUv3K,KAAK27G,KAAA,GAAK,KAC1CA,KAAO,OACPm8D,QAAU93K,KAAKivK,MAAMsI,UAAUv3K,KAAK27G,KAAA,GAAK,KACzCA,KAAO,OACPjiD,GAAK15D,KAAKivK,MAAMsI,UAAUv3K,KAAK27G,KAAA,GAAK,KACpCA,KAAO,OACPs4C,GAAKj0J,KAAKivK,MAAMsI,UAAUv3K,KAAK27G,KAAA,GAAK,KACpCA,KAAO,OACPgQ,OAAS3rH,KAAKivK,MAAMsI,UAAUv3K,KAAK27G,KAAA,GAAK,KACxCA,KAAO,OACPo8D,gBAAkB/3K,KAAKivK,MAAMsI,UAAUv3K,KAAK27G,KAAA,GAAK,KACjDA,KAAO,EAEO,KAAf37G,KAAK63K,OAAgB73K,KAAKmvK,gBAAA,KACvB0I,MAAQ,IAEX73K,KAAK63K,MAAQ,GAAI,KACf94K,EAAsB,IAAhBiB,KAAK2rH,OAAe,GAAK3rH,KAAK63K,MAAQ73K,KAAK2rH,OAAA,KAChDyzC,QAAU,IAAI3jK,MAAMsD,GAAA,IACpB,IAAIZ,EAAI,EAAGA,EAAIY,EAAKZ,IAAK,KACxBW,EAAOkB,KAAKivK,MAAM+I,SAASh4K,KAAK27G,OAAA,GAChCn+G,EAAQwC,KAAKivK,MAAM+I,SAASh4K,KAAK27G,OAAA,GACjCpgH,EAAMyE,KAAKivK,MAAM+I,SAASh4K,KAAK27G,OAAA,GAC/BxgH,EAAO6E,KAAKivK,MAAM+I,SAASh4K,KAAK27G,OAAA,GAAO,KACtCyjD,QAAQjhK,GAAK,CAChBunB,IAAKnqB,EACLkqB,MAAOjoB,EACPgoB,KAAM1mB,EACNm5K,KAAM98K,EAAA,EAIR6E,KAAK0N,OAAS,SACXA,SAAW,OACX0hK,WAAA,EAAY,EAIrBjlG,GAAWnuE,UAAUuzK,SAAW,gBACzB5zD,IAAM37G,KAAKqiC,OAAA,QAEVtjC,EAAO,MAAQiB,KAAK63K,MACpB15K,EAAM6B,KAAKyN,MAAQzN,KAAK0N,OAAS,OAChC4E,KAAO,IAAItC,WAAW7R,GAAA,KAEtBY,IAAA,CACL,MAAOA,GACP5D,GAAQuiE,IAAI,oBAAsB3+D,EAAA,GAItCorE,GAAWnuE,UAAUk8K,KAAO,eAGtBn5K,EAFAZ,EAAOmM,KAAKiI,KAAKvS,KAAKyN,MAAQ,GAC9B3O,EAAOX,EAAO,MAEbY,EAAIiB,KAAK0N,OAAS,EAAG3O,GAAK,EAAGA,IAAK,SACjCvB,EAAOwC,KAAKovK,UAAYrwK,EAAIiB,KAAK0N,OAAS,EAAI3O,EACzCxD,EAAI,EAAGA,EAAI4C,EAAM5C,IAAA,QACpBJ,EAAI6E,KAAKivK,MAAM+I,SAASh4K,KAAK27G,OAAA,GAC7BnuD,EAAWhwD,EAAOwC,KAAKyN,MAAQ,EAAQ,EAAJlS,EAAQ,EACtCmQ,EAAI,EAAGA,EAAI,GACV,EAAJnQ,EAAQmQ,EAAI1L,KAAKyN,MADA/B,IAAK,KAEpB1N,EAAMgC,KAAKo/J,QAASjkK,GAAM,EAAIuQ,EAAM,QACnC4G,KAAKk7C,EAAe,EAAJ9hD,GAAS1N,EAAIwnB,KAAA,KAC7BlT,KAAKk7C,EAAe,EAAJ9hD,EAAQ,GAAK1N,EAAIynB,MAAA,KACjCnT,KAAKk7C,EAAe,EAAJ9hD,EAAQ,GAAK1N,EAAI0nB,IAAA,KACjCpT,KAAKk7C,EAAe,EAAJ9hD,EAAQ,GAAK,IAO3B,IAAT5M,IAAA,KACG68G,KAAO,EAAI78G,EAAA,GAKtBqrE,GAAWnuE,UAAUm8K,KAAO,mBACtBp5K,EAAOuL,KAAKiI,KAAKvS,KAAKyN,MAAQ,GAC9BtP,EAAOY,EAAO,EACTD,EAAIkB,KAAK0N,OAAS,EAAG5O,GAAK,EAAGA,IAAK,SACrCtB,EAAOwC,KAAKovK,UAAYtwK,EAAIkB,KAAK0N,OAAS,EAAI5O,EACzCvD,EAAI,EAAGA,EAAIwD,EAAMxD,IAAK,KACzBJ,EAAI6E,KAAKivK,MAAM+I,SAASh4K,KAAK27G,OAAA,GAC7BnuD,EAAWhwD,EAAOwC,KAAKyN,MAAQ,EAAQ,EAAJlS,EAAQ,EAE3CmQ,EAASvQ,GAAK,EACd6C,EAAY,GAAJ7C,EAER6D,EAAMgB,KAAKo/J,QAAQ1zJ,GAAA,QAClB4G,KAAKk7C,GAAYxuD,EAAIwmB,KAAA,KACrBlT,KAAKk7C,EAAW,GAAKxuD,EAAIymB,MAAA,KACzBnT,KAAKk7C,EAAW,GAAKxuD,EAAI0mB,IAAA,KACzBpT,KAAKk7C,EAAW,GAAK,IAElB,EAAJjyD,EAAQ,GAAKyE,KAAKyN,MAAO,MAE7BzO,EAAMgB,KAAKo/J,QAAQphK,GAAA,KACdsU,KAAKk7C,EAAW,GAAKxuD,EAAIwmB,KAAA,KACzBlT,KAAKk7C,EAAW,EAAI,GAAKxuD,EAAIymB,MAAA,KAC7BnT,KAAKk7C,EAAW,EAAI,GAAKxuD,EAAI0mB,IAAA,KAC7BpT,KAAKk7C,EAAW,EAAI,GAAK,IAGnB,IAATrvD,IAAA,KACGw9G,KAAO,EAAIx9G,EAAA,GAKtBgsE,GAAWnuE,UAAUo8K,KAAO,mBACtBr5K,EAAOiB,KAAKyN,MAAQ,EACftP,EAAI6B,KAAK0N,OAAS,EAAGvP,GAAK,EAAGA,IAAK,SACrCW,EAAOkB,KAAKovK,UAAYjxK,EAAI6B,KAAK0N,OAAS,EAAIvP,EACzCX,EAAI,EAAGA,EAAIwC,KAAKyN,MAAOjQ,IAAK,KAC/BjC,EAAIyE,KAAKivK,MAAM+I,SAASh4K,KAAK27G,OAAA,GAC7BxgH,EAAW2D,EAAOkB,KAAKyN,MAAQ,EAAQ,EAAJjQ,EAAA,GACnCjC,EAAIyE,KAAKo/J,QAAQ9jK,OAAQ,KACvBkyD,EAAMxtD,KAAKo/J,QAAQ7jK,GAAA,KAClB+W,KAAKnX,GAAYqyD,EAAI9nC,IAAA,KACrBpT,KAAKnX,EAAW,GAAKqyD,EAAI/nC,MAAA,KACzBnT,KAAKnX,EAAW,GAAKqyD,EAAIhoC,KAAA,KACzBlT,KAAKnX,EAAW,GAAK,cAErBmX,KAAKnX,GAAY,SACjBmX,KAAKnX,EAAW,GAAK,SACrBmX,KAAKnX,EAAW,GAAK,SACrBmX,KAAKnX,EAAW,GAAK,IAGjB,IAAT4D,IAAA,KACG48G,KAAO,EAAI58G,EAAA,GAKtBorE,GAAWnuE,UAAUq8K,MAAQ,mBACvBt5K,EAAQiB,KAAKyN,MAAQ,EAEvBtP,EADW4e,SAAS,QAAS,GAEtBje,EAAIkB,KAAK0N,OAAS,EAAG5O,GAAK,EAAGA,IAAK,SACrCtB,EAAOwC,KAAKovK,UAAYtwK,EAAIkB,KAAK0N,OAAS,EAAI5O,EACzCvD,EAAI,EAAGA,EAAIyE,KAAKyN,MAAOlS,IAAK,KAC/BJ,EAAI6E,KAAKivK,MAAM2I,UAAU53K,KAAK27G,KAAA,GAAK,KAClCA,KAAO,MACRnuD,GAAUryD,EAAIgD,GAAQA,EAAQ,IAAO,EACrCuN,GAAYvQ,GAAK,EAAKgD,GAAQA,EAAQ,IAAO,EAC7CH,GAAU7C,GAAK,GAAMgD,GAAQA,EAAQ,IAAO,EAC5Ca,EAAQ7D,GAAK,GAAK,IAAO,EAEzBiD,EAAWZ,EAAOwC,KAAKyN,MAAQ,EAAQ,EAAJlS,EAAA,KAClC+W,KAAKlU,GAAYJ,EAAA,KACjBsU,KAAKlU,EAAW,GAAKsN,EAAA,KACrB4G,KAAKlU,EAAW,GAAKovD,EAAA,KACrBl7C,KAAKlU,EAAW,GAAKY,CAAA,MAGvB28G,KAAO58G,CAAA,GAIhBorE,GAAWnuE,UAAUs8K,MAAQ,mBACvBv5K,EAAQiB,KAAKyN,MAAQ,EAEvBtP,EADW4e,SAAS,QAAS,GAG7Bje,EADYie,SAAS,SAAU,GAExBvf,EAAIwC,KAAK0N,OAAS,EAAGlQ,GAAK,EAAGA,IAAK,SACrCjC,EAAOyE,KAAKovK,UAAY5xK,EAAIwC,KAAK0N,OAAS,EAAIlQ,EACzCrC,EAAI,EAAGA,EAAI6E,KAAKyN,MAAOtS,IAAK,KAC/BqyD,EAAIxtD,KAAKivK,MAAM2I,UAAU53K,KAAK27G,KAAA,GAAK,KAClCA,KAAO,MAERjwG,GAAU8hD,EAAIrvD,GAAQA,EAAQ,IAAO,EACrCH,GAAYwvD,GAAK,EAAK1uD,GAAQA,EAAQ,IAAO,EAC7CE,GAASwuD,GAAK,IAAMrvD,EAAQ,IAAO,EAEnCC,EAAW7C,EAAOyE,KAAKyN,MAAQ,EAAQ,EAAJtS,EAAA,KAClCmX,KAAKlU,GAAYY,EAAA,KACjBsT,KAAKlU,EAAW,GAAKJ,EAAA,KACrBsU,KAAKlU,EAAW,GAAKsN,EAAA,KACrB4G,KAAKlU,EAAW,GATT,SAYTu9G,KAAO58G,CAAA,GAIhBorE,GAAWnuE,UAAUu8K,MAAQ,eAEtB,IAAIx5K,EAAIiB,KAAK0N,OAAS,EAAG3O,GAAK,EAAGA,IAAK,SACrCZ,EAAO6B,KAAKovK,UAAYrwK,EAAIiB,KAAK0N,OAAS,EAAI3O,EACzCD,EAAI,EAAGA,EAAIkB,KAAKyN,MAAO3O,IAAK,KAC/BtB,EAAOwC,KAAKivK,MAAM+I,SAASh4K,KAAK27G,OAAA,GAChCpgH,EAAQyE,KAAKivK,MAAM+I,SAASh4K,KAAK27G,OAAA,GACjCxgH,EAAM6E,KAAKivK,MAAM+I,SAASh4K,KAAK27G,OAAA,GAC/BnuD,EAAWrvD,EAAO6B,KAAKyN,MAAQ,EAAQ,EAAJ3O,EAAA,KAClCwT,KAAKk7C,GAAYryD,EAAA,KACjBmX,KAAKk7C,EAAW,GAAKjyD,EAAA,KACrB+W,KAAKk7C,EAAW,GAAKhwD,EAAA,KACrB8U,KAAKk7C,EAAW,GAAK,SAGvBmuD,KAAO37G,KAAKyN,MAAQ,IAQ7B08D,GAAWnuE,UAAUw8K,MAAQ,eAEtB,IAAIz5K,EAAIiB,KAAK0N,OAAS,EAAG3O,GAAK,EAAGA,IAAA,QAChCZ,EAAO6B,KAAKovK,UAAYrwK,EAAIiB,KAAK0N,OAAS,EAAI3O,EACzCD,EAAI,EAAGA,EAAIkB,KAAKyN,MAAO3O,IAAK,KAC/BtB,EAAOwC,KAAKivK,MAAM+I,SAASh4K,KAAK27G,OAAA,GAChCpgH,EAAQyE,KAAKivK,MAAM+I,SAASh4K,KAAK27G,OAAA,GACjCxgH,EAAM6E,KAAKivK,MAAM+I,SAASh4K,KAAK27G,OAAA,GAC/BnuD,EAAQxtD,KAAKivK,MAAM+I,SAASh4K,KAAK27G,OAAA,GACjCjwG,EAAWvN,EAAO6B,KAAKyN,MAAQ,EAAQ,EAAJ3O,EAAA,KAClCwT,KAAK5G,GAAYvQ,EAAA,KACjBmX,KAAK5G,EAAW,GAAKnQ,EAAA,KACrB+W,KAAK5G,EAAW,GAAKlO,EAAA,KACrB8U,KAAK5G,EAAW,GAAK8hD,CAAA,GAOhC2c,GAAWnuE,UAAUy8K,QAAU,kBACtBz4K,KAAKsS,IAAA,EIlQd,SAAUvT,GAGRA,EAAS25K,WAAa,SAASv6K,EAAWW,EAAOtB,EAAOjC,GAAA,IAClDJ,EAAS,IAAIgvE,GAAWhsE,GAAA,GACxBqvD,EAAQryD,EAAOsS,MACjB/B,EAASvQ,EAAOuS,OAId1P,EAAe,CACjBsU,KAHWnX,EAAOs9K,UAIlBhrK,MAAO+/C,EACP9/C,OAAQhC,GAIN1M,EADU,IAAI2rJ,GATT,KAUUx9C,OAAOnvG,EAVjB,YAWFe,EAASwtK,YAAYpwK,KAAK6D,KAAMhB,EAAMF,EAAOtB,EAAOjC,EAAA,EAlB/D,CAoBGwE,GAAM2rJ,KHkyKT9iF,GAAY5sE,UAAUy8K,QAAU,kBACvBz4K,KAAKsS,IAAA,EItzKd,SAAUvT,GAGRA,EAAS45K,YAAc,SAASx6K,EAAWW,EAAOtB,EAAOjC,GAAA,IACnDJ,EAAS,IAAIytE,GAAYzqE,GAAA,GACzBqvD,EAAQryD,EAAOsS,MACjB/B,EAASvQ,EAAOuS,OAId1P,EAAe,CACjBsU,KAHWnX,EAAOs9K,UAIlBhrK,MAAO+/C,EACP9/C,OAAQhC,GAIN1M,EADU,IAAI2rJ,GATT,KAUUx9C,OAAOnvG,EAVjB,YAWFe,EAASwtK,YAAYpwK,KAAK6D,KAAMhB,EAAMF,EAAOtB,EAAOjC,EAAA,EAlB/D,CAoBGwE,GAAM2rJ,KC0CN3rJ,GAAM2rJ,IApCEktB,YAAc,SAAS75K,EAAWZ,EAAOW,GAAA,QAG5CtB,EAAcuB,EAAUuT,KACxB/W,EAASiC,EAAYlC,OAErBH,EAAS,IAAI6U,WAAYzU,EAAS,EAAK,GACvCiyD,EAAW,IAAIx9C,WAAWzU,EAAS,GACnCmQ,EAAW,EACX1N,EAAa,EAERgB,EAAI,EAAGA,EAAIzD,EAAQyD,GAAK,EAAG,KAC9BZ,EAAIZ,EAAYwB,GAChB1B,EAAIE,EAAYwB,EAAI,GACpB/B,EAAIO,EAAYwB,EAAI,GACpBd,EAAQV,EAAYwB,EAAI,GAC5B7D,EAAOuQ,KAActN,EACrBjD,EAAOuQ,KAAcpO,EACrBnC,EAAOuQ,KAAczO,EACrBuwD,EAASxvD,KAAgBE,CAAA,KAGvBP,EAAUqC,KAAKu+J,aAAayD,0BAA0B7mK,GAAA,MAGnD,CACLoqB,MAHcvlB,KAAKu+J,aAAayD,0BAA0Bx0G,GAI1Dl7C,KAAM3U,EACNgS,MAAOxR,EACP0hK,MAAO/gK,EACPogK,WAAY,YACZK,iBAAkB,EAClB9xJ,MAAO1O,EAAU0O,MACjBC,OAAQ3O,EAAU2O,OAAA,EC6KrB3N,GAAM2rJ,IA5NEmtB,YAAc,SAAS95K,GAAA,gBA0M1BiB,KAAKg8F,SAAS88E,mBAAA,KACX98E,SAAS88E,iBAAmB,CAAC,EAAD,KAC5B98E,SAAS88E,iBAAiBC,cAAA,QAAe,IAzMhC,CACdlrG,GAAI,YACJmrG,GAAI,WACJ5rK,GAAI,4BACK,2BACA,2BACA,yBACA,wBACA,0BACA,0BACA,2BACA,yBACA,2BACA,wBACA,yBACA,gCACA,yBACA,2BACA,0BACA,iBACT2lK,GAAI,YACJkG,GAAI,WACJC,GAAI,WACJC,IAAK,WACLC,GAAI,cACJC,GAAI,SACJ7wG,GAAI,aACJkrG,GAAI,UACJx4B,GAAI,UACJ3hF,GAAI,SACJ4Y,GAAI,YACJmnG,GAAI,UACJjpH,GAAI,UACJ8lB,GAAI,WACJzN,GAAI,UACJ8P,GAAI,kBACK,8BACA,wBACA,8BACA,mBACT+gG,GAAI,UACJ5iC,GAAI,WACJic,GAAI,OACJl5F,GAAI,WACJ8/G,GAAI,QACJlpH,GAAI,SACJu5B,GAAI,2BACK,kBACTynF,GAAI,kBACK,8BACA,2BACA,2BACA,4BACA,4BACA,gCACA,gCACA,iCACA,sCACA,mCACA,kCACA,qBACTmI,GAAI,YACJ3/B,GAAI,WACJ4/B,GAAI,WACJx5F,GAAI,SACJ5E,GAAI,UACJ0yE,GAAI,4BACK,2BACA,0BACA,0BACA,8BACA,0BACA,uBACT2rB,GAAI,UACJC,IAAK,WACLz4G,GAAI,yBACK,iBACT3uB,GAAI,WACJqe,GAAI,WACJ8X,GAAI,4BACK,2BACA,2BACA,iCACA,8BACA,uBACTugB,GAAI,QACJ2wF,GAAI,WACJ70B,GAAI,UACJj8E,GAAI,SACJyS,GAAI,QACJs+F,GAAI,YACJ5/G,GAAI,YACJ3xD,GAAI,aACJwxK,GAAI,YACJtH,GAAI,QACJr2B,GAAI,6BACK,wBACTxrF,GAAI,WACJgiH,GAAI,UACJoH,GAAI,WACJh1F,GAAI,SACJi1F,GAAI,QACJC,GAAI,UACJz/H,IAAK,UACL0/H,GAAI,iBACK,+BACA,uBACTrpH,GAAI,QACJutF,GAAI,UACJjF,GAAI,aACJrjF,GAAI,gBACJqvB,GAAI,kBACJqlC,GAAI,QACJ7gC,GAAI,YACJ27D,GAAI,UACJzpE,GAAI,QACJi4E,GAAI,UACJqmB,GAAI,YACJC,GAAI,SACJrnG,GAAI,SACJrJ,GAAI,SACJ2wG,GAAI,YACJrkH,GAAI,qBACJo7G,GAAI,sBACJ/zG,GAAI,UACJm1F,GAAI,QACJ8nB,GAAI,QACJ9pH,GAAI,kBACK,eACTs5B,GAAI,SACJq7D,GAAI,qBACK,sBACTzzF,GAAI,kBACK,0BACA,qBACT6oH,GAAI,UACJC,GAAI,iBACJC,GAAI,mBACK,sBACTC,GAAI,kBACK,qBACTC,GAAI,iBACJvnG,GAAI,QACJ5hB,GAAI,WACJoM,GAAI,YACJmF,GAAI,SACJoZ,GAAI,aACJu2E,GAAI,UACJhtE,GAAI,SACJ6E,GAAI,YACJqwF,GAAI,SACJ5hH,GAAI,UACJ6hH,GAAI,kBACK,8BACA,4BACA,0BACA,6BACA,+BACA,uCACA,4BACA,gCACA,8BACA,6BACA,2BACA,8BACA,2BACA,6BACA,yBACA,gCACA,0BACA,4BACA,sBACTtyB,GAAI,OACJuyB,GAAI,UACJlkC,GAAI,kBACK,4BACA,mBACTnlF,GAAI,QACJ+yF,GAAI,QACJt6E,GAAI,SACJ+N,GAAI,OACJ8iG,IAAK,QACL5vD,GAAI,SACJ+lD,GAAI,SACJh3B,GAAI,UACJv0D,GAAI,UACJC,GAAI,YACJo1F,IAAK,gBACLpoB,GAAI,OACJxoF,GAAI,QACJkS,GAAI,aACJ2+F,GAAI,UACJ/oH,GAAI,UACJ7/B,GAAI,QACJgmD,GAAI,QACJqD,GAAI,UACJw/F,GAAI,QAQQp8K,KAAA,KACPi9F,SAAS88E,iBAAiBsC,aAAer8K,GAAA,IAC1CiB,KAAKg8F,SAAS88E,iBAAiBC,eAAA,KAC5B/8E,SAASy7D,OAAOz8C,UAAU,cAAc,gBACtChf,SAASl9E,MACZ,UAAY9e,KAAKg8F,SAAS88E,iBAAiBsC,aAAe,aAGzDp/E,SAAS88E,iBAAiBC,cAAA,IAG5B/4K,IAAA,EVtND2iJ,GAwWP5iJ,GAAM2rJ,IA5VHnC,GAAsB5G,GAAI04B,mBAAqB,SAASl9K,EAAMW,GAAA,IAkB5DtB,EAEAjC,EAjBAJ,GAFJ2D,EAAUA,GAAW,CAAC,GAEG8mD,MAAQ5lD,KAAKg8F,SAASs3D,UAC3C9lG,EAAW1uD,EAAQw4B,UAAYt3B,KAAKg8F,SAAS8mD,cAC7Cp3I,EAAY5M,EAAQiyJ,WAAa/wJ,KAAKg8F,SAASi1D,eAE/CjzJ,EAASc,EAAQw8K,OACjBx8K,EAAQw8K,OACRngL,EAAWoyJ,SAASguB,QAAQD,OAC5Bt8K,EAAmBhB,EAAOw9K,IAAMx9K,EAAOw9K,IAAM,EAC7Cp9K,EAAUU,EAAQ28K,QAClB38K,EAAQ28K,QACRtgL,EAAWoyJ,SAASguB,QAAQE,QAC5Bn+K,EAAoBc,EAAQo9K,IAAMp9K,EAAQo9K,IAAM,EAChDv+K,GAAA,IAAY6B,EAAQ2yJ,UACpBvzJ,EAAe,EAGfP,EAASQ,EAAK7C,OAEd2C,EAAkB,EAClBV,EAAqBS,EAAO,IAAMgB,EAClCC,EAAS,OAERzB,EAAI,EAAGA,EAAIG,EAAQH,IACtBjC,EAAY4C,EAAKkR,WAAW7R,GAEqB,mBAAtCrC,EAAWoyJ,SAASmuB,cAC7Bz8K,EAAOwC,MACJtG,EAAWoyJ,SAASouB,aACnBxgL,EAAWoyJ,SAASquB,iBAAiBrgL,IAErCmQ,GAAa,IAAO8hD,IAAa,GAAK,MAQxCtvD,EAJAjB,GAC8B,YAA9B8B,EAAAA,GAAAA,GAAOX,EAAQ7C,MACdq2D,MAAM70C,SAAS3e,EAAQ7C,GAAW0C,GAAkB,KAGnDG,EAAQ7C,GAAW0C,GAAmBX,EAEzB,EAEjB2B,EAAOwC,MACJzD,EAAOzC,IAAcgC,GAAsByB,EAC1Cd,IAGND,EAAkB1C,EAAA,OAGb0D,CAAA,EAmBLwqJ,GAAsB9G,GAAI6O,mBAAqB,SAASzyJ,EAAMZ,GAAA,IAG5DW,GAFJX,EAAUA,GAAW,CAAC,GAECm5B,UAAYt3B,KAAKg8F,SAAS8mD,cAC7CtlJ,EAAOW,EAAQynD,MAAQ5lD,KAAKg8F,SAASs3D,UACrC/3J,EAAY4C,EAAQ4yJ,WAAa/wJ,KAAKg8F,SAASi1D,eAAA,OAG/CtO,GAAI+gB,gBACN3kK,EAAO4jJ,GAAI+gB,cAAc3kK,IAGgB,mBAAhCvB,EAAK+vJ,SAASmuB,cAErBl+K,EAAK+vJ,SAASmuB,cAAc38K,EAAMD,EAAUvD,GAAauD,EAElDyqJ,GACN3sJ,MAAMoD,KAAMxD,WACZ21B,QAAO,SAASpzB,EAAIZ,GAAA,OACZY,EAAKZ,CAAA,GACX,IAQLyrJ,GAAgB,SAAS7qJ,EAAMZ,EAAcW,EAAiBtB,GAAA,QAC5DjC,EAAS,GAGTJ,EAAI,EACNqyD,EAAIzuD,EAAKzD,OACToQ,EAAa,EACRvQ,IAAMqyD,GAAK9hD,EAAavN,EAAahD,GAAK2D,GAC/C4M,GAAcvN,EAAahD,GAC3BA,IAGFI,EAAOkG,KAAK1C,EAAKsO,MAAM,EAAGlS,IAAA,IAGtB6C,EAAc7C,EAAA,IAClBuQ,EAAa,EACNvQ,IAAMqyD,GACP9hD,EAAavN,EAAahD,GAAKqC,IACjCjC,EAAOkG,KAAK1C,EAAKsO,MAAMrP,EAAa7C,IACpCuQ,EAAa,EACb1N,EAAc7C,GAEhBuQ,GAAcvN,EAAahD,GAC3BA,IAAA,OAEE6C,IAAgB7C,GAClBI,EAAOkG,KAAK1C,EAAKsO,MAAMrP,EAAa7C,IAG/BI,CAAA,EAKL4uJ,GAA0B,SAASprJ,EAAMZ,EAAQW,GAI9CA,IACHA,EAAU,CAAC,GAAD,IAQVtB,EACAjC,EAGAJ,EACAqyD,EACA9hD,EACA1N,EAkFEgB,EA9FAZ,EAAO,GACTd,EAAQ,CAACc,GACTnB,EAAc6B,EAAQ+8K,YAAc,EACpC39K,EAAmB,EACnBP,EAAsB,EAGtBM,EAAQc,EAAKwyD,MAAM,KACnBh0D,EAAiBgsJ,GAAmB3sJ,MAAMoD,KAAM,CAAC,IAAKlB,IAAU,MAOhEd,GAD0B,IAAxBc,EAAQg9K,WACG79K,EAAM,GAAG3C,OAAS,EAElBwD,EAAQg9K,YAAc,EAErB,KACV78K,EAAMxD,MAAMuC,GAAY8D,KAAK,KAC/B1G,EAAO,GACT6C,EAAM2E,KAAI,SAAS7D,IACjBA,EAAMA,EAAIwyD,MAAM,UACRj2D,OAAS,EACfF,EAAOA,EAAK6M,OACVlJ,EAAI6D,KAAI,SAAS7D,EAAKZ,GAAA,OACZA,GAAOY,EAAIzD,OAAS,KAAO,IAAMyD,CAAA,KAI7C3D,EAAKqG,KAAK1C,EAAI,OAGlBd,EAAQ7C,EACR4C,EAAayrJ,GAAmB7sJ,MAAMoD,KAAM,CAACf,EAAKH,GAAA,KAG/C3D,EAAI,EAAGqyD,EAAIvvD,EAAM3C,OAAQH,EAAIqyD,EAAGryD,IAAK,KACpCiE,EAAQ,KAEZ5B,EAAOS,EAAM9C,GACT6C,GAAyB,MAAXR,EAAK,KACrBA,EAAOA,EAAK67C,OAAO,GACnBj6C,EAAQ,GAQRnC,EAAciB,GALhBP,GADApC,EAAeguJ,GAAmB3sJ,MAAMoD,KAAM,CAACxC,EAAMsB,KAClBqzB,QAAO,SAASpzB,EAAIZ,GAAA,OAC9CY,EAAKZ,CAAA,GACX,IAGsDA,GACvDiB,EACA,IACIzB,EAAsBQ,EAAQ,KAGhCuN,EAAMk+I,GAAchtJ,MAAMoD,KAAM,CAC9BxC,EACAjC,EACA4C,GAAUlB,EAAciB,GACxBC,IAGFC,EAAKqD,KAAKiK,EAAI2U,SAEdjiB,EAAO,CAACsN,EAAIrD,OAELqD,EAAIpQ,QACTgC,EAAMmE,KAAK,CAACiK,EAAI2U,UAElB1iB,EAAsBpC,EACnB8R,MAAM7P,EAAKlC,QAAU8C,EAAK,GAAKA,EAAK,GAAG9C,OAAS,IAChD62B,QAAO,SAASpzB,EAAIZ,GAAA,OACZY,EAAKZ,CAAA,GACX,QAGLC,EAAO,CAACZ,GAIVF,EAAMmE,KAAKrD,GACXnB,EAAcU,EAAsBK,EACpCE,EAAmBX,CAAA,MAEnBa,EAAKqD,KAAKjE,GAEVP,GAAeiB,EAAmBP,EAClCO,EAAmBX,CAAA,QAMrByB,EADEhB,EACY,SAASe,EAAIZ,GAAA,OACjBA,EAAMc,EAAM,IAAMF,EAAG+C,KAAK,MAGtB,SAAS/C,GAAA,OACdA,EAAG+C,KAAK,MAIZxE,EAAMsF,IAAI5D,EAAA,EAoBnB2jJ,GAAI+N,gBAAkB,SAAS3xJ,EAAMZ,EAAQW,GAAA,IAwCvCtB,EAnCAjC,GAFJuD,EAAUA,GAAW,CAAC,GAEFw4B,UAAYt3B,KAAKg8F,SAAS8mD,cAC5C3nJ,EAAa,SAAS4D,GAAA,GAMfA,EAAQu8K,QAAWv8K,EAAQ08K,QAAA,MAoBvB,CACLH,OAAQv8K,EAAQu8K,OAChBG,QAAS18K,EAAQ08K,SAAA,IArBft9K,EAAI6B,KAAKg8F,SAASs3D,QAAQv0J,EAAQsuJ,SAAUtuJ,EAAQ27B,WAAA,OAMpDv8B,EAAEovJ,SAAFguB,QACK,CACLD,OAAQn9K,EAAEovJ,SAAFguB,QAAqBD,QAdtB,GACN,GAcDG,QAASt9K,EAAEovJ,SAAFguB,QAAqBE,SAZxB,CAAC,GAeF,CACL71H,KAAMznD,EAAEovJ,SACRj2H,SAAUt3B,KAAKg8F,SAAS8mD,cACxBiO,UAAW/wJ,KAAKg8F,SAASi1D,eAAA,EAS/B90J,KAAK6D,KAAMlB,GAKbtB,EADE/B,MAAMC,QAAQqD,GACHA,EAEA8C,OAAO9C,GAAMwyD,MAAM,aAM9B/D,EAAmB,EAAMxtD,KAAKg8F,SAASu0D,YAAcpyJ,EAAU5C,EASnEJ,EAAW0gL,WAAa/8K,EAAQ+8K,WACN,EAArB/8K,EAAQ+8K,WAAmB77K,KAAKg8F,SAASu0D,YAAeh1J,EACzD,EACJJ,EAAW2gL,WAAah9K,EAAQg9K,WAAA,IAE5BpwK,EACF1N,EACAgB,EAAS,OACN0M,EAAI,EAAG1N,EAAIR,EAAWlC,OAAQoQ,EAAI1N,EAAG0N,IACxC1M,EAASA,EAAOiJ,OACdkiJ,GAAwBvtJ,MAAMoD,KAAM,CAClCxC,EAAWkO,GACX8hD,EACAryD,KAAA,OAKC6D,CAAA,EWzVX,SAAUb,GAERA,EAAI49K,gBAAkB59K,EAAI49K,iBAAmB,CAAC,EAAD,QAG3Cj9K,EAAU,mBACVtB,EAAoB,CAAC,EACrBjC,EAAkB,CAAC,EAEZJ,EAAI,EAAGA,EAAI2D,GAAgB3D,IAClCqC,EAAkBsB,EAAQ3D,IANd,mBAM4BA,GACxCI,EAPY,mBAOYJ,IAAM2D,EAAQ3D,GAAA,IAGpCqyD,EAAM,SAASzuD,GAAA,MACV,KAAOge,SAAShe,EAAO,IAAI9C,SAAS,KAGzCyP,EAAYvN,EAAI49K,gBAAgB97B,SAAW,SAAS9hJ,GAAA,IAElDW,EAAOtB,EAAWrC,EAAa6C,EAD/BgB,EAAO,CAAC,SAGP,IAAIZ,KAAOD,EAAM,IACpBW,EAAQX,EAAKC,GAERwzD,MAAM70C,SAAS3e,EAAK,KAMvBZ,EAAY,IAAMY,EAAM,KALxBA,EAAM2e,SAAS3e,EAAK,IAEpBZ,GADAA,EAAYgwD,EAAIpvD,GAAKiP,MAAM,IAEfA,MAAM,GAAI,GAAK9R,EAAgBiC,EAAU6P,OAAO,KAK1C,iBAATvO,EACLA,EAAQ,GACV3D,EAAcqyD,EAAI1uD,GAAOuO,MAAM,GAC/BrP,EAAe,MAEf7C,EAAcqyD,EAAI1uD,GAAOuO,MAAM,GAC/BrP,EAAe,IAEjB7C,EACE6C,EACA7C,EAAYkS,MAAM,GAAI,GACtB9R,EAAgBJ,EAAYkS,OAAO,QAChC,IACgB,YAAjBtO,EAAAA,GAAAA,GAAOD,GAAA,MAGH,IAAI0B,MACR,0CAAAzB,EAAAA,GAAAA,GAAkDD,GAAQ,KAH5D3D,EAAcuQ,EAAS5M,EAAA,CAO3BE,EAAKyC,KAAKjE,EAAYrC,EAAA,QAExB6D,EAAKyC,KAAK,KACHzC,EAAK8C,KAAK,KAWf9D,EAAcG,EAAI49K,gBAAgBC,WAAa,SAASj9K,GAAA,GACtC,iBAATA,EAAA,MACH,IAAIyB,MAAM,kDAKhBrC,EAGAW,EAGAvD,EAEAJ,EAVEqyD,EAAS,CAAC,EACZ9hD,EAAO,EAEP1N,EAAewvD,EACfxuD,EAAc,GAEdZ,EAAW,GACXd,EAAa,GAEbL,EAAU8B,EAAKzD,OAAS,EAGjB4C,EAAI,EAAGA,EAAIjB,EAASiB,GAAK,EAKtB,MAFV/C,EAAK4D,EAAKb,IAGJC,GAEF5C,EAAM4C,EAAY2D,KAAK,IACvB3D,OAAA,GAGAA,EAAc,GAEPA,EACTA,EAAYsD,KAAKtG,GACF,KAANA,GAET6D,EAAYyC,KAAK,CAACzD,EAAczC,IAChCyC,EAAe,CAAC,EAChBzC,OAAA,GACe,KAANJ,IAET2D,EAAkBE,EAAYqJ,OACd,GAAGvJ,EAAgB,IAAMd,EACzCzC,OAAA,EACAyC,EAAec,EAAgB,IAChB,KAAN3D,EACTuQ,GAAQ,WAGJnQ,EACEiC,EAAkBtB,eAAef,IACnCiD,GAAYZ,EAAkBrC,GAC9BI,EAAMwhB,SAAS3e,EAAU,IAAMsN,EAC/BA,EAAO,EACPtN,EAAW,IAEXA,GAAYjD,EAGVqC,EAAkBtB,eAAef,IACnCmC,GAAcE,EAAkBrC,GAChC6C,EAAazC,GAAOwhB,SAASzf,EAAY,IAAMoO,EAC/CA,EAAO,EACPnQ,OAAA,EACA+B,EAAa,IAEbA,GAAcnC,EAAA,OAKfqyD,CAAA,EAgBLxuD,EAAgB,CAClB4uJ,UAAW,CAAC,mBACZquB,gBAAiBj+K,EACf,+JAGAI,EAAY,CACdm9K,QAAS,CACPW,QAASl9K,EAAA,eACOA,EAAA,sBACOA,EAAA,kBACJA,EACnB8oK,UAAW9oK,EAAA,iBACOA,EAAA,wBACOA,EAAA,oBACJA,EAAA,cACNA,EAAA,aACDA,EAAA,mBACMA,EAAA,eACJA,IAMhB1B,EAAc,CAChBi+K,QAAS,mBASYv9K,EACjB,gEAEkBA,EAClB,myDAEgBA,EAChB,gnDAEFk+K,QAASl+K,EAAW,mEACGA,EACrB,0DAEYA,EACZ,yzDAEFZ,OAAQY,EACN,sNAEF8pK,UAAW9pK,EACT,wsDAEuBA,EACvB,gnDAEFm+K,aAAcn+K,EAAW,gEACTA,EAAW,4DACXA,EACd,msDAEaA,EACb,83DAEmBA,EACnB,krDAgBNG,EAAIs5J,OAAOh2J,KAAK,CACd,UACA,SAAS1C,GAAA,IACHZ,EAAOY,EAAK6mD,KAEZ9mD,EAAUxB,EAAWi+K,QAAYp9K,EAAK4uJ,gBACtCjuJ,IACFX,EAAKovJ,SAALguB,QAA2B,CAAC,EAC5Bp9K,EAAKovJ,SAALguB,QAAyBD,OAASx8K,EAAQw8K,OAC1Cn9K,EAAKovJ,SAALguB,QAAyBE,QAAU38K,EAAQ28K,SAAA,IAGzCj+K,EAAgBY,EAASm9K,QAAYp9K,EAAK4uJ,gBAC1CvvJ,IACFW,EAAKovJ,SAALguB,QAAyBvuB,SAAWxvJ,EACpCW,EAAK6uJ,SAAWxvJ,EAAcowJ,UAAU,OA/PhD,CAmQG7tJ,GAAM2rJ,KCrST,SAAU3sJ,GAAA,IAGJZ,EAA2B,SAASY,GAAA,QAClCZ,EAAMY,EAAczD,OACpBwD,EAAQ,IAAIkR,WAAW7R,GAClBX,EAAI,EAAGA,EAAIW,EAAKX,IACvBsB,EAAMtB,GAAKuB,EAAcsQ,WAAW7R,GAAA,OAE/BsB,CAAA,EAmBTC,EAAM2sJ,IAAI+L,OAAOh2J,KAAK,CACpB,UACA,SAAS3C,GAAA,IACHtB,OAAA,EACAjC,EAAOuD,EAAK8mD,KACZzqD,EAAW2D,EAAK2vE,SAAA,IAChBlzE,EAAK+xJ,eAAA,aAGEnyJ,EAAA,MAeH,IAAIqF,MACR,+EACEjF,EAAKwxJ,eACL,UAZgB,iBAJlBvvJ,GAAA,IADErC,EAASihL,gBAAgB7gL,EAAKwxJ,gBACzB5xJ,EAASykK,SAASrkK,EAAKwxJ,gBAEvB5xJ,EAASkhL,eAAe9gL,EAAKwxJ,iBAAA,MAG9B,IAAIvsJ,MACR,6FACEjF,EAAKwxJ,eACL,QAnCE,SAASjuJ,EAAMtB,GAGzBA,EADE,oBAAoB6yC,KAAK7yC,GACpBW,EAAyBX,GAEzBW,EAAyBa,GAAKxB,IAEvCsB,EAAKyuJ,SAAWxuJ,EAAM2sJ,IAAI4wB,QAAQ7gJ,KAAKj+B,GACvCsB,EAAKyuJ,SAASguB,QAAUz8K,EAAKyuJ,SAASguB,SAAW,CAC/CvuB,SAAU,CAAC,EACXyuB,QAAS,CAAC,EACVH,OAAQ,IAEVx8K,EAAKyuJ,SAASgvB,WAAa,CAAC,GAbhB,CAsCAhhL,EAAMiC,EAAA,KAlDtB,CA4DGuC,IC2DAA,GAAM2rJ,IA3DE8wB,cAAgB,SACvBz9K,EACAD,EACAtB,EACAjC,EACAiyD,EACA9hD,EACA1N,EACAgB,GAAA,GAEI4yD,MAAM9yD,IAAM8yD,MAAMp0D,GAAA,MACpBrC,GAAQkP,MAAM,2CAA4C7N,WACpD,IAAIgE,MAAM,wDAGdoxD,MAAMr2D,IAAMq2D,MAAMpE,GAAA,MACpBryD,GAAQkP,MAAM,4CAA6C7N,WACrD,IAAIgE,MACR,gFAIApC,EAASqQ,SAASxK,cAAc,UACpC7F,EAAOqP,MAAQlS,EACf6C,EAAOsP,OAAS8/C,EAAA,IACZlwD,EAAMc,EAAOklC,WAAW,MAC5BhmC,EAAIsmC,UAAY,OAChBtmC,EAAIumC,SAAS,EAAG,EAAGzlC,EAAOqP,MAAOrP,EAAOsP,QAAA,IAEpCzQ,EAAU,CACZw/K,aAAA,EACAC,iBAAA,EACAC,kBAAA,GAEEz+K,EAAM8B,KAAA,OApEJxC,GAAYo/K,MACP3wK,QAAQD,QAAQxO,GAAYo/K,OAG9B,8BAGNz4I,OAAM,SAASplC,GAAA,OACPkN,QAAQC,OAAO,IAAI1L,MAAM,yBAA2BzB,GAAA,IAE5DoD,MAAK,SAASpD,GAAA,OACNA,EAAM/B,QAAU+B,EAAM/B,QAAU+B,CAAA,IA2DxCoD,MACC,SAAShE,GAAA,OACAA,EAAM0+K,WAAWv/K,EAAKyB,EAAK9B,EAAA,IAEpC,kBACSgP,QAAQC,OAAO,IAAI1L,MAAM,6BAGnC2B,MAAK,SAASpD,GAAA,OACNA,EAASuF,OAAOrH,EAAA,IAExBkF,MAAK,WACJjE,EAAIq2B,SACFn2B,EAAOqlC,UAAU,aAAc,GAC/B3kC,EACAtB,EACAjC,EACAiyD,EACAxvD,EACAgB,EAAA,KCxDPe,GAAM2rJ,IA9BEoxB,cAAgB,SAAS/9K,GAAA,IAG5BZ,EACAW,EAAqB,EACrBie,SAAS/c,KAAKg8F,SAASs3D,UAAU/qJ,GAAG8wC,OAAO,GAAI,IAAM,IACvDl7C,EAAoB,IAAIxC,OAAOoD,EAAgB,KAC/CD,EAAqBkB,KAAKg8F,SAASqyD,qBAEnClwJ,EAAoB,IAAIxC,OACtBqE,KAAK+8K,YAAYh+K,EAAgBiB,KAAKg8F,SAASs3D,WAC/C,KAEFx0J,EAAqBkB,KAAK+8K,YACxB/8K,KAAKg8F,SAASqyD,mBAAqB,GACnCruJ,KAAKg8F,SAASs3D,YAAA,IAIb,IAAI91J,EAAI,EAAGA,GAAKwC,KAAKg8F,SAASqyD,mBAAoB7wJ,IAAA,IAChD,IAAIjC,EAAI,EAAGA,EAAIyE,KAAKg8F,SAASixD,MAAMzvJ,GAAGlC,OAAQC,IAAA,KAC5CygG,SAASixD,MAAMzvJ,GAAGjC,GAAKyE,KAAKg8F,SAASixD,MAAMzvJ,GAAGjC,GAAG8F,QACpDlD,EACAW,GAAA,OAKCkB,IAAA,EC8SRD,GAAM2rJ,IAxQEsxB,kBAAoB,SAAS7+K,EAASW,GAAA,IAIzCtB,EAHJW,EAAUA,GAAW,CAAC,EACtBW,EAAUA,IAAA,EAAW,IAyJjBvD,EAEAJ,EACAqyD,EAzJA9hD,EAAwB,CAC1BuxK,YAAa,CACXroH,cAAA,EACA93D,OAAA,EACAyB,KAAM,UACN2+K,aAAA,EACAC,SAAU,EAAC,MACXC,WAAY,KAEdC,YAAa,CACXzoH,cAAA,EACA93D,OAAA,EACAyB,KAAM,UACN2+K,aAAA,EACAC,SAAU,EAAC,MACXC,WAAY,KAEdE,aAAc,CACZ1oH,cAAA,EACA93D,OAAA,EACAyB,KAAM,UACN2+K,aAAA,EACAC,SAAU,EAAC,MACXC,WAAY,KAEdG,UAAW,CACT3oH,cAAA,EACA93D,OAAA,EACAyB,KAAM,UACN2+K,aAAA,EACAC,SAAU,EAAC,MACXC,WAAY,KAEdI,aAAc,CACZ5oH,cAAA,EACA93D,OAAA,EACAyB,KAAM,UACN2+K,aAAA,EACAC,SAAU,EAAC,MACXC,WAAY,KAEdK,gBAAiB,CACf7oH,cAAA,EACA93D,OAAA,EACAyB,KAAM,UACN2+K,aAAA,EACAC,SAAU,EAAC,MACXC,WAAY,KAEdM,sBAAuB,CACrB9oH,aAAc,UACd93D,MAAO,UACPyB,KAAM,OACN2+K,aAAA,EACAC,SAAU,CAAC,UAAW,cAAe,YAAa,SAClDC,WAAY,KAEdO,UAAW,CACT/oH,aAAc,MACd93D,MAAO,MACPyB,KAAM,OACN2+K,aAAA,EACAC,SAAU,CAAC,MAAO,OAClBC,WAAY,KAEdQ,SAAU,CACRhpH,aAAc,UACd93D,MAAO,UACPyB,KAAM,OACN2+K,aAAA,EACAC,SAAU,CAAC,WAAY,UAAW,UAAW,WAAY,UACzDC,WAAY,KAEdS,SAAU,CACRjpH,aAAc,UACd93D,MAAO,UACPyB,KAAM,OACN2+K,aAAA,EACAC,SAAU,CAAC,WAAY,UAAW,UAAW,WAAY,UACzDC,WAAY,KAEdU,UAAW,CACTlpH,aAAc,UACd93D,MAAO,UACPyB,KAAM,OACN2+K,aAAA,EACAC,SAAU,CAAC,WAAY,UAAW,UAAW,WAAY,UACzDC,WAAY,KAEdW,UAAW,CACTnpH,aAAc,UACd93D,MAAO,UACPyB,KAAM,OACN2+K,aAAA,EACAC,SAAU,CAAC,WAAY,UAAW,UAAW,WAAY,UACzDC,WAAY,KAEdY,aAAc,CACZppH,aAAc,aACd93D,MAAO,aACPyB,KAAM,OACN2+K,aAAA,EACAC,SAAU,CAAC,aAAc,QACzBC,WAAY,KAEda,OAAQ,CACNrpH,aAAc,GACd93D,MAAO,OACPyB,KAAM,OACN2+K,aAAA,EACAC,SAAU,CACR,UACA,sBACA,qBACA,QAEFC,WAAY,KAEdc,kBAAmB,CACjBtpH,cAAA,EACA93D,OAAA,EACAyB,KAAM,UACN2+K,aAAA,EACAC,SAAU,EAAC,MACXC,WAAY,KAEde,eAAgB,CACdvpH,aAAc,GACd93D,MAAO,GACPyB,KAAM,QACN2+K,aAAA,EACAC,SAAU,KACVC,WAAY,KAEdgB,UAAW,CACTxpH,aAAc,EACd93D,MAAO,EACPyB,KAAM,UACN2+K,aAAA,EACAC,SAAU,KACVC,WAAY,MAIZp/K,EAAoBjC,OAAOP,KAAKkQ,GAEhC1M,EAAa,GACbZ,EAAI,EACJd,EAAI,EACJL,EAAI,WAMCiB,EAAqBa,EAAOZ,GAAA,IAC/BW,EACAtB,GAAA,EAAS,IAERsB,EAAW,EAAGA,EAAWC,EAAMzD,OAAQwD,GAAY,EAClDC,EAAMD,KAAcX,IACtBX,GAAA,GAAS,OAGNA,CAAA,aAGLwC,KAAKg8F,SAASqiF,oBAAA,KACXriF,SAASqiF,kBAAoB,CAAC,EAAD,KAC7BriF,SAASqiF,kBAAkBC,cAAgBj0F,KAAKhmE,MACnDgmE,KAAKC,UAAU5+E,IAAA,KAEZswF,SAASqiF,kBAAkBtF,cAAA,GAElCv7K,EAAgBwC,KAAKg8F,SAASqiF,kBAAkBC,cAEhC,UAAZngL,IAAA,IAAuBW,EAAkB,KACvCnB,EAAMK,EAAkB1C,OAAA,IAEvB2B,EAAI,EAAGA,EAAIU,EAAKV,GAAK,EACxBO,EAAcQ,EAAkBf,IAAIH,MAClCU,EAAcQ,EAAkBf,IAAI23D,aACtCp3D,EAAcQ,EAAkBf,IAAIigL,aAAA,CAAc,IAI/B,YAAnBn+K,EAAAA,GAAAA,GAAOZ,GAAA,IACJhD,KAAUgD,EAAA,GACbqvD,EAAQrvD,EAAQhD,GAEd+C,EAAqBF,EAAmB7C,SAAA,IACxCqyD,EACA,IAEiC,YAA/BhwD,EAAcrC,GAAQoD,MACL,kBAAVivD,EAEPhwD,EAAcrC,GAAQ2B,MAAQ0wD,OACzB,GAC0B,SAA/BhwD,EAAcrC,GAAQoD,MACtBL,EAAqBV,EAAcrC,GAAQgiL,SAAU3vH,GAErDhwD,EAAcrC,GAAQ2B,MAAQ0wD,OACzB,GAC0B,YAA/BhwD,EAAcrC,GAAQoD,MACtBwsG,OAAOuxD,UAAU9uG,GAEjBhwD,EAAcrC,GAAQ2B,MAAQ0wD,OACzB,GAAmC,UAA/BhwD,EAAcrC,GAAQoD,KAAkB,KAC5CH,EAAI,EAAGA,EAAIovD,EAAMlyD,OAAQ8C,GAAK,EAAG,GACpC7C,GAAA,EACwB,IAApBiyD,EAAMpvD,GAAG9C,QAAuC,iBAAhBkyD,EAAMpvD,GAAG,GAC3CY,EAAWyC,KAAKI,OAAO2rD,EAAMpvD,GAAK,SAC7B,GAAIovD,EAAMpvD,GAAG9C,OAAS,EAAG,KACzBgC,EAAI,EAAGA,EAAIkwD,EAAMpvD,GAAG9C,OAAQgC,GAAK,EACT,iBAAhBkwD,EAAMpvD,GAAGd,KAClB/B,GAAA,IAAU,IAGVA,GACFyD,EAAWyC,KAAK,CAAC+rD,EAAMpvD,GAAG,GAAK,EAAGovD,EAAMpvD,GAAG,GAAK,GAAG0D,KAAK,MAI9DtE,EAAcrC,GAAQ2B,MAAQ,IAAMkC,EAAW8C,KAAK,KAAO,SAE3DtE,EAAcrC,GAAQ2B,MAAQU,EAAcrC,GAAQy5D,aAGtDp3D,EAAcrC,GAAQ+hL,aAAA,CAAc,YAKtCl9K,KAAKg8F,SAASqiF,kBAAkBtF,eAAA,KAC7B/8E,SAASy7D,OAAOz8C,UAAU,cAAc,eAEvCj8G,EADAZ,EAAU,OAETY,KAASvB,GAAA,IACRA,EAAcuB,GAAOm+K,cACW,SAA9B1/K,EAAcuB,GAAOR,KACvBJ,EAAQsD,KAAK,IAAM1C,EAAQ,KAAOvB,EAAcuB,GAAOjC,OAEvDqB,EAAQsD,KAAK,IAAM1C,EAAQ,IAAMvB,EAAcuB,GAAOjC,QAIrC,IAAnBqB,EAAQ7C,QAAA,KACL0gG,SAASl9E,MACZ,2BAA6B3gB,EAAQ2D,KAAK,MAAQ,gBAInDk6F,SAASqiF,kBAAkBtF,cAAA,GAAe,KAG5C/8E,SAASqiF,kBAAkBC,cAAgB9gL,EACzCwC,IAAA,EClVX,SAAUjB,GAAA,IAGJZ,EAAmB,eAEjBY,EACF,+GACAiB,KAAKg8F,SAASuiF,aAAaC,aAC3B,qBAGErgL,EAAyB+6G,SAC3Bx0E,mBARsB,yCAUpB5lC,EAAqBo6G,SAASx0E,mBAAmB3lC,IACjDvB,EAAgB07G,SAClBx0E,mBAAmB1kC,KAAKg8F,SAASuiF,aAAahxB,WAE5ChyJ,EAAkB29G,SAASx0E,mBATd,kDAUbvpC,EAAsB+9G,SAASx0E,mBATd,iBAWjB8oB,EACF1uD,EAAmBxD,OACnBkC,EAAclC,OACdC,EAAgBD,OAChB6C,EAAuB7C,OACvBH,EAAoBG,OAAA,KAEjB0gG,SAASuiF,aAAaE,uBAAyBz+K,KAAKg8F,SAASouD,YAAA,KAC7DpuD,SAASl9E,MACZ,4CAA8C0uC,EAAY,YAEvDwuC,SAASl9E,MAAM,eACfk9E,SAASl9E,MACZ3gB,EACEW,EACAtB,EACAjC,EACAJ,GAAA,KAEC6gG,SAASl9E,MAAM,kBACfk9E,SAASl9E,MAAM,WAGlBhgB,EAAa,WACXkB,KAAKg8F,SAASuiF,aAAaE,wBAAA,KACxBziF,SAASl9E,MACZ,aACE9e,KAAKg8F,SAASuiF,aAAaE,uBAC3B,SAcR1/K,EAAS2/K,YAAc,SAAS3/K,EAAUvB,GAAA,gBAC7BwC,KAAKg8F,SAASuiF,eAAA,KAClBviF,SAASuiF,aAAe,CAC3BhxB,SAAUxuJ,EACVy/K,aAAchhL,GAAgB,2CAE3Bw+F,SAASy7D,OAAOz8C,UAAU,aAAcl8G,GAAA,KAExCk9F,SAASy7D,OAAOz8C,UAAU,mBAAoB78G,IAE9C6B,IAAA,EAzEX,CA2EGD,GAAM2rJ,KCpGT,SAAU3sJ,GAAA,IAEJZ,EAAWY,EAAM2sJ,IAOjB5sJ,EAAeX,EAAS4+K,YAAc,SAASh+K,EAAMZ,GAAA,QAItBW,EAH7BtB,EAASW,EAAKovJ,SAASguB,QAAQD,OAC/B//K,EAAO,CAAC,GAAI,IAAK,KAAM,MAAO,QAC9BJ,EAAK,CAAC,IACDqyD,EAAI,EAAG9hD,EAAI3M,EAAKzD,OAAWkyD,EAAI9hD,IAAK8hD,EAAG,IAC9C1uD,EAAIX,EAAKovJ,SAASquB,iBAAiB78K,EAAKsQ,WAAWm+C,IACnDrvD,EAAKovJ,SAASgvB,WAAW96K,KAAK3C,GAC9BX,EAAKovJ,SAASoxB,UAAU7/K,GAAKC,EAAKsQ,WAAWm+C,IACnB,GAAtBhwD,EAAOwZ,QAAQlY,KACjBtB,EAAOiE,KAAK3C,GACZtB,EAAOiE,KAAK,CAACsb,SAAS5e,EAAKovJ,SAASouB,aAAa78K,GAAI,OAE9C,KAALA,EAAA,OAEK3D,EAAG2G,KAAK,IAEfhD,EAAIA,EAAE7C,SAAS,IACfd,EAAGsG,KAAKlG,EAAK,EAAIuD,EAAExD,QAASwD,EAAA,QAGzB3D,EAAG2G,KAAK,KAGbtE,EAAgB,SAASuB,GAAA,IACvBZ,EAAMW,EAAOtB,EAAOjC,EAASJ,EAAYqyD,EAAI9hD,EAAA,IACjDvQ,EACE,iQAKFqC,EAAQ,GACHgwD,EAAK,EAAG9hD,GALb5M,EAAQ/C,OAAOP,KAAKuD,GAAKk4F,MAAK,SAASl4F,EAAGZ,GAAA,OACjCY,EAAIZ,CAAA,KAIa7C,OAAQkyD,EAAK9hD,EAAM8hD,IAC3CrvD,EAAOW,EAAM0uD,GACThwD,EAAMlC,QAAU,MAClBH,GACE,KACAqC,EAAMlC,OACN,iBACAkC,EAAMsE,KAAK,MACX,cACFtE,EAAQ,aAIRuB,EAAIZ,IACU,OAAdY,EAAIZ,IAC0B,mBAAvBY,EAAIZ,GAAMlC,WAEjBV,GAAW,OAASwD,EAAIZ,GAAMlC,SAAS,KAAKoR,OAAO,GACnDlP,GAAQ,SAAWA,GAAMlC,SAAS,KAAKoR,OAAO,GAC9C7P,EAAMiE,KAAK,IAAMtD,EAAO,KAAO5C,EAAU,aAIzCiC,EAAMlC,SACRH,GACE,KACAqC,EAAMlC,OACN,iBACAkC,EAAMsE,KAAK,MACX,iBAEJ3G,EACE,oEA+EJgD,EAASs5J,OAAOh2J,KAAK,CACnB,UACA,SAAStD,IA7Ea,SAASA,GAAA,IAC3BW,EAAOX,EAAQynD,KACfrqD,EAAM4C,EAAQo7H,IACdp+H,EAAYgD,EAAQisJ,UACpB58F,EAAYrvD,EAAQitJ,UAAA,GAGtBtsJ,EAAKyuJ,oBAAoBxuJ,EAAM2sJ,IAAI4wB,SACjB,eAAlBx9K,EAAKkuJ,SACL,SAEIthJ,EAAS5M,EAAKyuJ,SAASguB,QAAQD,OAE/Bt9K,EADOc,EAAKyuJ,SAASqxB,OAAOzxE,OAAOruG,EAAKyuJ,SAASgvB,WAAY,GAE7Dv9K,EAAa,GACRZ,EAAI,EAAGA,EAAIJ,EAAU1C,OAAQ8C,IACpCY,GAAc6C,OAAOgO,aAAa7R,EAAUI,IAAA,IAE1Cd,EAAYnC,IAChBqyD,EAAU,CAAEl7C,KAAMtT,EAAYssJ,YAAA,EAAkBC,SAAUjuJ,IAC1D/B,EAAI,cAEA0B,EAAO9B,IAEXqyD,EAAU,CAAEl7C,KADG9U,EAAcsB,EAAKyuJ,SAASoxB,WACfrzB,YAAA,EAAkBC,SAAUtuJ,IACxD1B,EAAI,cAEA2C,EAAiB/C,IACrBI,EAAI,MACJA,EAAI,yBACJA,EAAI,cAAgB6E,GAAUtB,EAAKuuJ,WACnC9xJ,EAAI,cAAgB+B,EAAY,QAChC/B,EAAI,aAAewD,EAAM2sJ,IAAImzB,UAAUjV,QAAQ9qK,EAAKyuJ,SAASuxB,OAC7DvjL,EAAI,UAAYuD,EAAKyuJ,SAAS1xJ,OAC9BN,EAAI,UAAYuD,EAAKyuJ,SAASwxB,OAC9BxjL,EAAI,gBAAkBuD,EAAKyuJ,SAASyxB,aACpCzjL,EAAI,WAAauD,EAAKyuJ,SAAS0xB,UAC/B1jL,EAAI,YAAcuD,EAAKyuJ,SAAS2xB,UAChC3jL,EAAI,cAAgBuD,EAAKyuJ,SAAS4xB,WAClC5jL,EAAI,MACJA,EAAI,cAEAoC,EAAiBxC,IACrBI,EAAI,MACJA,EAAI,eACJA,EAAI,cAAgB6E,GAAUtB,EAAKuuJ,WACnC9xJ,EAAI,mBAAqB2C,EAAiB,QAC1C3C,EAAI,MAAQwD,EAAM2sJ,IAAImzB,UAAUjV,QAAQl+J,IACxCnQ,EAAI,0BACJA,EAAI,YACJA,EAAI,0BACJA,EAAI,kBACJA,EAAI,MACJA,EAAI,iBACJA,EAAI,qBACJA,EAAI,cAAgBuD,EAAKkuJ,SAAW,KACpCzxJ,EAAI,MACJA,EAAI,MACJA,EAAI,UAEJuD,EAAK2gJ,aAAetkJ,IACpBI,EAAI,MACJA,EAAI,eACJA,EAAI,mBACJA,EAAI,cAAgB0B,EAAO,QAC3B1B,EAAI,cAAgB6E,GAAUtB,EAAKuuJ,WACnC9xJ,EAAI,cAAgBuD,EAAKkuJ,UACzBzxJ,EAAI,qBAAuBoC,EAAiB,SAC5CpC,EAAI,MACJA,EAAI,UAEJuD,EAAKguJ,iBAAA,CAAkB,EAvEH,CA8EF3uJ,EAAA,IAqEtBA,EAASs5J,OAAOh2J,KAAK,CACnB,UACA,SAAStD,IAnEmB,SAASA,GAAA,IACjCW,EAAOX,EAAQynD,KACfrqD,EAAM4C,EAAQo7H,IACdp+H,EAAYgD,EAAQisJ,UACpB58F,EAAYrvD,EAAQitJ,UAAA,GAGtBtsJ,EAAKyuJ,oBAAoBxuJ,EAAM2sJ,IAAI4wB,SACjB,oBAAlBx9K,EAAKkuJ,SACL,SAGIthJ,EADO5M,EAAKyuJ,SAAS6xB,QAErBphL,EAAa,GACRgB,EAAI,EAAGA,EAAI0M,EAAUpQ,OAAQ0D,IACpChB,GAAc6D,OAAOgO,aAAanE,EAAU1M,IAAA,IAE1CZ,EAAYjD,IAChBqyD,EAAU,CAAEl7C,KAAMtU,EAAYstJ,YAAA,EAAkBC,SAAUntJ,IAC1D7C,EAAI,cAEA+B,EAAOnC,IAEXqyD,EAAU,CAAEl7C,KADG9U,EAAcsB,EAAKyuJ,SAASoxB,WACfrzB,YAAA,EAAkBC,SAAUjuJ,IACxD/B,EAAI,cAEA0B,EAAiB9B,IACrBI,EAAI,MACJA,EAAI,YAAcuD,EAAKyuJ,SAAS2xB,UAChC3jL,EAAI,cAAgBuD,EAAKyuJ,SAAS4xB,WAClC5jL,EAAI,UAAYuD,EAAKyuJ,SAASwxB,OAC9BxjL,EAAI,yBACJA,EAAI,cAAgB6C,EAAY,QAChC7C,EAAI,aACJA,EAAI,aAAewD,EAAM2sJ,IAAImzB,UAAUjV,QAAQ9qK,EAAKyuJ,SAASuxB,OAC7DvjL,EAAI,cAAgB6E,GAAUtB,EAAKuuJ,WACnC9xJ,EAAI,gBAAkBuD,EAAKyuJ,SAASyxB,aACpCzjL,EAAI,WAAauD,EAAKyuJ,SAAS0xB,UAC/B1jL,EAAI,MACJA,EAAI,UACJuD,EAAK2gJ,aAAetkJ,IAAA,IACf,IAAI+C,EAAI,EAAGA,EAAIY,EAAKyuJ,SAAS8xB,KAAK/D,OAAOhgL,OAAQ4C,IACpDY,EAAKyuJ,SAAS8xB,KAAK/D,OAAOp9K,GAAK6e,SAC7Bje,EAAKyuJ,SAAS8xB,KAAK/D,OAAOp9K,IAAM,IAAOY,EAAKyuJ,SAASn6D,KAAKksF,aAG9D/jL,EACE,2CACE+B,EACA,iBACA8C,GAAUtB,EAAKuuJ,UACf,mBACApwJ,EALF,iBAQE6B,EAAKkuJ,SACL,wCACAjuJ,EAAM2sJ,IAAImzB,UAAUjV,QAAQ9qK,EAAKyuJ,SAAS8xB,KAAK/D,QAC/C,MAEJ//K,EAAI,UACJuD,EAAKguJ,iBAAA,CAAkB,EA7DG,CAoEF3uJ,EAAA,QAIxB5C,EAAmB,SAASwD,GAAA,IAc5BZ,EAbEX,EAAOuB,EAAKyjC,MAAQ,GACpBjnC,EAAIwD,EAAKI,EACThE,EAAI4D,EAAKK,EACTouD,EAAUzuD,EAAK+Y,SAAW,CAAC,EAC3BpM,EAAQ3M,EAAK4xJ,OAAS,CAAC,EAEvB3yJ,EAAY0N,EAAM8hJ,UAClBxuJ,EAAgB0M,EAAMklJ,cACtBxyJ,EAAQsN,EAAMklC,MACdtzC,EAAM0B,EAEN/B,EAAM,GACRiB,EAAI,EAEFP,EAAU,GACVM,EAAWG,EAAMd,GAAK0vJ,SAAA,GAEE,eAAxB5uJ,EAAMd,GAAK0vJ,SAAA,MACN,CACLxqH,KAAMhlC,EACN2B,EAAG5D,EACH6D,EAAGjE,EACH2c,QAAS01C,EACTmjG,MAAOjlJ,GAAA,IAGX/N,EAAUH,EAEVF,EAAM0B,EACFvD,MAAMC,QAAQ8B,KAChBG,EAAUH,EAAK,IAEZU,EAAI,EAAGA,EAAIP,EAAQrC,OAAQ4C,GAAK,EAC/BE,EAAMd,GAAKiwJ,SAASrxJ,eAAe,UACrCiC,EACEC,EAAMd,GAAKiwJ,SAASgyB,KAAKC,QAAQC,QAAQ9hL,EAAQO,GAAGmR,WAAW,KAgB9DlR,GAEDR,EAAQO,GAAGmR,WAAW,GAAK,KAC3BjR,EAAMd,GAAKiwJ,SAASrxJ,eAAe,WAOrCe,GAAOU,EAAQO,GAHbjB,GAAO,OAMTM,EAAS,UACTwf,SAASzf,EAAI+P,MAAM,IAAM,IAAmB,oBAAbpP,EAEjCV,EAASS,EAAUf,EAAKK,GACrBi0D,MAAM,IACN3uD,KAAI,SAAS7D,GAAA,OACLA,EAAGsQ,WAAW,GAAGpT,SAAS,OAElC6F,KAAK,IACc,eAAb7D,IACTV,EAASuB,EAAY7B,EAAKmB,EAAMd,KAElCoO,EAAMkQ,OAAA,EAEC,CACL4mB,KAAMjlC,EACN4B,EAAG5D,EACH6D,EAAGjE,EACH2c,QAAS01C,EACTmjG,MAAOjlJ,EAAA,EAiDXvN,EAASs5J,OAAOh2J,KAAK,CAAC,kBA7CG,SAAS1C,GAAA,IAC5BZ,EAAOY,EAAMyjC,MAAQ,GAKrB1jC,EAAU,GACVtB,EAAO,CACTglC,KAAMrkC,EACNgB,EAPIJ,EAAMI,EAQVC,EAPIL,EAAMK,EAQV0Y,QAPU/Y,EAAM+Y,QAQhB64I,MAPQ5xJ,EAAM4xJ,OAAA,GAUZl1J,MAAMC,QAAQyC,GAAO,KACnBhD,EAAI,MACHA,EAAI,EAAGA,EAAIgD,EAAK7C,OAAQH,GAAK,EAC5BM,MAAMC,QAAQyC,EAAKhD,KACE,IAAnBgD,EAAKhD,GAAGG,OACVwD,EAAQ2C,KAAK,CACXlG,EAAiBQ,OAAO8D,OAAO,CAAC,EAAGrC,EAAM,CAAEglC,KAAMrkC,EAAKhD,GAAG,MACtDqnC,KACHrkC,EAAKhD,GAAG,GACRgD,EAAKhD,GAAG,KAQZ2D,EAAQ2C,KACNlG,EAAiBQ,OAAO8D,OAAO,CAAC,EAAGrC,EAAM,CAAEglC,KAAMrkC,EAAKhD,MAAOqnC,MAInEzjC,EAAMyjC,KAAO1jC,CAAA,MAEbC,EAAMyjC,KAAOjnC,EACXQ,OAAO8D,OAAO,CAAC,EAAGrC,EAAM,CAAEglC,KAAMrkC,KAChCqkC,IAAA,IAxWR,CA6WGziC,ICpWH,SAAUhB,GAAA,IAGJZ,EAAiB,2BACR6B,KAAKg8F,SAAS0jF,MAAA,KAClB1jF,SAAS0jF,IAAM,CAAC,IAAD,CAEf,EAaT3gL,EAASq9K,gBAAkB,SAASr9K,GAAA,OAClCZ,EAAehC,KAAK6D,WAAA,IACNA,KAAKg8F,SAAS0jF,IAAI3gL,EAAA,EAclCA,EAAS4gL,aAAe,SAAS5gL,EAAUD,GAAA,OACzCX,EAAehC,KAAK6D,MAAAA,KACfg8F,SAAS0jF,IAAI3gL,GAAYD,EACvBkB,IAAA,EAaTjB,EAASs9K,eAAiB,SAASt9K,GAAA,OACjCZ,EAAehC,KAAK6D,WAAA,IAETA,KAAKg8F,SAAS0jF,IAAI3gL,GACpBiB,KAAKg8F,SAAS0jF,IAAI3gL,GAEpB,MA1DX,CA4DGgB,GAAM2rJ,KCpET,SAAU3sJ,GAojERA,EAAM6gL,eAAiB7gL,EAAM/C,UAAU4jL,eAAiB,SAAS7gL,GAAA,IAsF7DD,EACAtB,EAGAjC,EACAJ,EACAqyD,EACA9hD,EACA1N,EA7FEgB,EAAiBb,EAEjBC,EAAmB,CACrB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACnB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACnB,CAAC,EAAG,EAAG,EAAG,GAAM,EAAG,EAAG,GACtB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACnB,CAAC,EAAG,EAAG,GAAM,GAAM,EAAG,EAAG,GACzB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAGjBd,EAAmB,CACrB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACnB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACnB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACnB,CAAC,EAAG,EAAG,EAAG,GAAM,EAAG,EAAG,IAGpBL,EAAkB,CAAE8D,EAAG,EAAGQ,EAAG,EAAGs+K,GAAI,EAAGC,GAAI,EAAGt+K,EAAG,EAAGjC,EAAG,EAAGwC,EAAG,GAE7D7D,EAAsB,GACrB,IACA,IACA,IACA,KACG,MACA,MACA,MACA,GAGJP,EAAc,CAChB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,OACA,OACA,OACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UAGEM,EAAuB,IAAItC,OAC7B,qGAGE4B,GAAA,EAWF0B,EAPU,OASP2gL,eAAiB,CAAC,EAAD,IAkBlBxkL,EAAe,SAAS2D,GAAA,IACtBZ,EAAWY,EAAGsQ,aAChBvQ,EAAQX,GAAY,EACpBX,EAAWU,EAAoBY,GAAA,gBAE7BtB,EACKwB,EAA0B,IAAXxB,GAA6B,IAAXW,IACrB,MAAVW,GAA4B,MAAVA,EACpB,KACEb,EAAqBoyC,KAAKvxC,GAE5B,IACY,IAAVA,EAEF,IAEF,KAGLM,EAAsB,SAASL,GAAA,IAC5B,IAAWZ,EAAPW,EAAI,EAAaA,EAAIC,EAAKzD,OAAQwD,IAAK,IAE7B,OADjBX,EAAW/C,EAAa2D,EAAKm6D,OAAOp6D,KAAA,SAG7B,GAAiB,MAAbX,EAAA,QACF,SAGJ,EAKLe,EAAmB,SAASH,EAAOZ,EAAOqvD,EAAe9hD,GAAA,IAEzD1N,EACAgB,EACAZ,EACAd,EAJEL,EAAQkB,EAAMuN,GAAA,OAKVzO,GAAA,IACD,QACA,IAoGK,IAGL,UACA,UACA,UACA,UACA,MACHM,GAAA,EAAc,MA3GA,IAEX,QACA,eAGA,KACCA,IACFN,EAAQ,gBAIP,KACHM,GAAA,EAEAN,EAAQ,cAGL,KAyFW,IAEX,KACHA,EAAQ,UA3FA,IAGL,KAEDyO,EAAQ,GACRA,EAAQ,GAAKvN,EAAM7C,QACqB,QAAtC0C,EAAQwvD,EAAc9hD,EAAQ,KAA0B,OAAV1N,GAChB,QAA9BgB,EAAQb,EAAMuN,EAAQ,KAA0B,OAAV1M,EAExC/B,EAAQ,IACCM,IACTyB,EAAQ,MAEV/B,EAAQ+B,IAAUhB,EAAQgB,EAAQ,cAG/B,KAEH/B,EACY,QAFZe,EAAQ0N,EAAQ,EAAI8hD,EAAc9hD,EAAQ,GAAK,MAG7CA,EAAQ,EAAIvN,EAAM7C,QACG,OAArB6C,EAAMuN,EAAQ,GACV,KACA,cAGH,QACCA,EAAQ,GAAkC,OAA7B8hD,EAAc9hD,EAAQ,GAAa,CAClDzO,EAAQ,WAEH,GAAIM,EAAa,CACtBN,EAAQ,cAGVmB,EAAIsN,EAAQ,EACZpO,EAAMa,EAAM7C,OACL8C,EAAId,GAAoB,OAAba,EAAMC,IACtBA,IAGAnB,EADEmB,EAAId,GAAoB,OAAba,EAAMC,GACX,KAEA,cAIP,SACC7C,IAAgBJ,EAAU,KAE5BmC,EAAMa,EAAM7C,OACZ8C,EAAIsN,EAAQ,EACLtN,EAAId,GAAoB,QAAba,EAAMC,IACtBA,IAAA,GAEEA,EAAId,EAAK,KACPY,EAAIa,EAAM2M,GACV/N,EAAgBO,GAAK,MAAUA,GAAK,MAAiB,QAANA,EAAA,GACnDF,EAAQG,EAAMC,GACVT,IAA2B,MAAVK,GAA2B,OAAVA,GAAiB,CACrDf,EAAQ,YAMZA,EADEyO,EAAQ,GAAoC,OAA9B1N,EAAQG,EAAMuN,EAAQ,IAC9B,IAEA8hD,EAAc9hD,EAAQ,aAI7B,IACHnO,GAAA,EACAuB,GAAA,EACA7B,EAAQgC,EAAA,UAGL,IACHzB,GAAA,EACAP,EAAQ,IAWA,OAGLA,CAAA,EAkBLuE,EAAgB,SAASzC,EAAMZ,EAAmBW,GAAA,IAChDtB,EAAYuB,EAAKwyD,MAAM,WACvBzyD,GACFiC,EAAevD,EAAWsB,EAAQ,CAAEihL,QAAS9gL,IAE/CzB,EAAU68C,UACVl8C,GAAqBA,EAAkBk8C,UAChC78C,EAAUsE,KAAK,KAKpBf,EAAiB,SAAShC,EAAOZ,EAAQ5C,GAAA,IACvCJ,EAEFqyD,EACA9hD,EACA1N,EACAgB,EACAd,GAAW,EACXP,EAAMoB,EAAMzD,OACZ2C,EAAW,EACXmB,EAAgB,GAChBoC,EAAavC,EAAO3B,EAAmBc,EACvC2C,EAAQ,OAEVxD,GAAA,EAEAuB,GAAA,EACAtB,GAAA,EACKgwD,EAAI,EAAGA,EAAI7vD,EAAK6vD,IACnBzsD,EAAMysD,GAAKpyD,EAAa2D,EAAMyuD,IAAA,IAE3B9hD,EAAQ,EAAGA,EAAQ/N,EAAK+N,IAAS,IACpC1M,EAAYf,EACZmB,EAAcsM,GAASxM,EACrBH,EACAgC,EACA3B,EACAsM,GAGFvQ,EAAoB,KADpB8C,EAAWuD,EAAWxC,GAAW/B,EAAgBmC,EAAcsM,MAE/DzN,GAAY,GACZE,EAAOuN,GAAS1N,EAAWwD,EAAWvD,GAAU,GAC5C9C,EAAS,EAAG,GACC,KAAXA,EAAiB,KACdqyD,EAAItvD,EAASsvD,EAAI9hD,EAAO8hD,IAC3BrvD,EAAOqvD,GAAK,EAEdtvD,GAAW,OAEXA,GAAW,KAGHsD,EAAWvD,GAAU,IAEd,IAAbC,IACFA,EAAUwN,QAAA,GAGRxN,GAAW,EAAG,KACXsvD,EAAItvD,EAASsvD,EAAI9hD,EAAO8hD,IAC3BrvD,EAAOqvD,GAAKxvD,EAEdE,GAAW,EAGM,MAAjB6C,EAAM2K,KACRvN,EAAOuN,GAAS,GAElBnQ,EAAOwkL,SAAW/hL,CAAA,CAEhBR,GAxFa,SAASuB,EAAOZ,EAAQW,GAAA,IACpC,IAAItB,EAAI,EAAGA,EAAIsB,EAAQtB,IAAA,GACT,MAAbuB,EAAMvB,GAAY,CACpBW,EAAOX,GAAKyB,EAAA,IACP,IAAI1D,EAAIiC,EAAI,EAAGjC,GAAK,GACN,OAAbwD,EAAMxD,GADgBA,IAExB4C,EAAO5C,GAAK0D,CAAA,EANH,CAyFF8B,EAAO5C,EAAQR,EAAA,EAM5B+D,EAAiB,SACnB3C,EACAZ,EACAX,EACAjC,EACAJ,GAAA,KAEIA,EAAO4kL,QAAUhhL,GAAA,IAGP,IAAVA,GAjSM,IAiSSE,IAAqBH,EAAA,OACtCX,EAAUk8C,eACV78C,GAAqBA,EAAkB68C,WAAA,QAGrCmT,EACF9hD,EACA1N,EACAgB,EACAZ,EAAMD,EAAU7C,OAChBgC,EAAQ,EAEHA,EAAQc,GAAK,IACd7C,EAAO+B,IAAUyB,EAAO,KAC1Bf,EAAMV,EAAQ,EACPU,EAAMI,GAAO7C,EAAOyC,IAAQe,GACjCf,IAAA,IAEGgB,EAAM1B,EAAOoO,EAAO1N,EAAM,EAAGgB,EAAM0M,EAAM1M,IAAO0M,IACnD8hD,EAAKrvD,EAAUa,GACfb,EAAUa,GAAOb,EAAUuN,GAC3BvN,EAAUuN,GAAQ8hD,EACdhwD,IACFgwD,EAAKhwD,EAAkBwB,GACvBxB,EAAkBwB,GAAOxB,EAAkBkO,GAC3ClO,EAAkBkO,GAAQ8hD,GAG9BlwD,EAAQU,CAAA,CAEVV,GAAA,IAmBA6B,EAAW,SAASJ,EAAMZ,EAAmBW,GAAA,IAC3CtB,EAAYuB,EAAKwyD,MAAM,IACzBh2D,EAAS,CAAEwkL,QAAS9gL,GAAA,OAEjBH,IACHA,EAAS,IAEXiC,EAAevD,EAAWsB,EAAQvD,GApBf,SAASwD,EAAWZ,EAAQW,GAAA,GACxB,IAAnBA,EAAOihL,SAAiB/hL,EAAA,IACrB,IAAWR,EAAPjC,EAAI,EAAUA,EAAIwD,EAAUzD,OAAQC,IACzB,IAAd4C,EAAO5C,KACTiC,EAAQG,EAAYqZ,QAAQjY,EAAUxD,MACzB,IACXwD,EAAUxD,GAAKoC,EAAYH,EAAQ,IANxB,CAqBJA,EAAWsB,EAAQvD,GAClCmG,EAAe,EAAalE,EAAWW,EAAmBW,EAAQvD,GAClEmG,EA5VU,EA4VclE,EAAWW,EAAmBW,EAAQvD,GACvDiC,EAAUsE,KAAK,iBAYnB89K,eAAeI,cAAgB,SAClCjhL,EACAZ,EACAW,GAAA,GAlWU,SAASC,EAAMZ,GAAA,GACrBA,EAAA,IACG,IAAIW,EAAI,EAAGA,EAAIC,EAAKzD,OAAQwD,IAC/BX,EAAkBW,GAAKA,OAAA,IAGvB3D,IACFA,EAAWiE,EAAoBL,SAAA,IAE7B2M,IACFA,EAAYtM,EAAoBL,GAAA,CAVxB,CAoWJA,EAAMZ,GACP5C,IAAeiyD,GAAiB9hD,EAI9B,GAAInQ,GAAeiyD,GAAgBryD,EAAWuQ,EAEnDzM,EAAO9D,EArXC,EADA,EAuXR4D,EAAOyC,EAAczC,EAAMZ,EAAmBW,QACzC,IAAKvD,GAAeiyD,GAAgB9hD,EAEzCzM,EAAO9D,EAzXC,EADA,EA2XR4D,EAAOI,EAASJ,EAAMZ,EAAmBW,GACzCC,EAAOyC,EAAczC,EAAMZ,QACtB,IAAI5C,GAAgBJ,GAAaqyD,GAAiB9hD,GAIlD,GAAInQ,IAAgBiyD,GAAgBryD,EAAWuQ,EAEpD3M,EAAOyC,EAAczC,EAAMZ,GACvBhD,GAEF8D,EAtYM,EAuYNF,EAAOI,EAASJ,EAAMZ,EAAmBW,KAGzCG,EAzYM,EA0YNF,EAAOI,EAASJ,EAAMZ,EAAmBW,GACzCC,EAAOyC,EAAczC,EAAMZ,SAExB,GAAI5C,GAAeJ,IAAaqyD,GAAgB9hD,EAErDzM,EA/YQ,EAgZRF,EAAOI,EAASJ,EAAMZ,EAAmBW,GACzCC,EAAOyC,EAAczC,EAAMZ,QACtB,IAAK5C,IAAgBiyD,GAAgBryD,EAAWuQ,EAAW,KAE5DlO,EAA0BQ,EAC1B7C,GAEF8D,EAvZM,EAwZNF,EAAOI,EAASJ,EAAMZ,EAAmBW,GACzCG,EA1ZM,EA2ZNjB,GAAA,EACAe,EAAOI,EAASJ,EAAMZ,EAAmBW,GACzCd,EAAuBR,IAGvByB,EAhaM,EAiaNF,EAAOI,EAASJ,EAAMZ,EAAmBW,GACzCC,EAAOyC,EAAczC,EAAMZ,GAC3Bc,EAlaM,EAmaNjB,GAAA,EACAe,EAAOI,EAASJ,EAAMZ,EAAmBW,GACzCd,EAAuBR,EACvBuB,EAAOyC,EAAczC,EAAMZ,GAAA,OAxC7Bc,EA/XQ,EAgYRF,EAAOI,EAASJ,EAAMZ,EAAmBW,QAdzCG,EAAO9D,EAjXC,EADA,EAmXR4D,EAAOI,EAASJ,EAAMZ,EAAmBW,GAAA,OAuDpCC,CAAA,OAcJ6gL,eAAe1kB,WAAa,SAASn8J,GACpCA,IACFxD,EAAcwD,EAAQkhL,cACtBzyH,EAAezuD,EAAQmhL,eACvB/kL,EAAW4D,EAAQohL,WACnBz0K,EAAY3M,EAAQqhL,YACpBpiL,EAAuBe,EAAQshL,oBAAA,OAI9BT,eAAe1kB,WAAWn8J,GACxBiB,KAAK4/K,cAAA,MAGVzhL,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,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,KA8jBEW,EAAa,IAAIC,EAAM6gL,eAAe,CAAEK,eAAA,IAoC5ClhL,EAAM2sJ,IAAI+L,OAAOh2J,KAAK,CAAC,kBAlCE,SAAS1C,GAAA,IAC5BZ,EAAOY,EAAKyjC,KAGZhlC,GAFIuB,EAAKI,EACLJ,EAAKK,EACCL,EAAK+Y,SAAW,CAAC,GAG3Bvc,GAFQwD,EAAK4xJ,MACNnzJ,EAAQ2zJ,KACL,OAEd3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","sources":["../node_modules/react/index.js","../node_modules/fast-deep-equal/index.js","../node_modules/classnames/index.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/scheduler/cjs/scheduler.production.min.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/@babel/runtime/helpers/esm/typeof.js","../node_modules/react-dom/client.js","../node_modules/file-saver/src/FileSaver.js","../node_modules/react-is/cjs/react-is.production.js","../node_modules/react/jsx-runtime.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/hoist-non-react-statics/node_modules/react-is/index.js","../node_modules/immutability-helper/index.js","../node_modules/scheduler/index.js","../node_modules/react-dom/index.js","../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.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/@remix-run/router/history.ts","../node_modules/@remix-run/router/utils.ts","../node_modules/@remix-run/router/router.ts","../node_modules/react-router/lib/context.ts","../node_modules/react-router/lib/hooks.tsx","../node_modules/react-router/lib/deprecations.ts","../node_modules/react-router/lib/components.tsx","../node_modules/react-router-dom/dom.ts","../node_modules/react-router-dom/index.tsx","images/logo.svg","components/AppHeader/AppHeader.js","components/Footer/Footer.js","images/heroBG.svg","images/arrow.svg","images/usaJobsLogo.svg","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/utils.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/platform/browser/index.js","../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/classes/Blob.js","../node_modules/axios/lib/platform/common/utils.js","../node_modules/axios/lib/platform/index.js","../node_modules/axios/lib/helpers/formDataToJSON.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/helpers/toURLEncodedForm.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/core/AxiosHeaders.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/speedometer.js","../node_modules/axios/lib/helpers/throttle.js","../node_modules/axios/lib/helpers/progressEventReducer.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/helpers/resolveConfig.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/helpers/composeSignals.js","../node_modules/axios/lib/helpers/trackStream.js","../node_modules/axios/lib/adapters/fetch.js","../node_modules/axios/lib/adapters/adapters.js","../node_modules/axios/lib/helpers/null.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/HttpStatusCode.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/isAxiosError.js","services/api.js","components/GreenButton/GreenButton.js","pages/Home/Testimonial.js","pages/Home/FAQ.js","pages/Home/Home.js","images/newResArrow.svg","../node_modules/jwt-decode/build/esm/index.js","pages/Dashboard/Dashboard.js","../node_modules/@react-spring/rafz/src/index.ts","../node_modules/@react-spring/shared/src/globals.ts","../node_modules/@react-spring/shared/src/helpers.ts","../node_modules/@react-spring/shared/src/FrameLoop.ts","../node_modules/@react-spring/shared/src/clamp.ts","../node_modules/@react-spring/shared/src/colorMatchers.ts","../node_modules/@react-spring/shared/src/normalizeColor.ts","../node_modules/@react-spring/shared/src/colorToRgba.ts","../node_modules/@react-spring/shared/src/createInterpolator.ts","../node_modules/@react-spring/shared/src/easings.ts","../node_modules/@react-spring/shared/src/fluids.ts","../node_modules/@react-spring/shared/src/stringInterpolation.ts","../node_modules/@react-spring/shared/src/regexs.ts","../node_modules/@react-spring/shared/src/variableToRgba.ts","../node_modules/@react-spring/shared/src/deprecations.ts","../node_modules/@react-spring/shared/src/isAnimatedString.ts","../node_modules/@react-spring/shared/src/hooks/useIsomorphicLayoutEffect.ts","../node_modules/@react-spring/shared/src/hooks/useForceUpdate.ts","../node_modules/@react-spring/shared/src/hooks/useIsMounted.ts","../node_modules/@react-spring/shared/src/hooks/useOnce.ts","../node_modules/@react-spring/shared/src/hooks/usePrev.ts","../node_modules/@react-spring/shared/src/hooks/useReducedMotion.ts","../node_modules/@react-spring/animated/src/Animated.ts","../node_modules/@react-spring/animated/src/AnimatedValue.ts","../node_modules/@react-spring/animated/src/AnimatedString.ts","../node_modules/@react-spring/animated/src/context.ts","../node_modules/@react-spring/animated/src/AnimatedObject.ts","../node_modules/@react-spring/animated/src/AnimatedArray.ts","../node_modules/@react-spring/animated/src/getAnimatedType.ts","../node_modules/@react-spring/animated/src/withAnimated.tsx","../node_modules/@react-spring/animated/src/createHost.ts","../node_modules/@react-spring/core/src/helpers.ts","../node_modules/@react-spring/core/src/constants.ts","../node_modules/@react-spring/core/src/AnimationConfig.ts","../node_modules/@react-spring/core/src/Animation.ts","../node_modules/@react-spring/core/src/scheduleProps.ts","../node_modules/@react-spring/core/src/AnimationResult.ts","../node_modules/@react-spring/core/src/runAsync.ts","../node_modules/@react-spring/core/src/FrameValue.ts","../node_modules/@react-spring/core/src/SpringPhase.ts","../node_modules/@react-spring/core/src/SpringValue.ts","../node_modules/@react-spring/core/src/Controller.ts","../node_modules/@react-spring/core/src/SpringContext.tsx","../node_modules/@react-spring/shared/src/hooks/useMemoOne.ts","../node_modules/@react-spring/core/src/SpringRef.ts","../node_modules/@react-spring/core/src/hooks/useSprings.ts","../node_modules/@react-spring/core/src/hooks/useSpring.ts","../node_modules/@react-spring/core/src/hooks/useTrail.ts","../node_modules/@react-spring/core/src/hooks/useTransition.tsx","../node_modules/@react-spring/core/src/Interpolation.ts","../node_modules/@react-spring/core/src/globals.ts","../node_modules/@react-spring/web/src/applyAnimatedValues.ts","../node_modules/@react-spring/web/src/AnimatedStyle.ts","../node_modules/@react-spring/web/src/index.ts","../node_modules/@react-spring/shared/src/colors.ts","../node_modules/@react-spring/web/src/primitives.ts","../node_modules/fflate/esm/browser.js","../node_modules/jspdf/src/libs/globalObject.js","../node_modules/jspdf/src/libs/console.js","../node_modules/jspdf/src/libs/FileSaver.js","../node_modules/jspdf/src/libs/AtobBtoa.js","../node_modules/jspdf/src/libs/rgbcolor.js","../node_modules/jspdf/src/libs/md5.js","../node_modules/jspdf/src/libs/rc4.js","../node_modules/jspdf/src/libs/pdfsecurity.js","../node_modules/jspdf/src/libs/pdfname.js","../node_modules/jspdf/src/jspdf.js","../node_modules/jspdf/src/modules/acroform.js","../node_modules/jspdf/src/libs/fontFace.js","../node_modules/jspdf/src/modules/addimage.js","../node_modules/jspdf/src/modules/annotations.js","../node_modules/jspdf/src/modules/arabic.js","../node_modules/jspdf/src/modules/autoprint.js","../node_modules/jspdf/src/modules/canvas.js","../node_modules/jspdf/src/modules/cell.js","../node_modules/jspdf/src/modules/javascript.js","../node_modules/jspdf/src/modules/context2d.js","../node_modules/jspdf/src/modules/filters.js","../node_modules/jspdf/src/modules/fileloading.js","../node_modules/jspdf/src/modules/html.js","../node_modules/jspdf/src/modules/outline.js","../node_modules/jspdf/src/modules/jpeg_support.js","../node_modules/jspdf/src/libs/png.js","../node_modules/jspdf/src/modules/split_text_to_size.js","../node_modules/jspdf/src/libs/omggif.js","../node_modules/jspdf/src/libs/JPEGEncoder.js","../node_modules/jspdf/src/libs/BMPDecoder.js","../node_modules/jspdf/src/libs/WebPDecoder.js","../node_modules/jspdf/src/modules/png_support.js","../node_modules/jspdf/src/modules/gif_support.js","../node_modules/jspdf/src/modules/bmp_support.js","../node_modules/jspdf/src/modules/webp_support.js","../node_modules/jspdf/src/modules/rgba_support.js","../node_modules/jspdf/src/modules/setlanguage.js","../node_modules/jspdf/src/modules/standard_fonts_metrics.js","../node_modules/jspdf/src/modules/ttfsupport.js","../node_modules/jspdf/src/modules/svg.js","../node_modules/jspdf/src/modules/total_pages.js","../node_modules/jspdf/src/modules/viewerpreferences.js","../node_modules/jspdf/src/modules/xmp_metadata.js","../node_modules/jspdf/src/modules/utf8.js","../node_modules/jspdf/src/modules/vfs.js","../node_modules/jspdf/src/libs/bidiEngine.js","../node_modules/jspdf/src/libs/ttffont.js","../node_modules/clsx/dist/clsx.mjs","components/AwardsAchievements/AwardsAchievements.js","components/CandidateData/CandidateData.js","components/ContactInfo/ContactInfo.js","components/Education/Education.js","services/chatGPTService.js","components/EmploymentHistory/EmploymentHistory.js","components/ExtraActivitiesInfo/ExtraActivitiesInfo.js","components/JobRelatedTraining/JobRelatedTraining.js","components/Objective/Objective.js","components/ProfessionalAssociations/ProfessionalAssociations.js","components/SkillsSummary/SkillSummary.js","images/dashboardImg.svg","images/exportPDF.svg","images/saveFile.svg","pages/ResumeEditor/ResumeEditor.js","components/Header/Header.js","pages/Auth/Login/Login.js","pages/Auth/ForgotPassword/ForgotPassword.js","pages/Auth/ResetPassword/ResetPassword.js","pages/Auth/Register/Register.js","components/StarBorder.js","pages/Pricing/Pricing.js","images/avatar.svg","components/StickyHeader.js","pages/Profile/Profile.js","pages/Offer/Offer.js","pages/Billing/UpgradeSuccess.js","pages/Billing/PaymentFailed.js","pages/WizardEditor/SelectBuilder.js","../node_modules/@mui/utils/esm/composeClasses/composeClasses.js","../node_modules/@mui/utils/esm/useId/useId.js","../node_modules/@mui/utils/esm/formatMuiErrorMessage/formatMuiErrorMessage.js","../node_modules/@mui/utils/esm/capitalize/capitalize.js","../node_modules/@mui/material/utils/capitalize.js","../node_modules/@mui/utils/esm/setRef/setRef.js","../node_modules/@mui/utils/esm/useForkRef/useForkRef.js","../node_modules/@mui/utils/esm/getReactElementRef/getReactElementRef.js","../node_modules/@mui/utils/esm/ownerDocument/ownerDocument.js","../node_modules/@mui/material/Unstable_TrapFocus/FocusTrap.js","../node_modules/@mui/utils/esm/useEnhancedEffect/useEnhancedEffect.js","../node_modules/@mui/material/Portal/Portal.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@emotion/sheet/dist/emotion-sheet.esm.js","../node_modules/stylis/src/Utility.js","../node_modules/stylis/src/Tokenizer.js","../node_modules/stylis/src/Enum.js","../node_modules/stylis/src/Serializer.js","../node_modules/stylis/src/Parser.js","../node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","../node_modules/stylis/src/Middleware.js","../node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","../node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../node_modules/@emotion/serialize/dist/emotion-serialize.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-f0de968e.browser.esm.js","../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","../node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.esm.js","../node_modules/@emotion/styled/dist/emotion-styled.browser.esm.js","../node_modules/@mui/styled-engine/index.js","../node_modules/@mui/utils/esm/deepmerge/deepmerge.js","../node_modules/@mui/system/esm/createBreakpoints/createBreakpoints.js","../node_modules/@mui/system/esm/createTheme/shape.js","../node_modules/@mui/system/esm/breakpoints/breakpoints.js","../node_modules/@mui/system/esm/cssContainerQueries/cssContainerQueries.js","../node_modules/@mui/system/esm/style/style.js","../node_modules/@mui/system/esm/merge/merge.js","../node_modules/@mui/system/esm/spacing/spacing.js","../node_modules/@mui/system/esm/memoize/memoize.js","../node_modules/@mui/system/esm/createTheme/createSpacing.js","../node_modules/@mui/system/esm/compose/compose.js","../node_modules/@mui/system/esm/borders/borders.js","../node_modules/@mui/system/esm/cssGrid/cssGrid.js","../node_modules/@mui/system/esm/palette/palette.js","../node_modules/@mui/system/esm/sizing/sizing.js","../node_modules/@mui/system/esm/styleFunctionSx/defaultSxConfig.js","../node_modules/@mui/system/esm/styleFunctionSx/styleFunctionSx.js","../node_modules/@mui/system/esm/createTheme/applyStyles.js","../node_modules/@mui/system/esm/createTheme/createTheme.js","../node_modules/@mui/system/esm/preprocessStyles.js","../node_modules/@mui/system/esm/createStyled/createStyled.js","../node_modules/@mui/utils/esm/clamp/clamp.js","../node_modules/@mui/system/esm/colorManipulator/colorManipulator.js","../node_modules/@mui/material/colors/common.js","../node_modules/@mui/material/colors/grey.js","../node_modules/@mui/material/colors/purple.js","../node_modules/@mui/material/colors/red.js","../node_modules/@mui/material/colors/orange.js","../node_modules/@mui/material/colors/blue.js","../node_modules/@mui/material/colors/lightBlue.js","../node_modules/@mui/material/colors/green.js","../node_modules/@mui/material/styles/createPalette.js","../node_modules/@mui/system/esm/cssVars/createGetCssVar.js","../node_modules/@mui/system/esm/cssVars/prepareTypographyVars.js","../node_modules/@mui/system/esm/cssVars/cssVarsParser.js","../node_modules/@mui/system/esm/cssVars/prepareCssVars.js","../node_modules/@mui/material/styles/createMixins.js","../node_modules/@mui/material/styles/createTypography.js","../node_modules/@mui/material/styles/shadows.js","../node_modules/@mui/material/styles/createTransitions.js","../node_modules/@mui/material/styles/zIndex.js","../node_modules/@mui/material/styles/stringifyTheme.js","../node_modules/@mui/material/styles/createThemeNoVars.js","../node_modules/@mui/material/styles/getOverlayAlpha.js","../node_modules/@mui/material/styles/createColorScheme.js","../node_modules/@mui/material/styles/shouldSkipGeneratingVar.js","../node_modules/@mui/material/styles/excludeVariablesFromRoot.js","../node_modules/@mui/material/styles/createGetSelector.js","../node_modules/@mui/material/styles/createThemeWithVars.js","../node_modules/@mui/system/esm/cssVars/getColorSchemeSelector.js","../node_modules/@mui/material/styles/createTheme.js","../node_modules/@mui/material/styles/defaultTheme.js","../node_modules/@mui/material/styles/identifier.js","../node_modules/@mui/material/styles/slotShouldForwardProp.js","../node_modules/@mui/material/styles/rootShouldForwardProp.js","../node_modules/@mui/material/styles/styled.js","../node_modules/@mui/system/esm/memoTheme.js","../node_modules/@mui/material/utils/memoTheme.js","../node_modules/@mui/utils/esm/resolveProps/resolveProps.js","../node_modules/@mui/system/esm/DefaultPropsProvider/DefaultPropsProvider.js","../node_modules/@mui/material/DefaultPropsProvider/DefaultPropsProvider.js","../node_modules/@mui/utils/esm/isHostComponent/isHostComponent.js","../node_modules/@mui/utils/esm/appendOwnerState/appendOwnerState.js","../node_modules/@mui/utils/esm/resolveComponentProps/resolveComponentProps.js","../node_modules/@mui/utils/esm/extractEventHandlers/extractEventHandlers.js","../node_modules/@mui/utils/esm/omitEventHandlers/omitEventHandlers.js","../node_modules/@mui/utils/esm/mergeSlotProps/mergeSlotProps.js","../node_modules/@mui/material/utils/useSlot.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/react-transition-group/esm/config.js","../node_modules/react-transition-group/esm/TransitionGroupContext.js","../node_modules/react-transition-group/esm/utils/reflow.js","../node_modules/react-transition-group/esm/Transition.js","../node_modules/@mui/system/esm/useThemeWithoutDefault/useThemeWithoutDefault.js","../node_modules/@mui/system/esm/useTheme/useTheme.js","../node_modules/@mui/material/styles/useTheme.js","../node_modules/@mui/material/transitions/utils.js","../node_modules/@mui/material/utils/useForkRef.js","../node_modules/@mui/material/Fade/Fade.js","../node_modules/@mui/utils/esm/ClassNameGenerator/ClassNameGenerator.js","../node_modules/@mui/utils/esm/generateUtilityClass/generateUtilityClass.js","../node_modules/@mui/utils/esm/generateUtilityClasses/generateUtilityClasses.js","../node_modules/@mui/material/Backdrop/backdropClasses.js","../node_modules/@mui/material/Backdrop/Backdrop.js","../node_modules/@mui/utils/esm/useEventCallback/useEventCallback.js","../node_modules/@mui/utils/esm/createChainedFunction/createChainedFunction.js","../node_modules/@mui/utils/esm/ownerWindow/ownerWindow.js","../node_modules/@mui/material/Modal/ModalManager.js","../node_modules/@mui/utils/esm/getScrollbarSize/getScrollbarSize.js","../node_modules/@mui/material/Modal/useModal.js","../node_modules/@mui/material/Modal/modalClasses.js","../node_modules/@mui/material/Modal/Modal.js","../node_modules/@mui/material/Paper/paperClasses.js","../node_modules/@mui/material/Paper/Paper.js","../node_modules/@mui/material/Dialog/dialogClasses.js","../node_modules/@mui/material/Dialog/DialogContext.js","../node_modules/@mui/material/Dialog/Dialog.js","../node_modules/@mui/material/DialogContent/dialogContentClasses.js","../node_modules/@mui/material/DialogTitle/dialogTitleClasses.js","../node_modules/@mui/material/DialogContent/DialogContent.js","../node_modules/@mui/material/DialogActions/dialogActionsClasses.js","../node_modules/@mui/material/DialogActions/DialogActions.js","../node_modules/@mui/material/utils/useId.js","../node_modules/@mui/utils/esm/isFocusVisible/isFocusVisible.js","../node_modules/@mui/material/utils/useEventCallback.js","../node_modules/@mui/utils/esm/useLazyRef/useLazyRef.js","../node_modules/@mui/material/useLazyRipple/useLazyRipple.js","../node_modules/react-transition-group/esm/utils/ChildMapping.js","../node_modules/react-transition-group/esm/TransitionGroup.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@mui/utils/esm/useOnMount/useOnMount.js","../node_modules/@mui/utils/esm/useTimeout/useTimeout.js","../node_modules/@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/utils/createSimplePaletteValueFilter.js","../node_modules/@mui/material/CircularProgress/circularProgressClasses.js","../node_modules/@mui/material/CircularProgress/CircularProgress.js","../node_modules/@mui/material/Button/buttonClasses.js","../node_modules/@mui/material/ButtonGroup/ButtonGroupContext.js","../node_modules/@mui/material/ButtonGroup/ButtonGroupButtonContext.js","../node_modules/@mui/material/Button/Button.js","components/PaywallPreview/PaywallPreview.js","components/ResumePreviewModal/ResumePreviewModal.js","components/StripeCheckout/StripeCheckout.js","pages/WizardEditor/WizardContact.js","pages/WizardEditor/WizardCandidate.js","pages/WizardEditor/WizardObjective.js","../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../node_modules/react-tooltip/dist/react-tooltip.min.mjs","components/TrashcanIcon/TrashcanIcon.js","pages/WizardEditor/WizardSkills.js","../node_modules/react-dnd/src/hooks/useIsomorphicLayoutEffect.ts","../node_modules/react-dnd/src/hooks/useMonitorOutput.ts","../node_modules/react-dnd/src/hooks/useCollector.ts","../node_modules/react-dnd/src/hooks/useCollectedProps.ts","../node_modules/react-dnd/src/hooks/useOptionalFactory.ts","../node_modules/react-dnd/src/hooks/useDrop/connectors.ts","../node_modules/@react-dnd/shallowequal/src/index.ts","../node_modules/react-dnd/src/internals/isRef.ts","../node_modules/@react-dnd/invariant/src/index.ts","../node_modules/react-dnd/src/internals/wrapConnectorHooks.ts","../node_modules/react-dnd/src/internals/TargetConnector.ts","../node_modules/react-dnd/src/core/DndContext.ts","../node_modules/react-dnd/src/hooks/useDragDropManager.ts","../node_modules/react-dnd/src/internals/DropTargetMonitorImpl.ts","../node_modules/react-dnd/src/hooks/useDrop/DropTargetImpl.ts","../node_modules/react-dnd/src/hooks/useDrop/useRegisteredDropTarget.ts","../node_modules/react-dnd/src/hooks/useDrop/useDropTarget.ts","../node_modules/react-dnd/src/hooks/useDrop/useAccept.ts","../node_modules/react-dnd/src/internals/registration.ts","../node_modules/react-dnd/src/hooks/useDrop/useDrop.ts","../node_modules/react-dnd/src/hooks/useDrop/useDropTargetMonitor.ts","../node_modules/react-dnd/src/hooks/useDrop/useDropTargetConnector.ts","../node_modules/react-dnd/src/hooks/useDrag/connectors.ts","../node_modules/react-dnd/src/internals/SourceConnector.ts","../node_modules/react-dnd/src/internals/DragSourceMonitorImpl.ts","../node_modules/react-dnd/src/hooks/useDrag/DragSourceImpl.ts","../node_modules/react-dnd/src/hooks/useDrag/useRegisteredDragSource.ts","../node_modules/react-dnd/src/hooks/useDrag/useDragSource.ts","../node_modules/react-dnd/src/hooks/useDrag/useDragType.ts","../node_modules/react-dnd/src/hooks/useDrag/useDrag.ts","../node_modules/react-dnd/src/hooks/useDrag/useDragSourceMonitor.ts","../node_modules/react-dnd/src/hooks/useDrag/useDragSourceConnector.ts","../node_modules/redux/es/redux.js","../node_modules/dnd-core/src/utils/js_utils.ts","../node_modules/dnd-core/src/actions/dragDrop/types.ts","../node_modules/dnd-core/src/actions/dragDrop/local/setClientOffset.ts","../node_modules/dnd-core/src/actions/dragDrop/beginDrag.ts","../node_modules/dnd-core/src/actions/dragDrop/drop.ts","../node_modules/dnd-core/src/actions/dragDrop/endDrag.ts","../node_modules/dnd-core/src/utils/matchesType.ts","../node_modules/dnd-core/src/actions/dragDrop/hover.ts","../node_modules/dnd-core/src/actions/dragDrop/publishDragSource.ts","../node_modules/dnd-core/src/classes/DragDropManagerImpl.ts","../node_modules/dnd-core/src/actions/dragDrop/index.ts","../node_modules/dnd-core/src/utils/coords.ts","../node_modules/dnd-core/src/utils/dirtiness.ts","../node_modules/dnd-core/src/classes/DragDropMonitorImpl.ts","../node_modules/@react-dnd/asap/src/makeRequestCall.ts","../node_modules/@react-dnd/asap/src/RawTask.ts","../node_modules/@react-dnd/asap/src/asap.ts","../node_modules/@react-dnd/asap/src/AsapQueue.ts","../node_modules/@react-dnd/asap/src/TaskFactory.ts","../node_modules/dnd-core/src/actions/registry.ts","../node_modules/dnd-core/src/contracts.ts","../node_modules/dnd-core/src/interfaces.ts","../node_modules/dnd-core/src/utils/getNextUniqueId.ts","../node_modules/dnd-core/src/classes/HandlerRegistryImpl.ts","../node_modules/dnd-core/src/utils/equality.ts","../node_modules/dnd-core/src/reducers/dirtyHandlerIds.ts","../node_modules/dnd-core/src/reducers/dragOffset.ts","../node_modules/dnd-core/src/reducers/dragOperation.ts","../node_modules/dnd-core/src/reducers/refCount.ts","../node_modules/dnd-core/src/reducers/stateId.ts","../node_modules/dnd-core/src/reducers/index.ts","../node_modules/dnd-core/src/createDragDropManager.ts","../node_modules/react-dnd/src/core/DndProvider.tsx","../node_modules/react-dnd-html5-backend/src/utils/js_utils.ts","../node_modules/react-dnd-html5-backend/src/EnterLeaveCounter.ts","../node_modules/react-dnd-html5-backend/src/NativeDragSources/NativeDragSource.ts","../node_modules/react-dnd-html5-backend/src/NativeTypes.ts","../node_modules/react-dnd-html5-backend/src/NativeDragSources/getDataFromDataTransfer.ts","../node_modules/react-dnd-html5-backend/src/NativeDragSources/nativeTypesConfig.ts","../node_modules/react-dnd-html5-backend/src/NativeDragSources/index.ts","../node_modules/react-dnd-html5-backend/src/BrowserDetector.ts","../node_modules/react-dnd-html5-backend/src/MonotonicInterpolant.ts","../node_modules/react-dnd-html5-backend/src/OffsetUtils.ts","../node_modules/react-dnd-html5-backend/src/OptionsReader.ts","../node_modules/react-dnd-html5-backend/src/HTML5BackendImpl.ts","../node_modules/react-dnd-html5-backend/src/index.ts","images/eye-close.svg","images/eye-open.svg","components/SpellChecker/SpellChecker.js","pages/WizardEditor/WizardExperience.js","pages/WizardEditor/WizardEducation.js","pages/WizardEditor/WizardXtraActivities.js","pages/WizardEditor/WizardJobTraining.js","pages/WizardEditor/WizardAwards.js","pages/WizardEditor/WizardGenerate.js","components/InfoModal/InfoModal.js","components/wizardEditorContainer.js","pages/WizardEditor/WizardEditor.js","pages/WizardEditor/WizardNameResume.js","components/ScrollToTop.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/icons-material/esm/KeyboardArrowLeft.js","../node_modules/@mui/icons-material/esm/KeyboardArrowRight.js","../node_modules/@mui/system/esm/RtlProvider/index.js","../node_modules/@mui/material/LinearProgress/linearProgressClasses.js","../node_modules/@mui/material/LinearProgress/LinearProgress.js","../node_modules/@mui/material/MobileStepper/mobileStepperClasses.js","../node_modules/@mui/material/MobileStepper/MobileStepper.js","../node_modules/@mui/material/Stepper/stepperClasses.js","../node_modules/@mui/material/Stepper/StepperContext.js","../node_modules/@mui/material/Step/StepContext.js","../node_modules/@mui/material/StepConnector/stepConnectorClasses.js","../node_modules/@mui/material/StepConnector/StepConnector.js","../node_modules/@mui/material/Stepper/Stepper.js","../node_modules/@mui/material/Step/stepClasses.js","../node_modules/@mui/material/Step/Step.js","../node_modules/@mui/material/internal/svg-icons/CheckCircle.js","../node_modules/@mui/material/internal/svg-icons/Warning.js","../node_modules/@mui/material/StepIcon/stepIconClasses.js","../node_modules/@mui/material/StepIcon/StepIcon.js","../node_modules/@mui/material/StepLabel/stepLabelClasses.js","../node_modules/@mui/material/StepLabel/StepLabel.js","../node_modules/@mui/system/esm/useMediaQuery/useMediaQuery.js","../node_modules/@mui/system/esm/useThemeProps/getThemeProps.js","../node_modules/@mui/material/useMediaQuery/index.js","components/WizardStepper.js","App.js","reportWebVitals.js","../node_modules/posthog-js/src/utils/globals.ts","../node_modules/posthog-js/src/types.ts","../node_modules/posthog-js/src/config.ts","../node_modules/posthog-js/src/utils/string-utils.ts","../node_modules/posthog-js/src/utils/type-utils.ts","../node_modules/posthog-js/src/utils/logger.ts","../node_modules/posthog-js/src/entrypoints/external-scripts-loader.ts","../node_modules/posthog-js/src/utils/index.ts","../node_modules/posthog-js/src/constants.ts","../node_modules/posthog-js/src/utils/element-utils.ts","../node_modules/posthog-js/src/autocapture-utils.ts","../node_modules/posthog-js/src/extensions/rageclick.ts","../node_modules/posthog-js/src/utils/request-utils.ts","../node_modules/posthog-js/src/autocapture.ts","../node_modules/posthog-js/src/uuidv7.ts","../node_modules/posthog-js/src/storage.ts","../node_modules/posthog-js/src/consent.ts","../node_modules/posthog-js/src/extensions/dead-clicks-autocapture.ts","../node_modules/posthog-js/src/extensions/exception-autocapture/index.ts","../node_modules/posthog-js/src/extensions/replay/sessionrecording-utils.ts","../node_modules/posthog-js/node_modules/.pnpm/@rrweb+types@2.0.0-alpha.17/node_modules/@rrweb/types/dist/types.js","../node_modules/posthog-js/src/extensions/replay/config.ts","../node_modules/posthog-js/src/utils/number-utils.ts","../node_modules/posthog-js/src/extensions/replay/mutation-rate-limiter.ts","../node_modules/posthog-js/node_modules/.pnpm/fflate@0.4.8/node_modules/fflate/esm/browser.js","../node_modules/posthog-js/src/extensions/replay/sessionrecording.ts","../node_modules/posthog-js/src/extensions/sampling.ts","../node_modules/posthog-js/src/extensions/segment-integration.ts","../node_modules/posthog-js/src/extensions/sentry-integration.ts","../node_modules/posthog-js/src/extensions/toolbar.ts","../node_modules/posthog-js/src/extensions/tracing-headers.ts","../node_modules/posthog-js/src/extensions/web-vitals/index.ts","../node_modules/posthog-js/src/heatmaps.ts","../node_modules/posthog-js/src/page-view.ts","../node_modules/posthog-js/src/posthog-exceptions.ts","../node_modules/posthog-js/src/posthog-featureflags.ts","../node_modules/posthog-js/src/utils/user-agent-utils.ts","../node_modules/posthog-js/src/utils/event-utils.ts","../node_modules/posthog-js/src/posthog-persistence.ts","../node_modules/posthog-js/src/posthog-surveys-types.ts","../node_modules/posthog-js/node_modules/.pnpm/preact@10.19.3/node_modules/preact/dist/preact.module.js","../node_modules/posthog-js/src/extensions/surveys/surveys-utils.tsx","../node_modules/posthog-js/src/utils/regex-utils.ts","../node_modules/posthog-js/src/utils/simple-event-emitter.ts","../node_modules/posthog-js/src/extensions/surveys/action-matcher.ts","../node_modules/posthog-js/src/utils/survey-event-receiver.ts","../node_modules/posthog-js/src/posthog-surveys.ts","../node_modules/posthog-js/src/rate-limiter.ts","../node_modules/posthog-js/src/remote-config.ts","../node_modules/posthog-js/src/utils/encode-utils.ts","../node_modules/posthog-js/src/request.ts","../node_modules/posthog-js/src/request-queue.ts","../node_modules/posthog-js/src/retry-queue.ts","../node_modules/posthog-js/src/scroll-manager.ts","../node_modules/posthog-js/src/session-props.ts","../node_modules/posthog-js/src/sessionid.ts","../node_modules/posthog-js/src/site-apps.ts","../node_modules/posthog-js/src/utils/blocked-uas.ts","../node_modules/posthog-js/src/utils/request-router.ts","../node_modules/posthog-js/src/utils/identify-utils.ts","../node_modules/posthog-js/src/web-experiments.ts","../node_modules/posthog-js/src/posthog-core.ts","../node_modules/posthog-js/src/entrypoints/module.no-external.es.ts","../node_modules/posthog-js/react/dist/esm/index.js","../node_modules/@mui/private-theming/useTheme/ThemeContext.js","../node_modules/@mui/private-theming/useTheme/useTheme.js","../node_modules/@mui/private-theming/ThemeProvider/nested.js","../node_modules/@mui/private-theming/ThemeProvider/ThemeProvider.js","../node_modules/@mui/system/esm/ThemeProvider/ThemeProvider.js","../node_modules/@mui/material/styles/ThemeProviderNoVars.js","../node_modules/@mui/styled-engine/GlobalStyles/GlobalStyles.js","../node_modules/@mui/system/esm/InitColorSchemeScript/InitColorSchemeScript.js","../node_modules/@mui/system/esm/cssVars/localStorageManager.js","../node_modules/@mui/system/esm/cssVars/useCurrentColorScheme.js","../node_modules/@mui/material/InitColorSchemeScript/InitColorSchemeScript.js","../node_modules/@mui/material/styles/ThemeProviderWithVars.js","../node_modules/@mui/system/esm/cssVars/createCssVarsProvider.js","../node_modules/@mui/material/styles/ThemeProvider.js","theme.js","index.js"],"sourcesContent":["'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","'use strict';\n\n// do not edit .js files directly - edit src/index.jst\n\n\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","/**\n * @license React\n * react-jsx-runtime.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'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","/**\n * @license React\n * react.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'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1>>1,e=a[d];if(0>>1;dg(C,c))ng(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(ng(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","/*! *****************************************************************************\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 var findWidth = function(v) {\r\n return (\r\n (scope.getStringUnitWidth(v, {\r\n font: activeFont,\r\n charSpace: charSpace,\r\n fontSize: activeFontSize,\r\n doKerning: false\r\n }) *\r\n activeFontSize) /\r\n scaleFactor\r\n );\r\n };\r\n if (Object.prototype.toString.call(text) === \"[object Array]\") {\r\n da = transformTextToSpecialArray(text);\r\n var newY;\r\n if (align !== \"left\") {\r\n lineWidths = da.map(findWidth);\r\n }\r\n //The first line uses the \"main\" Td setting,\r\n //and the subsequent lines are offset by the\r\n //previous line's x coordinate.\r\n var prevWidth = 0;\r\n var newX;\r\n if (align === \"right\") {\r\n //The passed in x coordinate defines the\r\n //rightmost point of the text.\r\n x -= lineWidths[0];\r\n text = [];\r\n len = da.length;\r\n for (var i = 0; i < len; i++) {\r\n if (i === 0) {\r\n newX = getHorizontalCoordinate(x);\r\n newY = getVerticalCoordinate(y);\r\n } else {\r\n newX = scale(prevWidth - lineWidths[i]);\r\n newY = -leading;\r\n }\r\n text.push([da[i], newX, newY]);\r\n prevWidth = lineWidths[i];\r\n }\r\n } else if (align === \"center\") {\r\n //The passed in x coordinate defines\r\n //the center point.\r\n x -= lineWidths[0] / 2;\r\n text = [];\r\n len = da.length;\r\n for (var j = 0; j < len; j++) {\r\n if (j === 0) {\r\n newX = getHorizontalCoordinate(x);\r\n newY = getVerticalCoordinate(y);\r\n } else {\r\n newX = scale((prevWidth - lineWidths[j]) / 2);\r\n newY = -leading;\r\n }\r\n text.push([da[j], newX, newY]);\r\n prevWidth = lineWidths[j];\r\n }\r\n } else if (align === \"left\") {\r\n text = [];\r\n len = da.length;\r\n for (var h = 0; h < len; h++) {\r\n text.push(da[h]);\r\n }\r\n } else if (align === \"justify\" && activeFont.encoding === \"Identity-H\") {\r\n // when using unicode fonts, wordSpacePerLine does not apply\r\n text = [];\r\n len = da.length;\r\n maxWidth = maxWidth !== 0 ? maxWidth : pageWidth;\r\n let backToStartX = 0;\r\n for (var l = 0; l < len; l++) {\r\n newY = l === 0 ? getVerticalCoordinate(y) : -leading;\r\n newX = l === 0 ? getHorizontalCoordinate(x) : backToStartX;\r\n if (l < len - 1) {\r\n let spacing = scale(\r\n (maxWidth - lineWidths[l]) / (da[l].split(\" \").length - 1)\r\n );\r\n let words = da[l].split(\" \");\r\n text.push([words[0] + \" \", newX, newY]);\r\n backToStartX = 0; // distance to reset back to the left\r\n for (let i = 1; i < words.length; i++) {\r\n let shiftAmount =\r\n (findWidth(words[i - 1] + \" \" + words[i]) -\r\n findWidth(words[i])) *\r\n scaleFactor +\r\n spacing;\r\n if (i == words.length - 1) text.push([words[i], shiftAmount, 0]);\r\n else text.push([words[i] + \" \", shiftAmount, 0]);\r\n backToStartX -= shiftAmount;\r\n }\r\n } else {\r\n text.push([da[l], newX, newY]);\r\n }\r\n }\r\n text.push([\"\", backToStartX, 0]);\r\n } else if (align === \"justify\") {\r\n text = [];\r\n len = da.length;\r\n maxWidth = maxWidth !== 0 ? maxWidth : pageWidth;\r\n for (var l = 0; l < len; l++) {\r\n newY = l === 0 ? getVerticalCoordinate(y) : -leading;\r\n newX = l === 0 ? getHorizontalCoordinate(x) : 0;\r\n if (l < len - 1) {\r\n wordSpacingPerLine.push(\r\n hpf(\r\n scale(\r\n (maxWidth - lineWidths[l]) / (da[l].split(\" \").length - 1)\r\n )\r\n )\r\n );\r\n } else {\r\n wordSpacingPerLine.push(0);\r\n }\r\n text.push([da[l], newX, newY]);\r\n }\r\n } else {\r\n throw new Error(\r\n 'Unrecognized alignment option, use \"left\", \"center\", \"right\" or \"justify\".'\r\n );\r\n }\r\n }\r\n\r\n //R2L\r\n var doReversing = typeof options.R2L === \"boolean\" ? options.R2L : R2L;\r\n if (doReversing === true) {\r\n text = processTextByFunction(text, function(text, posX, posY) {\r\n return [\r\n text\r\n .split(\"\")\r\n .reverse()\r\n .join(\"\"),\r\n posX,\r\n posY\r\n ];\r\n });\r\n }\r\n\r\n //creating Payload-Object to make text byRef\r\n payload = {\r\n text: text,\r\n x: x,\r\n y: y,\r\n options: options,\r\n mutex: {\r\n pdfEscape: pdfEscape,\r\n activeFontKey: activeFontKey,\r\n fonts: fonts,\r\n activeFontSize: activeFontSize\r\n }\r\n };\r\n events.publish(\"postProcessText\", payload);\r\n\r\n text = payload.text;\r\n isHex = payload.mutex.isHex || false;\r\n\r\n //Escaping\r\n var activeFontEncoding = fonts[activeFontKey].encoding;\r\n\r\n if (\r\n activeFontEncoding === \"WinAnsiEncoding\" ||\r\n activeFontEncoding === \"StandardEncoding\"\r\n ) {\r\n text = processTextByFunction(text, function(text, posX, posY) {\r\n return [ESC(text), posX, posY];\r\n });\r\n }\r\n\r\n da = transformTextToSpecialArray(text);\r\n\r\n text = [];\r\n var STRING = 0;\r\n var ARRAY = 1;\r\n var variant = Array.isArray(da[0]) ? ARRAY : STRING;\r\n var posX;\r\n var posY;\r\n var content;\r\n var wordSpacing = \"\";\r\n\r\n var generatePosition = function(\r\n parmPosX,\r\n parmPosY,\r\n parmTransformationMatrix\r\n ) {\r\n var position = \"\";\r\n if (parmTransformationMatrix instanceof Matrix) {\r\n // It is kind of more intuitive to apply a plain rotation around the text anchor set by x and y\r\n // but when the user supplies an arbitrary transformation matrix, the x and y offsets should be applied\r\n // in the coordinate system established by this matrix\r\n if (typeof options.angle === \"number\") {\r\n parmTransformationMatrix = matrixMult(\r\n parmTransformationMatrix,\r\n new Matrix(1, 0, 0, 1, parmPosX, parmPosY)\r\n );\r\n } else {\r\n parmTransformationMatrix = matrixMult(\r\n new Matrix(1, 0, 0, 1, parmPosX, parmPosY),\r\n parmTransformationMatrix\r\n );\r\n }\r\n\r\n if (apiMode === ApiMode.ADVANCED) {\r\n parmTransformationMatrix = matrixMult(\r\n new Matrix(1, 0, 0, -1, 0, 0),\r\n parmTransformationMatrix\r\n );\r\n }\r\n\r\n position = parmTransformationMatrix.join(\" \") + \" Tm\\n\";\r\n } else {\r\n position = hpf(parmPosX) + \" \" + hpf(parmPosY) + \" Td\\n\";\r\n }\r\n return position;\r\n };\r\n\r\n for (var lineIndex = 0; lineIndex < da.length; lineIndex++) {\r\n wordSpacing = \"\";\r\n\r\n switch (variant) {\r\n case ARRAY:\r\n content =\r\n (isHex ? \"<\" : \"(\") + da[lineIndex][0] + (isHex ? \">\" : \")\");\r\n posX = parseFloat(da[lineIndex][1]);\r\n posY = parseFloat(da[lineIndex][2]);\r\n break;\r\n case STRING:\r\n content = (isHex ? \"<\" : \"(\") + da[lineIndex] + (isHex ? \">\" : \")\");\r\n posX = getHorizontalCoordinate(x);\r\n posY = getVerticalCoordinate(y);\r\n break;\r\n }\r\n\r\n if (\r\n typeof wordSpacingPerLine !== \"undefined\" &&\r\n typeof wordSpacingPerLine[lineIndex] !== \"undefined\"\r\n ) {\r\n wordSpacing = wordSpacingPerLine[lineIndex] + \" Tw\\n\";\r\n }\r\n\r\n if (lineIndex === 0) {\r\n text.push(\r\n wordSpacing +\r\n generatePosition(posX, posY, transformationMatrix) +\r\n content\r\n );\r\n } else if (variant === STRING) {\r\n text.push(wordSpacing + content);\r\n } else if (variant === ARRAY) {\r\n text.push(\r\n wordSpacing +\r\n generatePosition(posX, posY, transformationMatrix) +\r\n content\r\n );\r\n }\r\n }\r\n\r\n text = variant === STRING ? text.join(\" Tj\\nT* \") : text.join(\" Tj\\n\");\r\n text += \" Tj\\n\";\r\n\r\n var result = \"BT\\n/\";\r\n result += activeFontKey + \" \" + activeFontSize + \" Tf\\n\"; // font face, style, size\r\n result += hpf(activeFontSize * lineHeight) + \" TL\\n\"; // line spacing\r\n result += textColor + \"\\n\";\r\n result += xtra;\r\n result += text;\r\n result += \"ET\";\r\n\r\n out(result);\r\n usedFonts[activeFontKey] = true;\r\n return scope;\r\n };\r\n\r\n // PDF supports these path painting and clip path operators:\r\n //\r\n // S - stroke\r\n // s - close/stroke\r\n // f (F) - fill non-zero\r\n // f* - fill evenodd\r\n // B - fill stroke nonzero\r\n // B* - fill stroke evenodd\r\n // b - close fill stroke nonzero\r\n // b* - close fill stroke evenodd\r\n // n - nothing (consume path)\r\n // W - clip nonzero\r\n // W* - clip evenodd\r\n //\r\n // In order to keep the API small, we omit the close-and-fill/stroke operators and provide a separate close()\r\n // method.\r\n /**\r\n *\r\n * @name clip\r\n * @function\r\n * @instance\r\n * @param {string} rule Only possible value is 'evenodd'\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @description All .clip() after calling drawing ops with a style argument of null.\r\n */\r\n var clip = (API.__private__.clip = API.clip = function(rule) {\r\n // Call .clip() after calling drawing ops with a style argument of null\r\n // W is the PDF clipping op\r\n if (\"evenodd\" === rule) {\r\n out(\"W*\");\r\n } else {\r\n out(\"W\");\r\n }\r\n return this;\r\n });\r\n\r\n /**\r\n * @name clipEvenOdd\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @description Modify the current clip path by intersecting it with the current path using the even-odd rule. Note\r\n * that this will NOT consume the current path. In order to only use this path for clipping call\r\n * {@link API.discardPath} afterwards.\r\n */\r\n API.clipEvenOdd = function() {\r\n return clip(\"evenodd\");\r\n };\r\n\r\n /**\r\n * Consumes the current path without any effect. Mainly used in combination with {@link clip} or\r\n * {@link clipEvenOdd}. The PDF \"n\" operator.\r\n * @name discardPath\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.__private__.discardPath = API.discardPath = function() {\r\n out(\"n\");\r\n return this;\r\n };\r\n\r\n var isValidStyle = (API.__private__.isValidStyle = function(style) {\r\n var validStyleVariants = [\r\n undefined,\r\n null,\r\n \"S\",\r\n \"D\",\r\n \"F\",\r\n \"DF\",\r\n \"FD\",\r\n \"f\",\r\n \"f*\",\r\n \"B\",\r\n \"B*\",\r\n \"n\"\r\n ];\r\n var result = false;\r\n if (validStyleVariants.indexOf(style) !== -1) {\r\n result = true;\r\n }\r\n return result;\r\n });\r\n\r\n API.__private__.setDefaultPathOperation = API.setDefaultPathOperation = function(\r\n operator\r\n ) {\r\n if (isValidStyle(operator)) {\r\n defaultPathOperation = operator;\r\n }\r\n return this;\r\n };\r\n\r\n var getStyle = (API.__private__.getStyle = API.getStyle = function(style) {\r\n // see path-painting operators in PDF spec\r\n var op = defaultPathOperation; // stroke\r\n\r\n switch (style) {\r\n case \"D\":\r\n case \"S\":\r\n op = \"S\"; // stroke\r\n break;\r\n case \"F\":\r\n op = \"f\"; // fill\r\n break;\r\n case \"FD\":\r\n case \"DF\":\r\n op = \"B\";\r\n break;\r\n case \"f\":\r\n case \"f*\":\r\n case \"B\":\r\n case \"B*\":\r\n /*\r\n Allow direct use of these PDF path-painting operators:\r\n - f fill using nonzero winding number rule\r\n - f* fill using even-odd rule\r\n - B fill then stroke with fill using non-zero winding number rule\r\n - B* fill then stroke with fill using even-odd rule\r\n */\r\n op = style;\r\n break;\r\n }\r\n return op;\r\n });\r\n\r\n /**\r\n * Close the current path. The PDF \"h\" operator.\r\n * @name close\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n var close = (API.close = function() {\r\n out(\"h\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Stroke the path. The PDF \"S\" operator.\r\n * @name stroke\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.stroke = function() {\r\n out(\"S\");\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill the current path using the nonzero winding number rule. If a pattern is provided, the path will be filled\r\n * with this pattern, otherwise with the current fill color. Equivalent to the PDF \"f\" operator.\r\n * @name fill\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be filled with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fill = function(pattern) {\r\n fillWithOptionalPattern(\"f\", pattern);\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill the current path using the even-odd rule. The PDF f* operator.\r\n * @see API.fill\r\n * @name fillEvenOdd\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be filled with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fillEvenOdd = function(pattern) {\r\n fillWithOptionalPattern(\"f*\", pattern);\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill using the nonzero winding number rule and then stroke the current Path. The PDF \"B\" operator.\r\n * @see API.fill\r\n * @name fillStroke\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be stroked with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fillStroke = function(pattern) {\r\n fillWithOptionalPattern(\"B\", pattern);\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill using the even-odd rule and then stroke the current Path. The PDF \"B\" operator.\r\n * @see API.fill\r\n * @name fillStrokeEvenOdd\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be fill-stroked with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fillStrokeEvenOdd = function(pattern) {\r\n fillWithOptionalPattern(\"B*\", pattern);\r\n return this;\r\n };\r\n\r\n var fillWithOptionalPattern = function(style, pattern) {\r\n if (typeof pattern === \"object\") {\r\n fillWithPattern(pattern, style);\r\n } else {\r\n out(style);\r\n }\r\n };\r\n\r\n var putStyle = function(style) {\r\n if (\r\n style === null ||\r\n (apiMode === ApiMode.ADVANCED && style === undefined)\r\n ) {\r\n return;\r\n }\r\n\r\n style = getStyle(style);\r\n\r\n // stroking / filling / both the path\r\n out(style);\r\n };\r\n\r\n function cloneTilingPattern(patternKey, boundingBox, xStep, yStep, matrix) {\r\n var clone = new TilingPattern(\r\n boundingBox || this.boundingBox,\r\n xStep || this.xStep,\r\n yStep || this.yStep,\r\n this.gState,\r\n matrix || this.matrix\r\n );\r\n clone.stream = this.stream;\r\n var key = patternKey + \"$$\" + this.cloneIndex++ + \"$$\";\r\n addPattern(key, clone);\r\n return clone;\r\n }\r\n\r\n var fillWithPattern = function(patternData, style) {\r\n var patternId = patternMap[patternData.key];\r\n var pattern = patterns[patternId];\r\n\r\n if (pattern instanceof ShadingPattern) {\r\n out(\"q\");\r\n\r\n out(clipRuleFromStyle(style));\r\n\r\n if (pattern.gState) {\r\n API.setGState(pattern.gState);\r\n }\r\n out(patternData.matrix.toString() + \" cm\");\r\n out(\"/\" + patternId + \" sh\");\r\n out(\"Q\");\r\n } else if (pattern instanceof TilingPattern) {\r\n // pdf draws patterns starting at the bottom left corner and they are not affected by the global transformation,\r\n // so we must flip them\r\n var matrix = new Matrix(1, 0, 0, -1, 0, getPageHeight());\r\n\r\n if (patternData.matrix) {\r\n matrix = matrix.multiply(patternData.matrix || identityMatrix);\r\n // we cannot apply a matrix to the pattern on use so we must abuse the pattern matrix and create new instances\r\n // for each use\r\n patternId = cloneTilingPattern.call(\r\n pattern,\r\n patternData.key,\r\n patternData.boundingBox,\r\n patternData.xStep,\r\n patternData.yStep,\r\n matrix\r\n ).id;\r\n }\r\n\r\n out(\"q\");\r\n out(\"/Pattern cs\");\r\n out(\"/\" + patternId + \" scn\");\r\n\r\n if (pattern.gState) {\r\n API.setGState(pattern.gState);\r\n }\r\n\r\n out(style);\r\n out(\"Q\");\r\n }\r\n };\r\n\r\n var clipRuleFromStyle = function(style) {\r\n switch (style) {\r\n case \"f\":\r\n case \"F\":\r\n return \"W n\";\r\n case \"f*\":\r\n return \"W* n\";\r\n case \"B\":\r\n return \"W S\";\r\n case \"B*\":\r\n return \"W* S\";\r\n\r\n // these two are for compatibility reasons (in the past, calling any primitive method with a shading pattern\r\n // and \"n\"/\"S\" as style would still fill/fill and stroke the path)\r\n case \"S\":\r\n return \"W S\";\r\n case \"n\":\r\n return \"W n\";\r\n }\r\n };\r\n\r\n /**\r\n * Begin a new subpath by moving the current point to coordinates (x, y). The PDF \"m\" operator.\r\n * @param {number} x\r\n * @param {number} y\r\n * @name moveTo\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @returns {jsPDF}\r\n */\r\n var moveTo = (API.moveTo = function(x, y) {\r\n out(hpf(scale(x)) + \" \" + hpf(transformScaleY(y)) + \" m\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Append a straight line segment from the current point to the point (x, y). The PDF \"l\" operator.\r\n * @param {number} x\r\n * @param {number} y\r\n * @memberof jsPDF#\r\n * @name lineTo\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @returns {jsPDF}\r\n */\r\n var lineTo = (API.lineTo = function(x, y) {\r\n out(hpf(scale(x)) + \" \" + hpf(transformScaleY(y)) + \" l\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Append a cubic Bézier curve to the current path. The curve shall extend from the current point to the point\r\n * (x3, y3), using (x1, y1) and (x2, y2) as Bézier control points. The new current point shall be (x3, x3).\r\n * @param {number} x1\r\n * @param {number} y1\r\n * @param {number} x2\r\n * @param {number} y2\r\n * @param {number} x3\r\n * @param {number} y3\r\n * @memberof jsPDF#\r\n * @name curveTo\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @returns {jsPDF}\r\n */\r\n var curveTo = (API.curveTo = function(x1, y1, x2, y2, x3, y3) {\r\n out(\r\n [\r\n hpf(scale(x1)),\r\n hpf(transformScaleY(y1)),\r\n hpf(scale(x2)),\r\n hpf(transformScaleY(y2)),\r\n hpf(scale(x3)),\r\n hpf(transformScaleY(y3)),\r\n \"c\"\r\n ].join(\" \")\r\n );\r\n return this;\r\n });\r\n\r\n /**\r\n * Draw a line on the current page.\r\n *\r\n * @name line\r\n * @function\r\n * @instance\r\n * @param {number} x1\r\n * @param {number} y1\r\n * @param {number} x2\r\n * @param {number} y2\r\n * @param {string} style A string specifying the painting style or null. Valid styles include: 'S' [default] - stroke, 'F' - fill, and 'DF' (or 'FD') - fill then stroke. A null value postpones setting the style so that a shape may be composed using multiple method calls. The last drawing method call used to define the shape should not have a null style argument. default: 'S'\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.__private__.line = API.line = function(x1, y1, x2, y2, style) {\r\n if (\r\n isNaN(x1) ||\r\n isNaN(y1) ||\r\n isNaN(x2) ||\r\n isNaN(y2) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.line\");\r\n }\r\n if (apiMode === ApiMode.COMPAT) {\r\n return this.lines([[x2 - x1, y2 - y1]], x1, y1, [1, 1], style || \"S\");\r\n } else {\r\n return this.lines([[x2 - x1, y2 - y1]], x1, y1, [1, 1]).stroke();\r\n }\r\n };\r\n\r\n /**\r\n * @typedef {Object} PatternData\r\n * {Matrix|undefined} matrix\r\n * {Number|undefined} xStep\r\n * {Number|undefined} yStep\r\n * {Array.|undefined} boundingBox\r\n */\r\n\r\n /**\r\n * Adds series of curves (straight lines or cubic bezier curves) to canvas, starting at `x`, `y` coordinates.\r\n * All data points in `lines` are relative to last line origin.\r\n * `x`, `y` become x1,y1 for first line / curve in the set.\r\n * For lines you only need to specify [x2, y2] - (ending point) vector against x1, y1 starting point.\r\n * For bezier curves you need to specify [x2,y2,x3,y3,x4,y4] - vectors to control points 1, 2, ending point. All vectors are against the start of the curve - x1,y1.\r\n *\r\n * @example .lines([[2,2],[-2,2],[1,1,2,2,3,3],[2,1]], 212,110, [1,1], 'F', false) // line, line, bezier curve, line\r\n * @param {Array} lines Array of *vector* shifts as pairs (lines) or sextets (cubic bezier curves).\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} scale (Defaults to [1.0,1.0]) x,y Scaling factor for all vectors. Elements can be any floating number Sub-one makes drawing smaller. Over-one grows the drawing. Negative flips the direction.\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @param {Boolean=} closed If true, the path is closed with a straight line from the end of the last curve to the starting point.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name lines\r\n */\r\n API.__private__.lines = API.lines = function(\r\n lines,\r\n x,\r\n y,\r\n scale,\r\n style,\r\n closed\r\n ) {\r\n var scalex, scaley, i, l, leg, x2, y2, x3, y3, x4, y4, tmp;\r\n\r\n // Pre-August-2012 the order of arguments was function(x, y, lines, scale, style)\r\n // in effort to make all calls have similar signature like\r\n // function(content, coordinateX, coordinateY , miscellaneous)\r\n // this method had its args flipped.\r\n // code below allows backward compatibility with old arg order.\r\n if (typeof lines === \"number\") {\r\n tmp = y;\r\n y = x;\r\n x = lines;\r\n lines = tmp;\r\n }\r\n\r\n scale = scale || [1, 1];\r\n closed = closed || false;\r\n\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n !Array.isArray(lines) ||\r\n !Array.isArray(scale) ||\r\n !isValidStyle(style) ||\r\n typeof closed !== \"boolean\"\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.lines\");\r\n }\r\n\r\n // starting point\r\n moveTo(x, y);\r\n\r\n scalex = scale[0];\r\n scaley = scale[1];\r\n l = lines.length;\r\n //, x2, y2 // bezier only. In page default measurement \"units\", *after* scaling\r\n //, x3, y3 // bezier only. In page default measurement \"units\", *after* scaling\r\n // ending point for all, lines and bezier. . In page default measurement \"units\", *after* scaling\r\n x4 = x; // last / ending point = starting point for first item.\r\n y4 = y; // last / ending point = starting point for first item.\r\n\r\n for (i = 0; i < l; i++) {\r\n leg = lines[i];\r\n if (leg.length === 2) {\r\n // simple line\r\n x4 = leg[0] * scalex + x4; // here last x4 was prior ending point\r\n y4 = leg[1] * scaley + y4; // here last y4 was prior ending point\r\n lineTo(x4, y4);\r\n } else {\r\n // bezier curve\r\n x2 = leg[0] * scalex + x4; // here last x4 is prior ending point\r\n y2 = leg[1] * scaley + y4; // here last y4 is prior ending point\r\n x3 = leg[2] * scalex + x4; // here last x4 is prior ending point\r\n y3 = leg[3] * scaley + y4; // here last y4 is prior ending point\r\n x4 = leg[4] * scalex + x4; // here last x4 was prior ending point\r\n y4 = leg[5] * scaley + y4; // here last y4 was prior ending point\r\n curveTo(x2, y2, x3, y3, x4, y4);\r\n }\r\n }\r\n\r\n if (closed) {\r\n close();\r\n }\r\n\r\n putStyle(style);\r\n return this;\r\n };\r\n\r\n /**\r\n * Similar to {@link API.lines} but all coordinates are interpreted as absolute coordinates instead of relative.\r\n * @param {Array} lines An array of {op: operator, c: coordinates} object, where op is one of \"m\" (move to), \"l\" (line to)\r\n * \"c\" (cubic bezier curve) and \"h\" (close (sub)path)). c is an array of coordinates. \"m\" and \"l\" expect two, \"c\"\r\n * six and \"h\" an empty array (or undefined).\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name path\r\n */\r\n API.path = function(lines) {\r\n for (var i = 0; i < lines.length; i++) {\r\n var leg = lines[i];\r\n var coords = leg.c;\r\n switch (leg.op) {\r\n case \"m\":\r\n moveTo(coords[0], coords[1]);\r\n break;\r\n case \"l\":\r\n lineTo(coords[0], coords[1]);\r\n break;\r\n case \"c\":\r\n curveTo.apply(this, coords);\r\n break;\r\n case \"h\":\r\n close();\r\n break;\r\n }\r\n }\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds a rectangle to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} w Width (in units declared at inception of PDF document)\r\n * @param {number} h Height (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name rect\r\n */\r\n API.__private__.rect = API.rect = function(x, y, w, h, style) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h) || !isValidStyle(style)) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.rect\");\r\n }\r\n if (apiMode === ApiMode.COMPAT) {\r\n h = -h;\r\n }\r\n\r\n out(\r\n [\r\n hpf(scale(x)),\r\n hpf(transformScaleY(y)),\r\n hpf(scale(w)),\r\n hpf(scale(h)),\r\n \"re\"\r\n ].join(\" \")\r\n );\r\n\r\n putStyle(style);\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds a triangle to PDF.\r\n *\r\n * @param {number} x1 Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y1 Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} x2 Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y2 Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} x3 Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y3 Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name triangle\r\n */\r\n API.__private__.triangle = API.triangle = function(\r\n x1,\r\n y1,\r\n x2,\r\n y2,\r\n x3,\r\n y3,\r\n style\r\n ) {\r\n if (\r\n isNaN(x1) ||\r\n isNaN(y1) ||\r\n isNaN(x2) ||\r\n isNaN(y2) ||\r\n isNaN(x3) ||\r\n isNaN(y3) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.triangle\");\r\n }\r\n this.lines(\r\n [\r\n [x2 - x1, y2 - y1], // vector to point 2\r\n [x3 - x2, y3 - y2], // vector to point 3\r\n [x1 - x3, y1 - y3] // closing vector back to point 1\r\n ],\r\n x1,\r\n y1, // start of path\r\n [1, 1],\r\n style,\r\n true\r\n );\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds a rectangle with rounded corners to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} w Width (in units declared at inception of PDF document)\r\n * @param {number} h Height (in units declared at inception of PDF document)\r\n * @param {number} rx Radius along x axis (in units declared at inception of PDF document)\r\n * @param {number} ry Radius along y axis (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name roundedRect\r\n */\r\n API.__private__.roundedRect = API.roundedRect = function(\r\n x,\r\n y,\r\n w,\r\n h,\r\n rx,\r\n ry,\r\n style\r\n ) {\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n isNaN(w) ||\r\n isNaN(h) ||\r\n isNaN(rx) ||\r\n isNaN(ry) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.roundedRect\");\r\n }\r\n var MyArc = (4 / 3) * (Math.SQRT2 - 1);\r\n\r\n rx = Math.min(rx, w * 0.5);\r\n ry = Math.min(ry, h * 0.5);\r\n\r\n this.lines(\r\n [\r\n [w - 2 * rx, 0],\r\n [rx * MyArc, 0, rx, ry - ry * MyArc, rx, ry],\r\n [0, h - 2 * ry],\r\n [0, ry * MyArc, -(rx * MyArc), ry, -rx, ry],\r\n [-w + 2 * rx, 0],\r\n [-(rx * MyArc), 0, -rx, -(ry * MyArc), -rx, -ry],\r\n [0, -h + 2 * ry],\r\n [0, -(ry * MyArc), rx * MyArc, -ry, rx, -ry]\r\n ],\r\n x + rx,\r\n y, // start of path\r\n [1, 1],\r\n style,\r\n true\r\n );\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds an ellipse to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} rx Radius along x axis (in units declared at inception of PDF document)\r\n * @param {number} ry Radius along y axis (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name ellipse\r\n */\r\n API.__private__.ellipse = API.ellipse = function(x, y, rx, ry, style) {\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n isNaN(rx) ||\r\n isNaN(ry) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.ellipse\");\r\n }\r\n var lx = (4 / 3) * (Math.SQRT2 - 1) * rx,\r\n ly = (4 / 3) * (Math.SQRT2 - 1) * ry;\r\n\r\n moveTo(x + rx, y);\r\n curveTo(x + rx, y - ly, x + lx, y - ry, x, y - ry);\r\n curveTo(x - lx, y - ry, x - rx, y - ly, x - rx, y);\r\n curveTo(x - rx, y + ly, x - lx, y + ry, x, y + ry);\r\n curveTo(x + lx, y + ry, x + rx, y + ly, x + rx, y);\r\n\r\n putStyle(style);\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds an circle to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} r Radius (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name circle\r\n */\r\n API.__private__.circle = API.circle = function(x, y, r, style) {\r\n if (isNaN(x) || isNaN(y) || isNaN(r) || !isValidStyle(style)) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.circle\");\r\n }\r\n return this.ellipse(x, y, r, r, style);\r\n };\r\n\r\n /**\r\n * Sets text font face, variant for upcoming text elements.\r\n * See output of jsPDF.getFontList() for possible font names, styles.\r\n *\r\n * @param {string} fontName Font name or family. Example: \"times\".\r\n * @param {string} fontStyle Font style or variant. Example: \"italic\".\r\n * @param {number | string} fontWeight Weight of the Font. Example: \"normal\" | 400\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setFont\r\n */\r\n API.setFont = function(fontName, fontStyle, fontWeight) {\r\n if (fontWeight) {\r\n fontStyle = combineFontStyleAndFontWeight(fontStyle, fontWeight);\r\n }\r\n activeFontKey = getFont(fontName, fontStyle, {\r\n disableWarning: false\r\n });\r\n return this;\r\n };\r\n\r\n /**\r\n * Gets text font face, variant for upcoming text elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {Object}\r\n * @memberof jsPDF#\r\n * @name getFont\r\n */\r\n var getFontEntry = (API.__private__.getFont = API.getFont = function() {\r\n return fonts[getFont.apply(API, arguments)];\r\n });\r\n\r\n /**\r\n * Returns an object - a tree of fontName to fontStyle relationships available to\r\n * active PDF document.\r\n *\r\n * @public\r\n * @function\r\n * @instance\r\n * @returns {Object} Like {'times':['normal', 'italic', ... ], 'arial':['normal', 'bold', ... ], ... }\r\n * @memberof jsPDF#\r\n * @name getFontList\r\n */\r\n API.__private__.getFontList = API.getFontList = function() {\r\n var list = {},\r\n fontName,\r\n fontStyle;\r\n\r\n for (fontName in fontmap) {\r\n if (fontmap.hasOwnProperty(fontName)) {\r\n list[fontName] = [];\r\n for (fontStyle in fontmap[fontName]) {\r\n if (fontmap[fontName].hasOwnProperty(fontStyle)) {\r\n list[fontName].push(fontStyle);\r\n }\r\n }\r\n }\r\n }\r\n return list;\r\n };\r\n\r\n /**\r\n * Add a custom font to the current instance.\r\n *\r\n * @param {string} postScriptName PDF specification full name for the font.\r\n * @param {string} id PDF-document-instance-specific label assinged to the font.\r\n * @param {string} fontStyle Style of the Font.\r\n * @param {number | string} fontWeight Weight of the Font.\r\n * @param {Object} encoding Encoding_name-to-Font_metrics_object mapping.\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @name addFont\r\n * @returns {string} fontId\r\n */\r\n API.addFont = function(\r\n postScriptName,\r\n fontName,\r\n fontStyle,\r\n fontWeight,\r\n encoding\r\n ) {\r\n var encodingOptions = [\r\n \"StandardEncoding\",\r\n \"MacRomanEncoding\",\r\n \"Identity-H\",\r\n \"WinAnsiEncoding\"\r\n ];\r\n if (arguments[3] && encodingOptions.indexOf(arguments[3]) !== -1) {\r\n //IE 11 fix\r\n encoding = arguments[3];\r\n } else if (arguments[3] && encodingOptions.indexOf(arguments[3]) == -1) {\r\n fontStyle = combineFontStyleAndFontWeight(fontStyle, fontWeight);\r\n }\r\n encoding = encoding || \"Identity-H\";\r\n return addFont.call(this, postScriptName, fontName, fontStyle, encoding);\r\n };\r\n\r\n var lineWidth = options.lineWidth || 0.200025; // 2mm\r\n /**\r\n * Gets the line width, default: 0.200025.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {number} lineWidth\r\n * @memberof jsPDF#\r\n * @name getLineWidth\r\n */\r\n var getLineWidth = (API.__private__.getLineWidth = API.getLineWidth = function() {\r\n return lineWidth;\r\n });\r\n\r\n /**\r\n * Sets line width for upcoming lines.\r\n *\r\n * @param {number} width Line width (in units declared at inception of PDF document).\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineWidth\r\n */\r\n var setLineWidth = (API.__private__.setLineWidth = API.setLineWidth = function(\r\n width\r\n ) {\r\n lineWidth = width;\r\n out(hpf(scale(width)) + \" w\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Sets the dash pattern for upcoming lines.\r\n *\r\n * To reset the settings simply call the method without any parameters.\r\n * @param {Array} dashArray An array containing 0-2 numbers. The first number sets the length of the\r\n * dashes, the second number the length of the gaps. If the second number is missing, the gaps are considered\r\n * to be as long as the dashes. An empty array means solid, unbroken lines.\r\n * @param {number} dashPhase The phase lines start with.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineDashPattern\r\n */\r\n API.__private__.setLineDash = jsPDF.API.setLineDash = jsPDF.API.setLineDashPattern = function(\r\n dashArray,\r\n dashPhase\r\n ) {\r\n dashArray = dashArray || [];\r\n dashPhase = dashPhase || 0;\r\n\r\n if (isNaN(dashPhase) || !Array.isArray(dashArray)) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.setLineDash\");\r\n }\r\n\r\n dashArray = dashArray\r\n .map(function(x) {\r\n return hpf(scale(x));\r\n })\r\n .join(\" \");\r\n dashPhase = hpf(scale(dashPhase));\r\n\r\n out(\"[\" + dashArray + \"] \" + dashPhase + \" d\");\r\n return this;\r\n };\r\n\r\n var lineHeightFactor;\r\n\r\n var getLineHeight = (API.__private__.getLineHeight = API.getLineHeight = function() {\r\n return activeFontSize * lineHeightFactor;\r\n });\r\n\r\n API.__private__.getLineHeight = API.getLineHeight = function() {\r\n return activeFontSize * lineHeightFactor;\r\n };\r\n\r\n /**\r\n * Sets the LineHeightFactor of proportion.\r\n *\r\n * @param {number} value LineHeightFactor value. Default: 1.15.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineHeightFactor\r\n */\r\n var setLineHeightFactor = (API.__private__.setLineHeightFactor = API.setLineHeightFactor = function(\r\n value\r\n ) {\r\n value = value || 1.15;\r\n if (typeof value === \"number\") {\r\n lineHeightFactor = value;\r\n }\r\n return this;\r\n });\r\n\r\n /**\r\n * Gets the LineHeightFactor, default: 1.15.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {number} lineHeightFactor\r\n * @memberof jsPDF#\r\n * @name getLineHeightFactor\r\n */\r\n var getLineHeightFactor = (API.__private__.getLineHeightFactor = API.getLineHeightFactor = function() {\r\n return lineHeightFactor;\r\n });\r\n\r\n setLineHeightFactor(options.lineHeight);\r\n\r\n var getHorizontalCoordinate = (API.__private__.getHorizontalCoordinate = function(\r\n value\r\n ) {\r\n return scale(value);\r\n });\r\n\r\n var getVerticalCoordinate = (API.__private__.getVerticalCoordinate = function(\r\n value\r\n ) {\r\n if (apiMode === ApiMode.ADVANCED) {\r\n return value;\r\n } else {\r\n var pageHeight =\r\n pagesContext[currentPage].mediaBox.topRightY -\r\n pagesContext[currentPage].mediaBox.bottomLeftY;\r\n return pageHeight - scale(value);\r\n }\r\n });\r\n\r\n var getHorizontalCoordinateString = (API.__private__.getHorizontalCoordinateString = API.getHorizontalCoordinateString = function(\r\n value\r\n ) {\r\n return hpf(getHorizontalCoordinate(value));\r\n });\r\n\r\n var getVerticalCoordinateString = (API.__private__.getVerticalCoordinateString = API.getVerticalCoordinateString = function(\r\n value\r\n ) {\r\n return hpf(getVerticalCoordinate(value));\r\n });\r\n\r\n var strokeColor = options.strokeColor || \"0 G\";\r\n\r\n /**\r\n * Gets the stroke color for upcoming elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {string} colorAsHex\r\n * @memberof jsPDF#\r\n * @name getDrawColor\r\n */\r\n API.__private__.getStrokeColor = API.getDrawColor = function() {\r\n return decodeColorString(strokeColor);\r\n };\r\n\r\n /**\r\n * Sets the stroke color for upcoming elements.\r\n *\r\n * Depending on the number of arguments given, Gray, RGB, or CMYK\r\n * color space is implied.\r\n *\r\n * When only ch1 is given, \"Gray\" color space is implied and it\r\n * must be a value in the range from 0.00 (solid black) to to 1.00 (white)\r\n * if values are communicated as String types, or in range from 0 (black)\r\n * to 255 (white) if communicated as Number type.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When only ch1,ch2,ch3 are given, \"RGB\" color space is implied and each\r\n * value must be in the range from 0.00 (minimum intensity) to to 1.00\r\n * (max intensity) if values are communicated as String types, or\r\n * from 0 (min intensity) to to 255 (max intensity) if values are communicated\r\n * as Number types.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When ch1,ch2,ch3,ch4 are given, \"CMYK\" color space is implied and each\r\n * value must be a in the range from 0.00 (0% concentration) to to\r\n * 1.00 (100% concentration)\r\n *\r\n * Because JavaScript treats fixed point numbers badly (rounds to\r\n * floating point nearest to binary representation) it is highly advised to\r\n * communicate the fractional numbers as String types, not JavaScript Number type.\r\n *\r\n * @param {Number|String} ch1 Color channel value or {string} ch1 color value in hexadecimal, example: '#FFFFFF'.\r\n * @param {Number} ch2 Color channel value.\r\n * @param {Number} ch3 Color channel value.\r\n * @param {Number} ch4 Color channel value.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setDrawColor\r\n */\r\n API.__private__.setStrokeColor = API.setDrawColor = function(\r\n ch1,\r\n ch2,\r\n ch3,\r\n ch4\r\n ) {\r\n var options = {\r\n ch1: ch1,\r\n ch2: ch2,\r\n ch3: ch3,\r\n ch4: ch4,\r\n pdfColorType: \"draw\",\r\n precision: 2\r\n };\r\n\r\n strokeColor = encodeColorString(options);\r\n out(strokeColor);\r\n return this;\r\n };\r\n\r\n var fillColor = options.fillColor || \"0 g\";\r\n\r\n /**\r\n * Gets the fill color for upcoming elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {string} colorAsHex\r\n * @memberof jsPDF#\r\n * @name getFillColor\r\n */\r\n API.__private__.getFillColor = API.getFillColor = function() {\r\n return decodeColorString(fillColor);\r\n };\r\n\r\n /**\r\n * Sets the fill color for upcoming elements.\r\n *\r\n * Depending on the number of arguments given, Gray, RGB, or CMYK\r\n * color space is implied.\r\n *\r\n * When only ch1 is given, \"Gray\" color space is implied and it\r\n * must be a value in the range from 0.00 (solid black) to to 1.00 (white)\r\n * if values are communicated as String types, or in range from 0 (black)\r\n * to 255 (white) if communicated as Number type.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When only ch1,ch2,ch3 are given, \"RGB\" color space is implied and each\r\n * value must be in the range from 0.00 (minimum intensity) to to 1.00\r\n * (max intensity) if values are communicated as String types, or\r\n * from 0 (min intensity) to to 255 (max intensity) if values are communicated\r\n * as Number types.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When ch1,ch2,ch3,ch4 are given, \"CMYK\" color space is implied and each\r\n * value must be a in the range from 0.00 (0% concentration) to to\r\n * 1.00 (100% concentration)\r\n *\r\n * Because JavaScript treats fixed point numbers badly (rounds to\r\n * floating point nearest to binary representation) it is highly advised to\r\n * communicate the fractional numbers as String types, not JavaScript Number type.\r\n *\r\n * @param {Number|String} ch1 Color channel value or {string} ch1 color value in hexadecimal, example: '#FFFFFF'.\r\n * @param {Number} ch2 Color channel value.\r\n * @param {Number} ch3 Color channel value.\r\n * @param {Number} ch4 Color channel value.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setFillColor\r\n */\r\n API.__private__.setFillColor = API.setFillColor = function(\r\n ch1,\r\n ch2,\r\n ch3,\r\n ch4\r\n ) {\r\n var options = {\r\n ch1: ch1,\r\n ch2: ch2,\r\n ch3: ch3,\r\n ch4: ch4,\r\n pdfColorType: \"fill\",\r\n precision: 2\r\n };\r\n\r\n fillColor = encodeColorString(options);\r\n out(fillColor);\r\n return this;\r\n };\r\n\r\n var textColor = options.textColor || \"0 g\";\r\n /**\r\n * Gets the text color for upcoming elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {string} colorAsHex\r\n * @memberof jsPDF#\r\n * @name getTextColor\r\n */\r\n var getTextColor = (API.__private__.getTextColor = API.getTextColor = function() {\r\n return decodeColorString(textColor);\r\n });\r\n /**\r\n * Sets the text color for upcoming elements.\r\n *\r\n * Depending on the number of arguments given, Gray, RGB, or CMYK\r\n * color space is implied.\r\n *\r\n * When only ch1 is given, \"Gray\" color space is implied and it\r\n * must be a value in the range from 0.00 (solid black) to to 1.00 (white)\r\n * if values are communicated as String types, or in range from 0 (black)\r\n * to 255 (white) if communicated as Number type.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When only ch1,ch2,ch3 are given, \"RGB\" color space is implied and each\r\n * value must be in the range from 0.00 (minimum intensity) to to 1.00\r\n * (max intensity) if values are communicated as String types, or\r\n * from 0 (min intensity) to to 255 (max intensity) if values are communicated\r\n * as Number types.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When ch1,ch2,ch3,ch4 are given, \"CMYK\" color space is implied and each\r\n * value must be a in the range from 0.00 (0% concentration) to to\r\n * 1.00 (100% concentration)\r\n *\r\n * Because JavaScript treats fixed point numbers badly (rounds to\r\n * floating point nearest to binary representation) it is highly advised to\r\n * communicate the fractional numbers as String types, not JavaScript Number type.\r\n *\r\n * @param {Number|String} ch1 Color channel value or {string} ch1 color value in hexadecimal, example: '#FFFFFF'.\r\n * @param {Number} ch2 Color channel value.\r\n * @param {Number} ch3 Color channel value.\r\n * @param {Number} ch4 Color channel value.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setTextColor\r\n */\r\n API.__private__.setTextColor = API.setTextColor = function(\r\n ch1,\r\n ch2,\r\n ch3,\r\n ch4\r\n ) {\r\n var options = {\r\n ch1: ch1,\r\n ch2: ch2,\r\n ch3: ch3,\r\n ch4: ch4,\r\n pdfColorType: \"text\",\r\n precision: 3\r\n };\r\n textColor = encodeColorString(options);\r\n\r\n return this;\r\n };\r\n\r\n var activeCharSpace = options.charSpace;\r\n\r\n /**\r\n * Get global value of CharSpace.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {number} charSpace\r\n * @memberof jsPDF#\r\n * @name getCharSpace\r\n */\r\n var getCharSpace = (API.__private__.getCharSpace = API.getCharSpace = function() {\r\n return parseFloat(activeCharSpace || 0);\r\n });\r\n\r\n /**\r\n * Set global value of CharSpace.\r\n *\r\n * @param {number} charSpace\r\n * @function\r\n * @instance\r\n * @returns {jsPDF} jsPDF-instance\r\n * @memberof jsPDF#\r\n * @name setCharSpace\r\n */\r\n API.__private__.setCharSpace = API.setCharSpace = function(charSpace) {\r\n if (isNaN(charSpace)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.setCharSpace\");\r\n }\r\n activeCharSpace = charSpace;\r\n return this;\r\n };\r\n\r\n var lineCapID = 0;\r\n /**\r\n * Is an Object providing a mapping from human-readable to\r\n * integer flag values designating the varieties of line cap\r\n * and join styles.\r\n *\r\n * @memberof jsPDF#\r\n * @name CapJoinStyles\r\n */\r\n API.CapJoinStyles = {\r\n 0: 0,\r\n butt: 0,\r\n but: 0,\r\n miter: 0,\r\n 1: 1,\r\n round: 1,\r\n rounded: 1,\r\n circle: 1,\r\n 2: 2,\r\n projecting: 2,\r\n project: 2,\r\n square: 2,\r\n bevel: 2\r\n };\r\n\r\n /**\r\n * Sets the line cap styles.\r\n * See {jsPDF.CapJoinStyles} for variants.\r\n *\r\n * @param {String|Number} style A string or number identifying the type of line cap.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineCap\r\n */\r\n API.__private__.setLineCap = API.setLineCap = function(style) {\r\n var id = API.CapJoinStyles[style];\r\n if (id === undefined) {\r\n throw new Error(\r\n \"Line cap style of '\" +\r\n style +\r\n \"' is not recognized. See or extend .CapJoinStyles property for valid styles\"\r\n );\r\n }\r\n lineCapID = id;\r\n out(id + \" J\");\r\n\r\n return this;\r\n };\r\n\r\n var lineJoinID = 0;\r\n /**\r\n * Sets the line join styles.\r\n * See {jsPDF.CapJoinStyles} for variants.\r\n *\r\n * @param {String|Number} style A string or number identifying the type of line join.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineJoin\r\n */\r\n API.__private__.setLineJoin = API.setLineJoin = function(style) {\r\n var id = API.CapJoinStyles[style];\r\n if (id === undefined) {\r\n throw new Error(\r\n \"Line join style of '\" +\r\n style +\r\n \"' is not recognized. See or extend .CapJoinStyles property for valid styles\"\r\n );\r\n }\r\n lineJoinID = id;\r\n out(id + \" j\");\r\n\r\n return this;\r\n };\r\n\r\n var miterLimit;\r\n /**\r\n * Sets the miterLimit property, which effects the maximum miter length.\r\n *\r\n * @param {number} length The length of the miter\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineMiterLimit\r\n */\r\n API.__private__.setLineMiterLimit = API.__private__.setMiterLimit = API.setLineMiterLimit = API.setMiterLimit = function(\r\n length\r\n ) {\r\n length = length || 0;\r\n if (isNaN(length)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.setLineMiterLimit\");\r\n }\r\n out(hpf(scale(length)) + \" M\");\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * An object representing a pdf graphics state.\r\n * @class GState\r\n */\r\n\r\n /**\r\n *\r\n * @param parameters A parameter object that contains all properties this graphics state wants to set.\r\n * Supported are: opacity, stroke-opacity\r\n * @constructor\r\n */\r\n API.GState = GState;\r\n\r\n /**\r\n * Sets a either previously added {@link GState} (via {@link addGState}) or a new {@link GState}.\r\n * @param {String|GState} gState If type is string, a previously added GState is used, if type is GState\r\n * it will be added before use.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setGState\r\n */\r\n API.setGState = function(gState) {\r\n if (typeof gState === \"string\") {\r\n gState = gStates[gStatesMap[gState]];\r\n } else {\r\n gState = addGState(null, gState);\r\n }\r\n\r\n if (!gState.equals(activeGState)) {\r\n out(\"/\" + gState.id + \" gs\");\r\n activeGState = gState;\r\n }\r\n };\r\n\r\n /**\r\n * Adds a new Graphics State. Duplicates are automatically eliminated.\r\n * @param {String} key Might also be null, if no later reference to this gState is needed\r\n * @param {Object} gState The gState object\r\n */\r\n var addGState = function(key, gState) {\r\n // only add it if it is not already present (the keys provided by the user must be unique!)\r\n if (key && gStatesMap[key]) return;\r\n var duplicate = false;\r\n for (var s in gStates) {\r\n if (gStates.hasOwnProperty(s)) {\r\n if (gStates[s].equals(gState)) {\r\n duplicate = true;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (duplicate) {\r\n gState = gStates[s];\r\n } else {\r\n var gStateKey = \"GS\" + (Object.keys(gStates).length + 1).toString(10);\r\n gStates[gStateKey] = gState;\r\n gState.id = gStateKey;\r\n }\r\n\r\n // several user keys may point to the same GState object\r\n key && (gStatesMap[key] = gState.id);\r\n\r\n events.publish(\"addGState\", gState);\r\n\r\n return gState;\r\n };\r\n\r\n /**\r\n * Adds a new {@link GState} for later use. See {@link setGState}.\r\n * @param {String} key\r\n * @param {GState} gState\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n *\r\n * @memberof jsPDF#\r\n * @name addGState\r\n */\r\n API.addGState = function(key, gState) {\r\n addGState(key, gState);\r\n return this;\r\n };\r\n\r\n /**\r\n * Saves the current graphics state (\"pushes it on the stack\"). It can be restored by {@link restoreGraphicsState}\r\n * later. Here, the general pdf graphics state is meant, also including the current transformation matrix,\r\n * fill and stroke colors etc.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name saveGraphicsState\r\n */\r\n API.saveGraphicsState = function() {\r\n out(\"q\");\r\n // as we cannot set font key and size independently we must keep track of both\r\n fontStateStack.push({\r\n key: activeFontKey,\r\n size: activeFontSize,\r\n color: textColor\r\n });\r\n return this;\r\n };\r\n\r\n /**\r\n * Restores a previously saved graphics state saved by {@link saveGraphicsState} (\"pops the stack\").\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name restoreGraphicsState\r\n */\r\n API.restoreGraphicsState = function() {\r\n out(\"Q\");\r\n\r\n // restore previous font state\r\n var fontState = fontStateStack.pop();\r\n activeFontKey = fontState.key;\r\n activeFontSize = fontState.size;\r\n textColor = fontState.color;\r\n\r\n activeGState = null;\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * Appends this matrix to the left of all previously applied matrices.\r\n *\r\n * @param {Matrix} matrix\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setCurrentTransformationMatrix\r\n */\r\n API.setCurrentTransformationMatrix = function(matrix) {\r\n out(matrix.toString() + \" cm\");\r\n return this;\r\n };\r\n\r\n /**\r\n * Inserts a debug comment into the generated pdf.\r\n * @function\r\n * @instance\r\n * @param {String} text\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name comment\r\n */\r\n API.comment = function(text) {\r\n out(\"#\" + text);\r\n return this;\r\n };\r\n\r\n /**\r\n * Point\r\n */\r\n var Point = function(x, y) {\r\n var _x = x || 0;\r\n Object.defineProperty(this, \"x\", {\r\n enumerable: true,\r\n get: function() {\r\n return _x;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _x = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n var _y = y || 0;\r\n Object.defineProperty(this, \"y\", {\r\n enumerable: true,\r\n get: function() {\r\n return _y;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _y = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n var _type = \"pt\";\r\n Object.defineProperty(this, \"type\", {\r\n enumerable: true,\r\n get: function() {\r\n return _type;\r\n },\r\n set: function(value) {\r\n _type = value.toString();\r\n }\r\n });\r\n return this;\r\n };\r\n\r\n /**\r\n * Rectangle\r\n */\r\n var Rectangle = function(x, y, w, h) {\r\n Point.call(this, x, y);\r\n this.type = \"rect\";\r\n\r\n var _w = w || 0;\r\n Object.defineProperty(this, \"w\", {\r\n enumerable: true,\r\n get: function() {\r\n return _w;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _w = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n var _h = h || 0;\r\n Object.defineProperty(this, \"h\", {\r\n enumerable: true,\r\n get: function() {\r\n return _h;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _h = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * FormObject/RenderTarget\r\n */\r\n\r\n var RenderTarget = function() {\r\n this.page = page;\r\n this.currentPage = currentPage;\r\n this.pages = pages.slice(0);\r\n this.pagesContext = pagesContext.slice(0);\r\n this.x = pageX;\r\n this.y = pageY;\r\n this.matrix = pageMatrix;\r\n this.width = getPageWidth(currentPage);\r\n this.height = getPageHeight(currentPage);\r\n this.outputDestination = outputDestination;\r\n\r\n this.id = \"\"; // set by endFormObject()\r\n this.objectNumber = -1; // will be set by putXObject()\r\n };\r\n\r\n RenderTarget.prototype.restore = function() {\r\n page = this.page;\r\n currentPage = this.currentPage;\r\n pagesContext = this.pagesContext;\r\n pages = this.pages;\r\n pageX = this.x;\r\n pageY = this.y;\r\n pageMatrix = this.matrix;\r\n setPageWidth(currentPage, this.width);\r\n setPageHeight(currentPage, this.height);\r\n outputDestination = this.outputDestination;\r\n };\r\n\r\n var beginNewRenderTarget = function(x, y, width, height, matrix) {\r\n // save current state\r\n renderTargetStack.push(new RenderTarget());\r\n\r\n // clear pages\r\n page = currentPage = 0;\r\n pages = [];\r\n pageX = x;\r\n pageY = y;\r\n\r\n pageMatrix = matrix;\r\n\r\n beginPage([width, height]);\r\n };\r\n\r\n var endFormObject = function(key) {\r\n // only add it if it is not already present (the keys provided by the user must be unique!)\r\n if (renderTargetMap[key]) {\r\n renderTargetStack.pop().restore();\r\n return;\r\n }\r\n\r\n // save the created xObject\r\n var newXObject = new RenderTarget();\r\n\r\n var xObjectId = \"Xo\" + (Object.keys(renderTargets).length + 1).toString(10);\r\n newXObject.id = xObjectId;\r\n\r\n renderTargetMap[key] = xObjectId;\r\n renderTargets[xObjectId] = newXObject;\r\n\r\n events.publish(\"addFormObject\", newXObject);\r\n\r\n // restore state from stack\r\n renderTargetStack.pop().restore();\r\n };\r\n\r\n /**\r\n * Starts a new pdf form object, which means that all consequent draw calls target a new independent object\r\n * until {@link endFormObject} is called. The created object can be referenced and drawn later using\r\n * {@link doFormObject}. Nested form objects are possible.\r\n * x, y, width, height set the bounding box that is used to clip the content.\r\n *\r\n * @param {number} x\r\n * @param {number} y\r\n * @param {number} width\r\n * @param {number} height\r\n * @param {Matrix} matrix The matrix that will be applied to convert the form objects coordinate system to\r\n * the parent's.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name beginFormObject\r\n */\r\n API.beginFormObject = function(x, y, width, height, matrix) {\r\n // The user can set the output target to a new form object. Nested form objects are possible.\r\n // Currently, they use the resource dictionary of the surrounding stream. This should be changed, as\r\n // the PDF-Spec states:\r\n // \"In PDF 1.2 and later versions, form XObjects may be independent of the content streams in which\r\n // they appear, and this is strongly recommended although not requiredIn PDF 1.2 and later versions,\r\n // form XObjects may be independent of the content streams in which they appear, and this is strongly\r\n // recommended although not required\"\r\n beginNewRenderTarget(x, y, width, height, matrix);\r\n return this;\r\n };\r\n\r\n /**\r\n * Completes and saves the form object.\r\n * @param {String} key The key by which this form object can be referenced.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name endFormObject\r\n */\r\n API.endFormObject = function(key) {\r\n endFormObject(key);\r\n return this;\r\n };\r\n\r\n /**\r\n * Draws the specified form object by referencing to the respective pdf XObject created with\r\n * {@link API.beginFormObject} and {@link endFormObject}.\r\n * The location is determined by matrix.\r\n *\r\n * @param {String} key The key to the form object.\r\n * @param {Matrix} matrix The matrix applied before drawing the form object.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name doFormObject\r\n */\r\n API.doFormObject = function(key, matrix) {\r\n var xObject = renderTargets[renderTargetMap[key]];\r\n out(\"q\");\r\n out(matrix.toString() + \" cm\");\r\n out(\"/\" + xObject.id + \" Do\");\r\n out(\"Q\");\r\n return this;\r\n };\r\n\r\n /**\r\n * Returns the form object specified by key.\r\n * @param key {String}\r\n * @returns {{x: number, y: number, width: number, height: number, matrix: Matrix}}\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name getFormObject\r\n */\r\n API.getFormObject = function(key) {\r\n var xObject = renderTargets[renderTargetMap[key]];\r\n return {\r\n x: xObject.x,\r\n y: xObject.y,\r\n width: xObject.width,\r\n height: xObject.height,\r\n matrix: xObject.matrix\r\n };\r\n };\r\n\r\n /**\r\n * Saves as PDF document. An alias of jsPDF.output('save', 'filename.pdf').\r\n * Uses FileSaver.js-method saveAs.\r\n *\r\n * @memberof jsPDF#\r\n * @name save\r\n * @function\r\n * @instance\r\n * @param {string} filename The filename including extension.\r\n * @param {Object} options An Object with additional options, possible options: 'returnPromise'.\r\n * @returns {jsPDF|Promise} jsPDF-instance */\r\n API.save = function(filename, options) {\r\n filename = filename || \"generated.pdf\";\r\n\r\n options = options || {};\r\n options.returnPromise = options.returnPromise || false;\r\n\r\n if (options.returnPromise === false) {\r\n saveAs(getBlob(buildDocument()), filename);\r\n if (typeof saveAs.unload === \"function\") {\r\n if (globalObject.setTimeout) {\r\n setTimeout(saveAs.unload, 911);\r\n }\r\n }\r\n return this;\r\n } else {\r\n return new Promise(function(resolve, reject) {\r\n try {\r\n var result = saveAs(getBlob(buildDocument()), filename);\r\n if (typeof saveAs.unload === \"function\") {\r\n if (globalObject.setTimeout) {\r\n setTimeout(saveAs.unload, 911);\r\n }\r\n }\r\n resolve(result);\r\n } catch (e) {\r\n reject(e.message);\r\n }\r\n });\r\n }\r\n\r\n };\r\n\r\n // applying plugins (more methods) ON TOP of built-in API.\r\n // this is intentional as we allow plugins to override\r\n // built-ins\r\n for (var plugin in jsPDF.API) {\r\n if (jsPDF.API.hasOwnProperty(plugin)) {\r\n if (plugin === \"events\" && jsPDF.API.events.length) {\r\n (function(events, newEvents) {\r\n // jsPDF.API.events is a JS Array of Arrays\r\n // where each Array is a pair of event name, handler\r\n // Events were added by plugins to the jsPDF instantiator.\r\n // These are always added to the new instance and some ran\r\n // during instantiation.\r\n var eventname, handler_and_args, i;\r\n\r\n for (i = newEvents.length - 1; i !== -1; i--) {\r\n // subscribe takes 3 args: 'topic', function, runonce_flag\r\n // if undefined, runonce is false.\r\n // users can attach callback directly,\r\n // or they can attach an array with [callback, runonce_flag]\r\n // that's what the \"apply\" magic is for below.\r\n eventname = newEvents[i][0];\r\n handler_and_args = newEvents[i][1];\r\n events.subscribe.apply(\r\n events,\r\n [eventname].concat(\r\n typeof handler_and_args === \"function\"\r\n ? [handler_and_args]\r\n : handler_and_args\r\n )\r\n );\r\n }\r\n })(events, jsPDF.API.events);\r\n } else {\r\n API[plugin] = jsPDF.API[plugin];\r\n }\r\n }\r\n }\r\n\r\n var getPageWidth = (API.getPageWidth = function(pageNumber) {\r\n pageNumber = pageNumber || currentPage;\r\n return (\r\n (pagesContext[pageNumber].mediaBox.topRightX -\r\n pagesContext[pageNumber].mediaBox.bottomLeftX) /\r\n scaleFactor\r\n );\r\n });\r\n\r\n var setPageWidth = (API.setPageWidth = function(pageNumber, value) {\r\n pagesContext[pageNumber].mediaBox.topRightX =\r\n value * scaleFactor + pagesContext[pageNumber].mediaBox.bottomLeftX;\r\n });\r\n\r\n var getPageHeight = (API.getPageHeight = function(pageNumber) {\r\n pageNumber = pageNumber || currentPage;\r\n return (\r\n (pagesContext[pageNumber].mediaBox.topRightY -\r\n pagesContext[pageNumber].mediaBox.bottomLeftY) /\r\n scaleFactor\r\n );\r\n });\r\n\r\n var setPageHeight = (API.setPageHeight = function(pageNumber, value) {\r\n pagesContext[pageNumber].mediaBox.topRightY =\r\n value * scaleFactor + pagesContext[pageNumber].mediaBox.bottomLeftY;\r\n });\r\n\r\n /**\r\n * Object exposing internal API to plugins\r\n * @public\r\n * @ignore\r\n */\r\n API.internal = {\r\n pdfEscape: pdfEscape,\r\n getStyle: getStyle,\r\n getFont: getFontEntry,\r\n getFontSize: getFontSize,\r\n getCharSpace: getCharSpace,\r\n getTextColor: getTextColor,\r\n getLineHeight: getLineHeight,\r\n getLineHeightFactor: getLineHeightFactor,\r\n getLineWidth: getLineWidth,\r\n write: write,\r\n getHorizontalCoordinate: getHorizontalCoordinate,\r\n getVerticalCoordinate: getVerticalCoordinate,\r\n getCoordinateString: getHorizontalCoordinateString,\r\n getVerticalCoordinateString: getVerticalCoordinateString,\r\n collections: {},\r\n newObject: newObject,\r\n newAdditionalObject: newAdditionalObject,\r\n newObjectDeferred: newObjectDeferred,\r\n newObjectDeferredBegin: newObjectDeferredBegin,\r\n getFilters: getFilters,\r\n putStream: putStream,\r\n events: events,\r\n scaleFactor: scaleFactor,\r\n pageSize: {\r\n getWidth: function() {\r\n return getPageWidth(currentPage);\r\n },\r\n setWidth: function(value) {\r\n setPageWidth(currentPage, value);\r\n },\r\n getHeight: function() {\r\n return getPageHeight(currentPage);\r\n },\r\n setHeight: function(value) {\r\n setPageHeight(currentPage, value);\r\n }\r\n },\r\n encryptionOptions: encryptionOptions,\r\n encryption: encryption,\r\n getEncryptor: getEncryptor,\r\n output: output,\r\n getNumberOfPages: getNumberOfPages,\r\n pages: pages,\r\n out: out,\r\n f2: f2,\r\n f3: f3,\r\n getPageInfo: getPageInfo,\r\n getPageInfoByObjId: getPageInfoByObjId,\r\n getCurrentPageInfo: getCurrentPageInfo,\r\n getPDFVersion: getPdfVersion,\r\n Point: Point,\r\n Rectangle: Rectangle,\r\n Matrix: Matrix,\r\n hasHotfix: hasHotfix //Expose the hasHotfix check so plugins can also check them.\r\n };\r\n\r\n Object.defineProperty(API.internal.pageSize, \"width\", {\r\n get: function() {\r\n return getPageWidth(currentPage);\r\n },\r\n set: function(value) {\r\n setPageWidth(currentPage, value);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(API.internal.pageSize, \"height\", {\r\n get: function() {\r\n return getPageHeight(currentPage);\r\n },\r\n set: function(value) {\r\n setPageHeight(currentPage, value);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n\r\n //////////////////////////////////////////////////////\r\n // continuing initialization of jsPDF Document object\r\n //////////////////////////////////////////////////////\r\n // Add the first page automatically\r\n addFonts.call(API, standardFonts);\r\n activeFontKey = \"F1\";\r\n _addPage(format, orientation);\r\n\r\n events.publish(\"initialized\");\r\n return API;\r\n}\r\n\r\n/**\r\n * jsPDF.API is a STATIC property of jsPDF class.\r\n * jsPDF.API is an object you can add methods and properties to.\r\n * The methods / properties you add will show up in new jsPDF objects.\r\n *\r\n * One property is prepopulated. It is the 'events' Object. Plugin authors can add topics,\r\n * callbacks to this object. These will be reassigned to all new instances of jsPDF.\r\n *\r\n * @static\r\n * @public\r\n * @memberof jsPDF#\r\n * @name API\r\n *\r\n * @example\r\n * jsPDF.API.mymethod = function(){\r\n * // 'this' will be ref to internal API object. see jsPDF source\r\n * // , so you can refer to built-in methods like so:\r\n * // this.line(....)\r\n * // this.text(....)\r\n * }\r\n * var pdfdoc = new jsPDF()\r\n * pdfdoc.mymethod() // <- !!!!!!\r\n */\r\njsPDF.API = {\r\n events: []\r\n};\r\n/**\r\n * The version of jsPDF.\r\n * @name version\r\n * @type {string}\r\n * @memberof jsPDF#\r\n */\r\njsPDF.version = \"0.0.0\";\r\n\r\nexport { jsPDF, ShadingPattern, TilingPattern, GState };\r\nexport default jsPDF;\r\n","/* global jsPDF */\n/**\n * @license\n * Copyright (c) 2016 Alexander Weidt,\n * https://github.com/BiggA94\n *\n * Licensed under the MIT License. http://opensource.org/licenses/mit-license\n */\n\n/**\n * jsPDF AcroForm Plugin\n * @module AcroForm\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\nvar jsPDFAPI = jsPDF.API;\nvar scaleFactor = 1;\n\nvar pdfEscape = function(value) {\n return value\n .replace(/\\\\/g, \"\\\\\\\\\")\n .replace(/\\(/g, \"\\\\(\")\n .replace(/\\)/g, \"\\\\)\");\n};\nvar pdfUnescape = function(value) {\n return value\n .replace(/\\\\\\\\/g, \"\\\\\")\n .replace(/\\\\\\(/g, \"(\")\n .replace(/\\\\\\)/g, \")\");\n};\n\nvar f2 = function(number) {\n return number.toFixed(2); // Ie, %.2f\n};\n\nvar f5 = function(number) {\n return number.toFixed(5); // Ie, %.2f\n};\n\njsPDFAPI.__acroform__ = {};\nvar inherit = function(child, parent) {\n child.prototype = Object.create(parent.prototype);\n child.prototype.constructor = child;\n};\n\nvar scale = function(x) {\n return x * scaleFactor;\n};\n\nvar createFormXObject = function(formObject) {\n var xobj = new AcroFormXObject();\n var height = AcroFormAppearance.internal.getHeight(formObject) || 0;\n var width = AcroFormAppearance.internal.getWidth(formObject) || 0;\n xobj.BBox = [0, 0, Number(f2(width)), Number(f2(height))];\n return xobj;\n};\n\n/**\n * Bit-Operations\n */\nvar setBit = (jsPDFAPI.__acroform__.setBit = function(number, bitPosition) {\n number = number || 0;\n bitPosition = bitPosition || 0;\n\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.setBit\"\n );\n }\n var bitMask = 1 << bitPosition;\n\n number |= bitMask;\n\n return number;\n});\n\nvar clearBit = (jsPDFAPI.__acroform__.clearBit = function(number, bitPosition) {\n number = number || 0;\n bitPosition = bitPosition || 0;\n\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.clearBit\"\n );\n }\n var bitMask = 1 << bitPosition;\n\n number &= ~bitMask;\n\n return number;\n});\n\nvar getBit = (jsPDFAPI.__acroform__.getBit = function(number, bitPosition) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.getBit\"\n );\n }\n return (number & (1 << bitPosition)) === 0 ? 0 : 1;\n});\n\n/*\n * Ff starts counting the bit position at 1 and not like javascript at 0\n */\nvar getBitForPdf = (jsPDFAPI.__acroform__.getBitForPdf = function(\n number,\n bitPosition\n) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.getBitForPdf\"\n );\n }\n return getBit(number, bitPosition - 1);\n});\n\nvar setBitForPdf = (jsPDFAPI.__acroform__.setBitForPdf = function(\n number,\n bitPosition\n) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.setBitForPdf\"\n );\n }\n return setBit(number, bitPosition - 1);\n});\n\nvar clearBitForPdf = (jsPDFAPI.__acroform__.clearBitForPdf = function(\n number,\n bitPosition\n) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.clearBitForPdf\"\n );\n }\n return clearBit(number, bitPosition - 1);\n});\n\nvar calculateCoordinates = (jsPDFAPI.__acroform__.calculateCoordinates = function(\n args,\n scope\n) {\n var getHorizontalCoordinate = scope.internal.getHorizontalCoordinate;\n var getVerticalCoordinate = scope.internal.getVerticalCoordinate;\n var x = args[0];\n var y = args[1];\n var w = args[2];\n var h = args[3];\n\n var coordinates = {};\n\n coordinates.lowerLeft_X = getHorizontalCoordinate(x) || 0;\n coordinates.lowerLeft_Y = getVerticalCoordinate(y + h) || 0;\n coordinates.upperRight_X = getHorizontalCoordinate(x + w) || 0;\n coordinates.upperRight_Y = getVerticalCoordinate(y) || 0;\n\n return [\n Number(f2(coordinates.lowerLeft_X)),\n Number(f2(coordinates.lowerLeft_Y)),\n Number(f2(coordinates.upperRight_X)),\n Number(f2(coordinates.upperRight_Y))\n ];\n});\n\nvar calculateAppearanceStream = function(formObject) {\n if (formObject.appearanceStreamContent) {\n return formObject.appearanceStreamContent;\n }\n\n if (!formObject.V && !formObject.DV) {\n return;\n }\n\n // else calculate it\n\n var stream = [];\n var text = formObject._V || formObject.DV;\n var calcRes = calculateX(formObject, text);\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n\n //PDF 32000-1:2008, page 444\n stream.push(\"/Tx BMC\");\n stream.push(\"q\");\n stream.push(\"BT\"); // Begin Text\n stream.push(formObject.scope.__private__.encodeColorString(formObject.color));\n stream.push(\"/\" + fontKey + \" \" + f2(calcRes.fontSize) + \" Tf\");\n stream.push(\"1 0 0 1 0 0 Tm\"); // Transformation Matrix\n stream.push(calcRes.text);\n stream.push(\"ET\"); // End Text\n stream.push(\"Q\");\n stream.push(\"EMC\");\n\n var appearanceStreamContent = createFormXObject(formObject);\n appearanceStreamContent.scope = formObject.scope;\n appearanceStreamContent.stream = stream.join(\"\\n\");\n return appearanceStreamContent;\n};\n\nvar calculateX = function(formObject, text) {\n var maxFontSize =\n formObject.fontSize === 0 ? formObject.maxFontSize : formObject.fontSize;\n var returnValue = {\n text: \"\",\n fontSize: \"\"\n };\n // Remove Brackets\n text = text.substr(0, 1) == \"(\" ? text.substr(1) : text;\n text =\n text.substr(text.length - 1) == \")\"\n ? text.substr(0, text.length - 1)\n : text;\n // split into array of words\n var textSplit = text.split(\" \");\n if (formObject.multiline) {\n textSplit = textSplit.map(word => word.split(\"\\n\"));\n } else {\n textSplit = textSplit.map(word => [word]);\n }\n\n var fontSize = maxFontSize; // The Starting fontSize (The Maximum)\n var lineSpacing = 2;\n var borderPadding = 2;\n\n var height = AcroFormAppearance.internal.getHeight(formObject) || 0;\n height = height < 0 ? -height : height;\n var width = AcroFormAppearance.internal.getWidth(formObject) || 0;\n width = width < 0 ? -width : width;\n\n var isSmallerThanWidth = function(i, lastLine, fontSize) {\n if (i + 1 < textSplit.length) {\n var tmp = lastLine + \" \" + textSplit[i + 1][0];\n var TextWidth = calculateFontSpace(tmp, formObject, fontSize).width;\n var FieldWidth = width - 2 * borderPadding;\n return TextWidth <= FieldWidth;\n } else {\n return false;\n }\n };\n\n fontSize++;\n FontSize: while (fontSize > 0) {\n text = \"\";\n fontSize--;\n var textHeight = calculateFontSpace(\"3\", formObject, fontSize).height;\n var startY = formObject.multiline\n ? height - fontSize\n : (height - textHeight) / 2;\n startY += lineSpacing;\n var startX;\n\n var lastY = startY;\n var firstWordInLine = 0,\n lastWordInLine = 0;\n var lastLength;\n var currWord = 0;\n\n if (fontSize <= 0) {\n // In case, the Text doesn't fit at all\n fontSize = 12;\n text = \"(...) Tj\\n\";\n text +=\n \"% Width of Text: \" +\n calculateFontSpace(text, formObject, fontSize).width +\n \", FieldWidth:\" +\n width +\n \"\\n\";\n break;\n }\n\n var lastLine = \"\";\n var lineCount = 0;\n Line: for (var i = 0; i < textSplit.length; i++) {\n if (textSplit.hasOwnProperty(i)) {\n let isWithNewLine = false;\n if (textSplit[i].length !== 1 && currWord !== textSplit[i].length - 1) {\n if (\n (textHeight + lineSpacing) * (lineCount + 2) + lineSpacing >\n height\n ) {\n continue FontSize;\n }\n\n lastLine += textSplit[i][currWord];\n isWithNewLine = true;\n lastWordInLine = i;\n i--;\n } else {\n lastLine += textSplit[i][currWord] + \" \";\n lastLine =\n lastLine.substr(lastLine.length - 1) == \" \"\n ? lastLine.substr(0, lastLine.length - 1)\n : lastLine;\n var key = parseInt(i);\n var nextLineIsSmaller = isSmallerThanWidth(key, lastLine, fontSize);\n var isLastWord = i >= textSplit.length - 1;\n\n if (nextLineIsSmaller && !isLastWord) {\n lastLine += \" \";\n currWord = 0;\n continue; // Line\n } else if (!nextLineIsSmaller && !isLastWord) {\n if (!formObject.multiline) {\n continue FontSize;\n } else {\n if (\n (textHeight + lineSpacing) * (lineCount + 2) + lineSpacing >\n height\n ) {\n // If the Text is higher than the\n // FieldObject\n continue FontSize;\n }\n lastWordInLine = key;\n // go on\n }\n } else if (isLastWord) {\n lastWordInLine = key;\n } else {\n if (\n formObject.multiline &&\n (textHeight + lineSpacing) * (lineCount + 2) + lineSpacing >\n height\n ) {\n // If the Text is higher than the FieldObject\n continue FontSize;\n }\n }\n }\n // Remove last blank\n\n var line = \"\";\n\n for (var x = firstWordInLine; x <= lastWordInLine; x++) {\n var currLine = textSplit[x];\n if (formObject.multiline) {\n if (x === lastWordInLine) {\n line += currLine[currWord] + \" \";\n currWord = (currWord + 1) % currLine.length;\n continue;\n }\n if (x === firstWordInLine) {\n line += currLine[currLine.length - 1] + \" \";\n continue;\n }\n }\n line += currLine[0] + \" \";\n }\n\n // Remove last blank\n line =\n line.substr(line.length - 1) == \" \"\n ? line.substr(0, line.length - 1)\n : line;\n // lastLength -= blankSpace.width;\n lastLength = calculateFontSpace(line, formObject, fontSize).width;\n\n // Calculate startX\n switch (formObject.textAlign) {\n case \"right\":\n startX = width - lastLength - borderPadding;\n break;\n case \"center\":\n startX = (width - lastLength) / 2;\n break;\n case \"left\":\n default:\n startX = borderPadding;\n break;\n }\n text += f2(startX) + \" \" + f2(lastY) + \" Td\\n\";\n text += \"(\" + pdfEscape(line) + \") Tj\\n\";\n // reset X in PDF\n text += -f2(startX) + \" 0 Td\\n\";\n\n // After a Line, adjust y position\n lastY = -(fontSize + lineSpacing);\n\n // Reset for next iteration step\n lastLength = 0;\n firstWordInLine = isWithNewLine ? lastWordInLine : lastWordInLine + 1;\n lineCount++;\n\n lastLine = \"\";\n continue Line;\n }\n }\n break;\n }\n\n returnValue.text = text;\n returnValue.fontSize = fontSize;\n\n return returnValue;\n};\n\n/**\n * Small workaround for calculating the TextMetric approximately.\n *\n * @param text\n * @param fontsize\n * @returns {TextMetrics} (Has Height and Width)\n */\nvar calculateFontSpace = function(text, formObject, fontSize) {\n var font = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n );\n var width =\n formObject.scope.getStringUnitWidth(text, {\n font: font,\n fontSize: parseFloat(fontSize),\n charSpace: 0\n }) * parseFloat(fontSize);\n var height =\n formObject.scope.getStringUnitWidth(\"3\", {\n font: font,\n fontSize: parseFloat(fontSize),\n charSpace: 0\n }) *\n parseFloat(fontSize) *\n 1.5;\n return { height: height, width: width };\n};\n\nvar acroformPluginTemplate = {\n fields: [],\n xForms: [],\n /**\n * acroFormDictionaryRoot contains information about the AcroForm\n * Dictionary 0: The Event-Token, the AcroFormDictionaryCallback has\n * 1: The Object ID of the Root\n */\n acroFormDictionaryRoot: null,\n /**\n * After the PDF gets evaluated, the reference to the root has to be\n * reset, this indicates, whether the root has already been printed\n * out\n */\n printedOut: false,\n internal: null,\n isInitialized: false\n};\n\nvar annotReferenceCallback = function(scope) {\n //set objId to undefined and force it to get a new objId on buildDocument\n scope.internal.acroformPlugin.acroFormDictionaryRoot.objId = undefined;\n var fields = scope.internal.acroformPlugin.acroFormDictionaryRoot.Fields;\n for (var i in fields) {\n if (fields.hasOwnProperty(i)) {\n var formObject = fields[i];\n //set objId to undefined and force it to get a new objId on buildDocument\n formObject.objId = undefined;\n // add Annot Reference!\n if (formObject.hasAnnotation) {\n // If theres an Annotation Widget in the Form Object, put the\n // Reference in the /Annot array\n createAnnotationReference(formObject, scope);\n }\n }\n }\n};\n\nvar putForm = function(formObject) {\n if (formObject.scope.internal.acroformPlugin.printedOut) {\n formObject.scope.internal.acroformPlugin.printedOut = false;\n formObject.scope.internal.acroformPlugin.acroFormDictionaryRoot = null;\n }\n formObject.scope.internal.acroformPlugin.acroFormDictionaryRoot.Fields.push(\n formObject\n );\n};\n/**\n * Create the Reference to the widgetAnnotation, so that it gets referenced\n * in the Annot[] int the+ (Requires the Annotation Plugin)\n */\nvar createAnnotationReference = function(object, scope) {\n var options = {\n type: \"reference\",\n object: object\n };\n var findEntry = function(entry) {\n return entry.type === options.type && entry.object === options.object;\n };\n if (\n scope.internal\n .getPageInfo(object.page)\n .pageContext.annotations.find(findEntry) === undefined\n ) {\n scope.internal\n .getPageInfo(object.page)\n .pageContext.annotations.push(options);\n }\n};\n\n// Callbacks\n\nvar putCatalogCallback = function(scope) {\n // Put reference to AcroForm to DocumentCatalog\n if (\n typeof scope.internal.acroformPlugin.acroFormDictionaryRoot !== \"undefined\"\n ) {\n // for safety, shouldn't normally be the case\n scope.internal.write(\n \"/AcroForm \" +\n scope.internal.acroformPlugin.acroFormDictionaryRoot.objId +\n \" \" +\n 0 +\n \" R\"\n );\n } else {\n throw new Error(\"putCatalogCallback: Root missing.\");\n }\n};\n\n/**\n * Adds /Acroform X 0 R to Document Catalog, and creates the AcroForm\n * Dictionary\n */\nvar AcroFormDictionaryCallback = function(scope) {\n // Remove event\n scope.internal.events.unsubscribe(\n scope.internal.acroformPlugin.acroFormDictionaryRoot._eventID\n );\n delete scope.internal.acroformPlugin.acroFormDictionaryRoot._eventID;\n scope.internal.acroformPlugin.printedOut = true;\n};\n\n/**\n * Creates the single Fields and writes them into the Document\n *\n * If fieldArray is set, use the fields that are inside it instead of the\n * fields from the AcroRoot (for the FormXObjects...)\n */\nvar createFieldCallback = function(fieldArray, scope) {\n var standardFields = !fieldArray;\n\n if (!fieldArray) {\n // in case there is no fieldArray specified, we want to print out\n // the Fields of the AcroForm\n // Print out Root\n scope.internal.newObjectDeferredBegin(\n scope.internal.acroformPlugin.acroFormDictionaryRoot.objId,\n true\n );\n scope.internal.acroformPlugin.acroFormDictionaryRoot.putStream();\n }\n\n fieldArray =\n fieldArray || scope.internal.acroformPlugin.acroFormDictionaryRoot.Kids;\n\n for (var i in fieldArray) {\n if (fieldArray.hasOwnProperty(i)) {\n var fieldObject = fieldArray[i];\n var keyValueList = [];\n var oldRect = fieldObject.Rect;\n\n if (fieldObject.Rect) {\n fieldObject.Rect = calculateCoordinates(fieldObject.Rect, scope);\n }\n\n // Start Writing the Object\n scope.internal.newObjectDeferredBegin(fieldObject.objId, true);\n\n fieldObject.DA = AcroFormAppearance.createDefaultAppearanceStream(\n fieldObject\n );\n\n if (\n typeof fieldObject === \"object\" &&\n typeof fieldObject.getKeyValueListForStream === \"function\"\n ) {\n keyValueList = fieldObject.getKeyValueListForStream();\n }\n\n fieldObject.Rect = oldRect;\n\n if (\n fieldObject.hasAppearanceStream &&\n !fieldObject.appearanceStreamContent\n ) {\n // Calculate Appearance\n var appearance = calculateAppearanceStream(fieldObject);\n keyValueList.push({ key: \"AP\", value: \"<>\" });\n\n scope.internal.acroformPlugin.xForms.push(appearance);\n }\n\n // Assume AppearanceStreamContent is a Array with N,R,D (at least\n // one of them!)\n if (fieldObject.appearanceStreamContent) {\n var appearanceStreamString = \"\";\n // Iterate over N,R and D\n for (var k in fieldObject.appearanceStreamContent) {\n if (fieldObject.appearanceStreamContent.hasOwnProperty(k)) {\n var value = fieldObject.appearanceStreamContent[k];\n appearanceStreamString += \"/\" + k + \" \";\n appearanceStreamString += \"<<\";\n if (Object.keys(value).length >= 1 || Array.isArray(value)) {\n // appearanceStream is an Array or Object!\n for (var i in value) {\n if (value.hasOwnProperty(i)) {\n var obj = value[i];\n if (typeof obj === \"function\") {\n // if Function is referenced, call it in order\n // to get the FormXObject\n obj = obj.call(scope, fieldObject);\n }\n appearanceStreamString += \"/\" + i + \" \" + obj + \" \";\n\n // In case the XForm is already used, e.g. OffState\n // of CheckBoxes, don't add it\n if (!(scope.internal.acroformPlugin.xForms.indexOf(obj) >= 0))\n scope.internal.acroformPlugin.xForms.push(obj);\n }\n }\n } else {\n obj = value;\n if (typeof obj === \"function\") {\n // if Function is referenced, call it in order to\n // get the FormXObject\n obj = obj.call(scope, fieldObject);\n }\n appearanceStreamString += \"/\" + i + \" \" + obj;\n if (!(scope.internal.acroformPlugin.xForms.indexOf(obj) >= 0))\n scope.internal.acroformPlugin.xForms.push(obj);\n }\n appearanceStreamString += \">>\";\n }\n }\n\n // appearance stream is a normal Object..\n keyValueList.push({\n key: \"AP\",\n value: \"<<\\n\" + appearanceStreamString + \">>\"\n });\n }\n\n scope.internal.putStream({\n additionalKeyValues: keyValueList,\n objectId: fieldObject.objId\n });\n\n scope.internal.out(\"endobj\");\n }\n }\n if (standardFields) {\n createXFormObjectCallback(scope.internal.acroformPlugin.xForms, scope);\n }\n};\n\nvar createXFormObjectCallback = function(fieldArray, scope) {\n for (var i in fieldArray) {\n if (fieldArray.hasOwnProperty(i)) {\n var key = i;\n var fieldObject = fieldArray[i];\n // Start Writing the Object\n scope.internal.newObjectDeferredBegin(fieldObject.objId, true);\n\n if (\n typeof fieldObject === \"object\" &&\n typeof fieldObject.putStream === \"function\"\n ) {\n fieldObject.putStream();\n }\n delete fieldArray[key];\n }\n }\n};\n\nvar initializeAcroForm = function(scope, formObject) {\n formObject.scope = scope;\n if (\n scope.internal !== undefined &&\n (scope.internal.acroformPlugin === undefined ||\n scope.internal.acroformPlugin.isInitialized === false)\n ) {\n AcroFormField.FieldNum = 0;\n scope.internal.acroformPlugin = JSON.parse(\n JSON.stringify(acroformPluginTemplate)\n );\n if (scope.internal.acroformPlugin.acroFormDictionaryRoot) {\n throw new Error(\"Exception while creating AcroformDictionary\");\n }\n scaleFactor = scope.internal.scaleFactor;\n // The Object Number of the AcroForm Dictionary\n scope.internal.acroformPlugin.acroFormDictionaryRoot = new AcroFormDictionary();\n scope.internal.acroformPlugin.acroFormDictionaryRoot.scope = scope;\n\n // add Callback for creating the AcroForm Dictionary\n scope.internal.acroformPlugin.acroFormDictionaryRoot._eventID = scope.internal.events.subscribe(\n \"postPutResources\",\n function() {\n AcroFormDictionaryCallback(scope);\n }\n );\n\n scope.internal.events.subscribe(\"buildDocument\", function() {\n annotReferenceCallback(scope);\n }); // buildDocument\n\n // Register event, that is triggered when the DocumentCatalog is\n // written, in order to add /AcroForm\n\n scope.internal.events.subscribe(\"putCatalog\", function() {\n putCatalogCallback(scope);\n });\n\n // Register event, that creates all Fields\n scope.internal.events.subscribe(\"postPutPages\", function(fieldArray) {\n createFieldCallback(fieldArray, scope);\n });\n\n scope.internal.acroformPlugin.isInitialized = true;\n }\n};\n\n//PDF 32000-1:2008, page 26, 7.3.6\nvar arrayToPdfArray = (jsPDFAPI.__acroform__.arrayToPdfArray = function(\n array,\n objId,\n scope\n) {\n var encryptor = function(data) {\n return data;\n };\n if (Array.isArray(array)) {\n var content = \"[\";\n for (var i = 0; i < array.length; i++) {\n if (i !== 0) {\n content += \" \";\n }\n switch (typeof array[i]) {\n case \"boolean\":\n case \"number\":\n case \"object\":\n content += array[i].toString();\n break;\n case \"string\":\n if (array[i].substr(0, 1) !== \"/\") {\n if (typeof objId !== \"undefined\" && scope)\n encryptor = scope.internal.getEncryptor(objId);\n content += \"(\" + pdfEscape(encryptor(array[i].toString())) + \")\";\n } else {\n content += array[i].toString();\n }\n break;\n }\n }\n content += \"]\";\n return content;\n }\n throw new Error(\n \"Invalid argument passed to jsPDF.__acroform__.arrayToPdfArray\"\n );\n});\nfunction getMatches(string, regex, index) {\n index || (index = 1); // default to the first capturing group\n var matches = [];\n var match;\n while ((match = regex.exec(string))) {\n matches.push(match[index]);\n }\n return matches;\n}\nvar pdfArrayToStringArray = function(array) {\n var result = [];\n if (typeof array === \"string\") {\n result = getMatches(array, /\\((.*?)\\)/g);\n }\n return result;\n};\n\nvar toPdfString = function(string, objId, scope) {\n var encryptor = function(data) {\n return data;\n };\n if (typeof objId !== \"undefined\" && scope)\n encryptor = scope.internal.getEncryptor(objId);\n string = string || \"\";\n string.toString();\n string = \"(\" + pdfEscape(encryptor(string)) + \")\";\n return string;\n};\n\n// ##########################\n// Classes\n// ##########################\n\n/**\n * @class AcroFormPDFObject\n * @classdesc A AcroFormPDFObject\n */\nvar AcroFormPDFObject = function() {\n this._objId = undefined;\n this._scope = undefined;\n\n /**\n * @name AcroFormPDFObject#objId\n * @type {any}\n */\n Object.defineProperty(this, \"objId\", {\n get: function() {\n if (typeof this._objId === \"undefined\") {\n if (typeof this.scope === \"undefined\") {\n return undefined;\n }\n this._objId = this.scope.internal.newObjectDeferred();\n }\n return this._objId;\n },\n set: function(value) {\n this._objId = value;\n }\n });\n Object.defineProperty(this, \"scope\", {\n value: this._scope,\n writable: true\n });\n};\n\n/**\n * @function AcroFormPDFObject.toString\n */\nAcroFormPDFObject.prototype.toString = function() {\n return this.objId + \" 0 R\";\n};\n\nAcroFormPDFObject.prototype.putStream = function() {\n var keyValueList = this.getKeyValueListForStream();\n this.scope.internal.putStream({\n data: this.stream,\n additionalKeyValues: keyValueList,\n objectId: this.objId\n });\n this.scope.internal.out(\"endobj\");\n};\n\n/**\n * Returns an key-value-List of all non-configurable Variables from the Object\n *\n * @name getKeyValueListForStream\n * @returns {string}\n */\nAcroFormPDFObject.prototype.getKeyValueListForStream = function() {\n var keyValueList = [];\n var keys = Object.getOwnPropertyNames(this).filter(function(key) {\n return (\n key != \"content\" &&\n key != \"appearanceStreamContent\" &&\n key != \"scope\" &&\n key != \"objId\" &&\n key.substring(0, 1) != \"_\"\n );\n });\n\n for (var i in keys) {\n if (Object.getOwnPropertyDescriptor(this, keys[i]).configurable === false) {\n var key = keys[i];\n var value = this[key];\n\n if (value) {\n if (Array.isArray(value)) {\n keyValueList.push({\n key: key,\n value: arrayToPdfArray(value, this.objId, this.scope)\n });\n } else if (value instanceof AcroFormPDFObject) {\n // In case it is a reference to another PDFObject,\n // take the reference number\n value.scope = this.scope;\n keyValueList.push({ key: key, value: value.objId + \" 0 R\" });\n } else if (typeof value !== \"function\") {\n keyValueList.push({ key: key, value: value });\n }\n }\n }\n }\n return keyValueList;\n};\n\nvar AcroFormXObject = function() {\n AcroFormPDFObject.call(this);\n\n Object.defineProperty(this, \"Type\", {\n value: \"/XObject\",\n configurable: false,\n writable: true\n });\n\n Object.defineProperty(this, \"Subtype\", {\n value: \"/Form\",\n configurable: false,\n writable: true\n });\n\n Object.defineProperty(this, \"FormType\", {\n value: 1,\n configurable: false,\n writable: true\n });\n\n var _BBox = [];\n Object.defineProperty(this, \"BBox\", {\n configurable: false,\n get: function() {\n return _BBox;\n },\n set: function(value) {\n _BBox = value;\n }\n });\n\n Object.defineProperty(this, \"Resources\", {\n value: \"2 0 R\",\n configurable: false,\n writable: true\n });\n\n var _stream;\n Object.defineProperty(this, \"stream\", {\n enumerable: false,\n configurable: true,\n set: function(value) {\n _stream = value.trim();\n },\n get: function() {\n if (_stream) {\n return _stream;\n } else {\n return null;\n }\n }\n });\n};\n\ninherit(AcroFormXObject, AcroFormPDFObject);\n\nvar AcroFormDictionary = function() {\n AcroFormPDFObject.call(this);\n\n var _Kids = [];\n\n Object.defineProperty(this, \"Kids\", {\n enumerable: false,\n configurable: true,\n get: function() {\n if (_Kids.length > 0) {\n return _Kids;\n } else {\n return undefined;\n }\n }\n });\n Object.defineProperty(this, \"Fields\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _Kids;\n }\n });\n\n // Default Appearance\n var _DA;\n Object.defineProperty(this, \"DA\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_DA) {\n return undefined;\n }\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n return \"(\" + pdfEscape(encryptor(_DA)) + \")\";\n },\n set: function(value) {\n _DA = value;\n }\n });\n};\n\ninherit(AcroFormDictionary, AcroFormPDFObject);\n\n/**\n * The Field Object contains the Variables, that every Field needs\n *\n * @class AcroFormField\n * @classdesc An AcroForm FieldObject\n */\nvar AcroFormField = function() {\n AcroFormPDFObject.call(this);\n\n //Annotation-Flag See Table 165\n var _F = 4;\n Object.defineProperty(this, \"F\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _F;\n },\n set: function(value) {\n if (!isNaN(value)) {\n _F = value;\n } else {\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute F supplied.'\n );\n }\n }\n });\n\n /**\n * (PDF 1.2) If set, print the annotation when the page is printed. If clear, never print the annotation, regardless of wether is is displayed on the screen.\n * NOTE 2 This can be useful for annotations representing interactive pushbuttons, which would serve no meaningful purpose on the printed page.\n *\n * @name AcroFormField#showWhenPrinted\n * @default true\n * @type {boolean}\n */\n Object.defineProperty(this, \"showWhenPrinted\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(_F, 3));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.F = setBitForPdf(_F, 3);\n } else {\n this.F = clearBitForPdf(_F, 3);\n }\n }\n });\n\n var _Ff = 0;\n Object.defineProperty(this, \"Ff\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _Ff;\n },\n set: function(value) {\n if (!isNaN(value)) {\n _Ff = value;\n } else {\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute Ff supplied.'\n );\n }\n }\n });\n\n var _Rect = [];\n Object.defineProperty(this, \"Rect\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (_Rect.length === 0) {\n return undefined;\n }\n return _Rect;\n },\n set: function(value) {\n if (typeof value !== \"undefined\") {\n _Rect = value;\n } else {\n _Rect = [];\n }\n }\n });\n\n /**\n * The x-position of the field.\n *\n * @name AcroFormField#x\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"x\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[0])) {\n return 0;\n }\n return _Rect[0];\n },\n set: function(value) {\n _Rect[0] = value;\n }\n });\n\n /**\n * The y-position of the field.\n *\n * @name AcroFormField#y\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"y\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[1])) {\n return 0;\n }\n return _Rect[1];\n },\n set: function(value) {\n _Rect[1] = value;\n }\n });\n\n /**\n * The width of the field.\n *\n * @name AcroFormField#width\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"width\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[2])) {\n return 0;\n }\n return _Rect[2];\n },\n set: function(value) {\n _Rect[2] = value;\n }\n });\n\n /**\n * The height of the field.\n *\n * @name AcroFormField#height\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"height\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[3])) {\n return 0;\n }\n return _Rect[3];\n },\n set: function(value) {\n _Rect[3] = value;\n }\n });\n\n var _FT = \"\";\n Object.defineProperty(this, \"FT\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _FT;\n },\n set: function(value) {\n switch (value) {\n case \"/Btn\":\n case \"/Tx\":\n case \"/Ch\":\n case \"/Sig\":\n _FT = value;\n break;\n default:\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute FT supplied.'\n );\n }\n }\n });\n\n var _T = null;\n\n Object.defineProperty(this, \"T\", {\n enumerable: true,\n configurable: false,\n get: function() {\n if (!_T || _T.length < 1) {\n // In case of a Child from a Radio´Group, you don't need a FieldName\n if (this instanceof AcroFormChildClass) {\n return undefined;\n }\n _T = \"FieldObject\" + AcroFormField.FieldNum++;\n }\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n return \"(\" + pdfEscape(encryptor(_T)) + \")\";\n },\n set: function(value) {\n _T = value.toString();\n }\n });\n\n /**\n * (Optional) The partial field name (see 12.7.3.2, “Field Names”).\n *\n * @name AcroFormField#fieldName\n * @default null\n * @type {string}\n */\n Object.defineProperty(this, \"fieldName\", {\n configurable: true,\n enumerable: true,\n get: function() {\n return _T;\n },\n set: function(value) {\n _T = value;\n }\n });\n\n var _fontName = \"helvetica\";\n /**\n * The fontName of the font to be used.\n *\n * @name AcroFormField#fontName\n * @default 'helvetica'\n * @type {string}\n */\n Object.defineProperty(this, \"fontName\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _fontName;\n },\n set: function(value) {\n _fontName = value;\n }\n });\n\n var _fontStyle = \"normal\";\n /**\n * The fontStyle of the font to be used.\n *\n * @name AcroFormField#fontStyle\n * @default 'normal'\n * @type {string}\n */\n Object.defineProperty(this, \"fontStyle\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _fontStyle;\n },\n set: function(value) {\n _fontStyle = value;\n }\n });\n\n var _fontSize = 0;\n /**\n * The fontSize of the font to be used.\n *\n * @name AcroFormField#fontSize\n * @default 0 (for auto)\n * @type {number}\n */\n Object.defineProperty(this, \"fontSize\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _fontSize;\n },\n set: function(value) {\n _fontSize = value;\n }\n });\n\n var _maxFontSize = undefined;\n /**\n * The maximum fontSize of the font to be used.\n *\n * @name AcroFormField#maxFontSize\n * @default 0 (for auto)\n * @type {number}\n */\n Object.defineProperty(this, \"maxFontSize\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (_maxFontSize === undefined) {\n // use the old default value here - the value is some kind of random as it depends on the scaleFactor (user unit)\n // (\"50\" is transformed to the \"user space\" but then used in \"pdf space\")\n return 50 / scaleFactor;\n } else {\n return _maxFontSize;\n }\n },\n set: function(value) {\n _maxFontSize = value;\n }\n });\n\n var _color = \"black\";\n /**\n * The color of the text\n *\n * @name AcroFormField#color\n * @default 'black'\n * @type {string|rgba}\n */\n Object.defineProperty(this, \"color\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _color;\n },\n set: function(value) {\n _color = value;\n }\n });\n\n var _DA = \"/F1 0 Tf 0 g\";\n // Defines the default appearance (Needed for variable Text)\n Object.defineProperty(this, \"DA\", {\n enumerable: true,\n configurable: false,\n get: function() {\n if (\n !_DA ||\n this instanceof AcroFormChildClass ||\n this instanceof AcroFormTextField\n ) {\n return undefined;\n }\n return toPdfString(_DA, this.objId, this.scope);\n },\n set: function(value) {\n value = value.toString();\n _DA = value;\n }\n });\n\n var _DV = null;\n Object.defineProperty(this, \"DV\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_DV) {\n return undefined;\n }\n if (this instanceof AcroFormButton === false) {\n return toPdfString(_DV, this.objId, this.scope);\n }\n return _DV;\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === false) {\n if (value.substr(0, 1) === \"(\") {\n _DV = pdfUnescape(value.substr(1, value.length - 2));\n } else {\n _DV = pdfUnescape(value);\n }\n } else {\n _DV = value;\n }\n }\n });\n\n /**\n * (Optional; inheritable) The default value to which the field reverts when a reset-form action is executed (see 12.7.5.3, “Reset-Form Action”). The format of this value is the same as that of value.\n *\n * @name AcroFormField#defaultValue\n * @default null\n * @type {any}\n */\n Object.defineProperty(this, \"defaultValue\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (this instanceof AcroFormButton === true) {\n return pdfUnescape(_DV.substr(1, _DV.length - 1));\n } else {\n return _DV;\n }\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === true) {\n _DV = \"/\" + value;\n } else {\n _DV = value;\n }\n }\n });\n\n var _V = null;\n Object.defineProperty(this, \"_V\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_V) {\n return undefined;\n }\n return _V;\n },\n set: function(value) {\n this.V = value;\n }\n });\n Object.defineProperty(this, \"V\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_V) {\n return undefined;\n }\n if (this instanceof AcroFormButton === false) {\n return toPdfString(_V, this.objId, this.scope);\n }\n return _V;\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === false) {\n if (value.substr(0, 1) === \"(\") {\n _V = pdfUnescape(value.substr(1, value.length - 2));\n } else {\n _V = pdfUnescape(value);\n }\n } else {\n _V = value;\n }\n }\n });\n\n /**\n * (Optional; inheritable) The field’s value, whose format varies depending on the field type. See the descriptions of individual field types for further information.\n *\n * @name AcroFormField#value\n * @default null\n * @type {any}\n */\n Object.defineProperty(this, \"value\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (this instanceof AcroFormButton === true) {\n return pdfUnescape(_V.substr(1, _V.length - 1));\n } else {\n return _V;\n }\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === true) {\n _V = \"/\" + value;\n } else {\n _V = value;\n }\n }\n });\n\n /**\n * Check if field has annotations\n *\n * @name AcroFormField#hasAnnotation\n * @readonly\n * @type {boolean}\n */\n Object.defineProperty(this, \"hasAnnotation\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return this.Rect;\n }\n });\n\n Object.defineProperty(this, \"Type\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return this.hasAnnotation ? \"/Annot\" : null;\n }\n });\n\n Object.defineProperty(this, \"Subtype\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return this.hasAnnotation ? \"/Widget\" : null;\n }\n });\n\n var _hasAppearanceStream = false;\n /**\n * true if field has an appearanceStream\n *\n * @name AcroFormField#hasAppearanceStream\n * @readonly\n * @type {boolean}\n */\n Object.defineProperty(this, \"hasAppearanceStream\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _hasAppearanceStream;\n },\n set: function(value) {\n value = Boolean(value);\n _hasAppearanceStream = value;\n }\n });\n\n /**\n * The page on which the AcroFormField is placed\n *\n * @name AcroFormField#page\n * @type {number}\n */\n var _page;\n Object.defineProperty(this, \"page\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_page) {\n return undefined;\n }\n return _page;\n },\n set: function(value) {\n _page = value;\n }\n });\n\n /**\n * If set, the user may not change the value of the field. Any associated widget annotations will not interact with the user; that is, they will not respond to mouse clicks or change their appearance in response to mouse motions. This flag is useful for fields whose values are computed or imported from a database.\n *\n * @name AcroFormField#readOnly\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"readOnly\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 1));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 1);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 1);\n }\n }\n });\n\n /**\n * If set, the field shall have a value at the time it is exported by a submitform action (see 12.7.5.2, “Submit-Form Action”).\n *\n * @name AcroFormField#required\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"required\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 2));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 2);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 2);\n }\n }\n });\n\n /**\n * If set, the field shall not be exported by a submit-form action (see 12.7.5.2, “Submit-Form Action”)\n *\n * @name AcroFormField#noExport\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"noExport\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 3));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 3);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 3);\n }\n }\n });\n\n var _Q = null;\n Object.defineProperty(this, \"Q\", {\n enumerable: true,\n configurable: false,\n get: function() {\n if (_Q === null) {\n return undefined;\n }\n return _Q;\n },\n set: function(value) {\n if ([0, 1, 2].indexOf(value) !== -1) {\n _Q = value;\n } else {\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute Q supplied.'\n );\n }\n }\n });\n\n /**\n * (Optional; inheritable) A code specifying the form of quadding (justification) that shall be used in displaying the text:\n * 'left', 'center', 'right'\n *\n * @name AcroFormField#textAlign\n * @default 'left'\n * @type {string}\n */\n Object.defineProperty(this, \"textAlign\", {\n get: function() {\n var result;\n switch (_Q) {\n case 0:\n default:\n result = \"left\";\n break;\n case 1:\n result = \"center\";\n break;\n case 2:\n result = \"right\";\n break;\n }\n return result;\n },\n configurable: true,\n enumerable: true,\n set: function(value) {\n switch (value) {\n case \"right\":\n case 2:\n _Q = 2;\n break;\n case \"center\":\n case 1:\n _Q = 1;\n break;\n case \"left\":\n case 0:\n default:\n _Q = 0;\n }\n }\n });\n};\n\ninherit(AcroFormField, AcroFormPDFObject);\n\n/**\n * @class AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormChoiceField = function() {\n AcroFormField.call(this);\n // Field Type = Choice Field\n this.FT = \"/Ch\";\n // options\n this.V = \"()\";\n\n this.fontName = \"zapfdingbats\";\n // Top Index\n var _TI = 0;\n\n Object.defineProperty(this, \"TI\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _TI;\n },\n set: function(value) {\n _TI = value;\n }\n });\n\n /**\n * (Optional) For scrollable list boxes, the top index (the index in the Opt array of the first option visible in the list). Default value: 0.\n *\n * @name AcroFormChoiceField#topIndex\n * @default 0\n * @type {number}\n */\n Object.defineProperty(this, \"topIndex\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _TI;\n },\n set: function(value) {\n _TI = value;\n }\n });\n\n var _Opt = [];\n Object.defineProperty(this, \"Opt\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return arrayToPdfArray(_Opt, this.objId, this.scope);\n },\n set: function(value) {\n _Opt = pdfArrayToStringArray(value);\n }\n });\n\n /**\n * @memberof AcroFormChoiceField\n * @name getOptions\n * @function\n * @instance\n * @returns {array} array of Options\n */\n this.getOptions = function() {\n return _Opt;\n };\n\n /**\n * @memberof AcroFormChoiceField\n * @name setOptions\n * @function\n * @instance\n * @param {array} value\n */\n this.setOptions = function(value) {\n _Opt = value;\n if (this.sort) {\n _Opt.sort();\n }\n };\n\n /**\n * @memberof AcroFormChoiceField\n * @name addOption\n * @function\n * @instance\n * @param {string} value\n */\n this.addOption = function(value) {\n value = value || \"\";\n value = value.toString();\n _Opt.push(value);\n if (this.sort) {\n _Opt.sort();\n }\n };\n\n /**\n * @memberof AcroFormChoiceField\n * @name removeOption\n * @function\n * @instance\n * @param {string} value\n * @param {boolean} allEntries (default: false)\n */\n this.removeOption = function(value, allEntries) {\n allEntries = allEntries || false;\n value = value || \"\";\n value = value.toString();\n\n while (_Opt.indexOf(value) !== -1) {\n _Opt.splice(_Opt.indexOf(value), 1);\n if (allEntries === false) {\n break;\n }\n }\n };\n\n /**\n * If set, the field is a combo box; if clear, the field is a list box.\n *\n * @name AcroFormChoiceField#combo\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"combo\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 18));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 18);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 18);\n }\n }\n });\n\n /**\n * If set, the combo box shall include an editable text box as well as a drop-down list; if clear, it shall include only a drop-down list. This flag shall be used only if the Combo flag is set.\n *\n * @name AcroFormChoiceField#edit\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"edit\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 19));\n },\n set: function(value) {\n //PDF 32000-1:2008, page 444\n if (this.combo === true) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 19);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 19);\n }\n }\n }\n });\n\n /**\n * If set, the field’s option items shall be sorted alphabetically. This flag is intended for use by writers, not by readers. Conforming readers shall display the options in the order in which they occur in the Opt array (see Table 231).\n *\n * @name AcroFormChoiceField#sort\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"sort\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 20));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 20);\n _Opt.sort();\n } else {\n this.Ff = clearBitForPdf(this.Ff, 20);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, more than one of the field’s option items may be selected simultaneously; if clear, at most one item shall be selected\n *\n * @name AcroFormChoiceField#multiSelect\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"multiSelect\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 22));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 22);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 22);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, text entered in the field shall not be spellchecked. This flag shall not be used unless the Combo and Edit flags are both set.\n *\n * @name AcroFormChoiceField#doNotSpellCheck\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"doNotSpellCheck\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 23));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 23);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 23);\n }\n }\n });\n\n /**\n * (PDF 1.5) If set, the new value shall be committed as soon as a selection is made (commonly with the pointing device). In this case, supplying a value for a field involves three actions: selecting the field for fill-in, selecting a choice for the fill-in value, and leaving that field, which finalizes or “commits” the data choice and triggers any actions associated with the entry or changing of this data. If this flag is on, then processing does not wait for leaving the field action to occur, but immediately proceeds to the third step.\n * This option enables applications to perform an action once a selection is made, without requiring the user to exit the field. If clear, the new value is not committed until the user exits the field.\n *\n * @name AcroFormChoiceField#commitOnSelChange\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"commitOnSelChange\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 27));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 27);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 27);\n }\n }\n });\n\n this.hasAppearanceStream = false;\n};\ninherit(AcroFormChoiceField, AcroFormField);\n\n/**\n * @class AcroFormListBox\n * @extends AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormListBox = function() {\n AcroFormChoiceField.call(this);\n this.fontName = \"helvetica\";\n\n //PDF 32000-1:2008, page 444\n this.combo = false;\n};\ninherit(AcroFormListBox, AcroFormChoiceField);\n\n/**\n * @class AcroFormComboBox\n * @extends AcroFormListBox\n * @extends AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormComboBox = function() {\n AcroFormListBox.call(this);\n this.combo = true;\n};\ninherit(AcroFormComboBox, AcroFormListBox);\n\n/**\n * @class AcroFormEditBox\n * @extends AcroFormComboBox\n * @extends AcroFormListBox\n * @extends AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormEditBox = function() {\n AcroFormComboBox.call(this);\n this.edit = true;\n};\ninherit(AcroFormEditBox, AcroFormComboBox);\n\n/**\n * @class AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormButton = function() {\n AcroFormField.call(this);\n this.FT = \"/Btn\";\n\n /**\n * (Radio buttons only) If set, exactly one radio button shall be selected at all times; selecting the currently selected button has no effect. If clear, clicking the selected button deselects it, leaving no button selected.\n *\n * @name AcroFormButton#noToggleToOff\n * @type {boolean}\n */\n Object.defineProperty(this, \"noToggleToOff\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 15));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 15);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 15);\n }\n }\n });\n\n /**\n * If set, the field is a set of radio buttons; if clear, the field is a checkbox. This flag may be set only if the Pushbutton flag is clear.\n *\n * @name AcroFormButton#radio\n * @type {boolean}\n */\n Object.defineProperty(this, \"radio\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 16));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 16);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 16);\n }\n }\n });\n\n /**\n * If set, the field is a pushbutton that does not retain a permanent value.\n *\n * @name AcroFormButton#pushButton\n * @type {boolean}\n */\n Object.defineProperty(this, \"pushButton\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 17));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 17);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 17);\n }\n }\n });\n\n /**\n * (PDF 1.5) If set, a group of radio buttons within a radio button field that use the same value for the on state will turn on and off in unison; that is if one is checked, they are all checked. If clear, the buttons are mutually exclusive (the same behavior as HTML radio buttons).\n *\n * @name AcroFormButton#radioIsUnison\n * @type {boolean}\n */\n Object.defineProperty(this, \"radioIsUnison\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 26));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 26);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 26);\n }\n }\n });\n\n var _MK = {};\n Object.defineProperty(this, \"MK\", {\n enumerable: false,\n configurable: false,\n get: function() {\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n if (Object.keys(_MK).length !== 0) {\n var result = [];\n result.push(\"<<\");\n var key;\n for (key in _MK) {\n result.push(\"/\" + key + \" (\" + pdfEscape(encryptor(_MK[key])) + \")\");\n }\n result.push(\">>\");\n return result.join(\"\\n\");\n }\n return undefined;\n },\n set: function(value) {\n if (typeof value === \"object\") {\n _MK = value;\n }\n }\n });\n\n /**\n * From the PDF reference:\n * (Optional, button fields only) The widget annotation's normal caption which shall be displayed when it is not interacting with the user.\n * Unlike the remaining entries listed in this Table which apply only to widget annotations associated with pushbutton fields (see Pushbuttons in 12.7.4.2, \"Button Fields\"), the CA entry may be used with any type of button field, including check boxes (see Check Boxes in 12.7.4.2, \"Button Fields\") and radio buttons (Radio Buttons in 12.7.4.2, \"Button Fields\").\n *\n * - '8' = Cross,\n * - 'l' = Circle,\n * - '' = nothing\n * @name AcroFormButton#caption\n * @type {string}\n */\n Object.defineProperty(this, \"caption\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _MK.CA || \"\";\n },\n set: function(value) {\n if (typeof value === \"string\") {\n _MK.CA = value;\n }\n }\n });\n\n var _AS;\n Object.defineProperty(this, \"AS\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _AS;\n },\n set: function(value) {\n _AS = value;\n }\n });\n\n /**\n * (Required if the appearance dictionary AP contains one or more subdictionaries; PDF 1.2) The annotation's appearance state, which selects the applicable appearance stream from an appearance subdictionary (see Section 12.5.5, \"Appearance Streams\")\n *\n * @name AcroFormButton#appearanceState\n * @type {any}\n */\n Object.defineProperty(this, \"appearanceState\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _AS.substr(1, _AS.length - 1);\n },\n set: function(value) {\n _AS = \"/\" + value;\n }\n });\n};\ninherit(AcroFormButton, AcroFormField);\n\n/**\n * @class AcroFormPushButton\n * @extends AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormPushButton = function() {\n AcroFormButton.call(this);\n this.pushButton = true;\n};\ninherit(AcroFormPushButton, AcroFormButton);\n\n/**\n * @class AcroFormRadioButton\n * @extends AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormRadioButton = function() {\n AcroFormButton.call(this);\n this.radio = true;\n this.pushButton = false;\n\n var _Kids = [];\n Object.defineProperty(this, \"Kids\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _Kids;\n },\n set: function(value) {\n if (typeof value !== \"undefined\") {\n _Kids = value;\n } else {\n _Kids = [];\n }\n }\n });\n};\ninherit(AcroFormRadioButton, AcroFormButton);\n\n/**\n * The Child class of a RadioButton (the radioGroup) -> The single Buttons\n *\n * @class AcroFormChildClass\n * @extends AcroFormField\n * @ignore\n */\nvar AcroFormChildClass = function() {\n AcroFormField.call(this);\n\n var _parent;\n Object.defineProperty(this, \"Parent\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _parent;\n },\n set: function(value) {\n _parent = value;\n }\n });\n\n var _optionName;\n Object.defineProperty(this, \"optionName\", {\n enumerable: false,\n configurable: true,\n get: function() {\n return _optionName;\n },\n set: function(value) {\n _optionName = value;\n }\n });\n\n var _MK = {};\n Object.defineProperty(this, \"MK\", {\n enumerable: false,\n configurable: false,\n get: function() {\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n var result = [];\n result.push(\"<<\");\n var key;\n for (key in _MK) {\n result.push(\"/\" + key + \" (\" + pdfEscape(encryptor(_MK[key])) + \")\");\n }\n result.push(\">>\");\n return result.join(\"\\n\");\n },\n set: function(value) {\n if (typeof value === \"object\") {\n _MK = value;\n }\n }\n });\n\n /**\n * From the PDF reference:\n * (Optional, button fields only) The widget annotation's normal caption which shall be displayed when it is not interacting with the user.\n * Unlike the remaining entries listed in this Table which apply only to widget annotations associated with pushbutton fields (see Pushbuttons in 12.7.4.2, \"Button Fields\"), the CA entry may be used with any type of button field, including check boxes (see Check Boxes in 12.7.4.2, \"Button Fields\") and radio buttons (Radio Buttons in 12.7.4.2, \"Button Fields\").\n *\n * - '8' = Cross,\n * - 'l' = Circle,\n * - '' = nothing\n * @name AcroFormButton#caption\n * @type {string}\n */\n Object.defineProperty(this, \"caption\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _MK.CA || \"\";\n },\n set: function(value) {\n if (typeof value === \"string\") {\n _MK.CA = value;\n }\n }\n });\n\n var _AS;\n Object.defineProperty(this, \"AS\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _AS;\n },\n set: function(value) {\n _AS = value;\n }\n });\n\n /**\n * (Required if the appearance dictionary AP contains one or more subdictionaries; PDF 1.2) The annotation's appearance state, which selects the applicable appearance stream from an appearance subdictionary (see Section 12.5.5, \"Appearance Streams\")\n *\n * @name AcroFormButton#appearanceState\n * @type {any}\n */\n Object.defineProperty(this, \"appearanceState\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _AS.substr(1, _AS.length - 1);\n },\n set: function(value) {\n _AS = \"/\" + value;\n }\n });\n this.caption = \"l\";\n this.appearanceState = \"Off\";\n // todo: set AppearanceType as variable that can be set from the\n // outside...\n this._AppearanceType = AcroFormAppearance.RadioButton.Circle;\n // The Default appearanceType is the Circle\n this.appearanceStreamContent = this._AppearanceType.createAppearanceStream(\n this.optionName\n );\n};\ninherit(AcroFormChildClass, AcroFormField);\n\nAcroFormRadioButton.prototype.setAppearance = function(appearance) {\n if (!(\"createAppearanceStream\" in appearance && \"getCA\" in appearance)) {\n throw new Error(\n \"Couldn't assign Appearance to RadioButton. Appearance was Invalid!\"\n );\n }\n for (var objId in this.Kids) {\n if (this.Kids.hasOwnProperty(objId)) {\n var child = this.Kids[objId];\n child.appearanceStreamContent = appearance.createAppearanceStream(\n child.optionName\n );\n child.caption = appearance.getCA();\n }\n }\n};\n\nAcroFormRadioButton.prototype.createOption = function(name) {\n // Create new Child for RadioGroup\n var child = new AcroFormChildClass();\n child.Parent = this;\n child.optionName = name;\n // Add to Parent\n this.Kids.push(child);\n\n addField.call(this.scope, child);\n\n return child;\n};\n\n/**\n * @class AcroFormCheckBox\n * @extends AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormCheckBox = function() {\n AcroFormButton.call(this);\n\n this.fontName = \"zapfdingbats\";\n this.caption = \"3\";\n this.appearanceState = \"On\";\n this.value = \"On\";\n this.textAlign = \"center\";\n this.appearanceStreamContent = AcroFormAppearance.CheckBox.createAppearanceStream();\n};\ninherit(AcroFormCheckBox, AcroFormButton);\n\n/**\n * @class AcroFormTextField\n * @extends AcroFormField\n */\nvar AcroFormTextField = function() {\n AcroFormField.call(this);\n this.FT = \"/Tx\";\n\n /**\n * If set, the field may contain multiple lines of text; if clear, the field’s text shall be restricted to a single line.\n *\n * @name AcroFormTextField#multiline\n * @type {boolean}\n */\n Object.defineProperty(this, \"multiline\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 13));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 13);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 13);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, the text entered in the field represents the pathname of a file whose contents shall be submitted as the value of the field.\n *\n * @name AcroFormTextField#fileSelect\n * @type {boolean}\n */\n Object.defineProperty(this, \"fileSelect\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 21));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 21);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 21);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, text entered in the field shall not be spell-checked.\n *\n * @name AcroFormTextField#doNotSpellCheck\n * @type {boolean}\n */\n Object.defineProperty(this, \"doNotSpellCheck\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 23));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 23);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 23);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, the field shall not scroll (horizontally for single-line fields, vertically for multiple-line fields) to accommodate more text than fits within its annotation rectangle. Once the field is full, no further text shall be accepted for interactive form filling; for noninteractive form filling, the filler should take care not to add more character than will visibly fit in the defined area.\n *\n * @name AcroFormTextField#doNotScroll\n * @type {boolean}\n */\n Object.defineProperty(this, \"doNotScroll\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 24));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 24);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 24);\n }\n }\n });\n\n /**\n * (PDF 1.5) May be set only if the MaxLen entry is present in the text field dictionary (see Table 229) and if the Multiline, Password, and FileSelect flags are clear. If set, the field shall be automatically divided into as many equally spaced positions, or combs, as the value of MaxLen, and the text is laid out into those combs.\n *\n * @name AcroFormTextField#comb\n * @type {boolean}\n */\n Object.defineProperty(this, \"comb\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 25));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 25);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 25);\n }\n }\n });\n\n /**\n * (PDF 1.5) If set, the value of this field shall be a rich text string (see 12.7.3.4, “Rich Text Strings”). If the field has a value, the RV entry of the field dictionary (Table 222) shall specify the rich text string.\n *\n * @name AcroFormTextField#richText\n * @type {boolean}\n */\n Object.defineProperty(this, \"richText\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 26));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 26);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 26);\n }\n }\n });\n\n var _MaxLen = null;\n Object.defineProperty(this, \"MaxLen\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _MaxLen;\n },\n set: function(value) {\n _MaxLen = value;\n }\n });\n\n /**\n * (Optional; inheritable) The maximum length of the field’s text, in characters.\n *\n * @name AcroFormTextField#maxLength\n * @type {number}\n */\n Object.defineProperty(this, \"maxLength\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _MaxLen;\n },\n set: function(value) {\n if (Number.isInteger(value)) {\n _MaxLen = value;\n }\n }\n });\n\n Object.defineProperty(this, \"hasAppearanceStream\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return this.V || this.DV;\n }\n });\n};\ninherit(AcroFormTextField, AcroFormField);\n\n/**\n * @class AcroFormPasswordField\n * @extends AcroFormTextField\n * @extends AcroFormField\n */\nvar AcroFormPasswordField = function() {\n AcroFormTextField.call(this);\n\n /**\n * If set, the field is intended for entering a secure password that should not be echoed visibly to the screen. Characters typed from the keyboard shall instead be echoed in some unreadable form, such as asterisks or bullet characters.\n * NOTE To protect password confidentiality, readers should never store the value of the text field in the PDF file if this flag is set.\n *\n * @name AcroFormTextField#password\n * @type {boolean}\n */\n Object.defineProperty(this, \"password\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 14));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 14);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 14);\n }\n }\n });\n this.password = true;\n};\ninherit(AcroFormPasswordField, AcroFormTextField);\n\n// Contains Methods for creating standard appearances\nvar AcroFormAppearance = {\n CheckBox: {\n createAppearanceStream: function() {\n var appearance = {\n N: {\n On: AcroFormAppearance.CheckBox.YesNormal\n },\n D: {\n On: AcroFormAppearance.CheckBox.YesPushDown,\n Off: AcroFormAppearance.CheckBox.OffPushDown\n }\n };\n\n return appearance;\n },\n /**\n * Returns the standard On Appearance for a CheckBox\n *\n * @returns {AcroFormXObject}\n */\n YesPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n var encodedColor = formObject.scope.__private__.encodeColorString(\n formObject.color\n );\n var calcRes = calculateX(formObject, formObject.caption);\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n stream.push(\"BMC\");\n stream.push(\"q\");\n stream.push(\"0 0 1 rg\");\n stream.push(\n \"/\" + fontKey + \" \" + f2(calcRes.fontSize) + \" Tf \" + encodedColor\n );\n stream.push(\"BT\");\n stream.push(calcRes.text);\n stream.push(\"ET\");\n stream.push(\"Q\");\n stream.push(\"EMC\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n\n YesNormal: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n var encodedColor = formObject.scope.__private__.encodeColorString(\n formObject.color\n );\n var stream = [];\n var height = AcroFormAppearance.internal.getHeight(formObject);\n var width = AcroFormAppearance.internal.getWidth(formObject);\n var calcRes = calculateX(formObject, formObject.caption);\n stream.push(\"1 g\");\n stream.push(\"0 0 \" + f2(width) + \" \" + f2(height) + \" re\");\n stream.push(\"f\");\n stream.push(\"q\");\n stream.push(\"0 0 1 rg\");\n stream.push(\"0 0 \" + f2(width - 1) + \" \" + f2(height - 1) + \" re\");\n stream.push(\"W\");\n stream.push(\"n\");\n stream.push(\"0 g\");\n stream.push(\"BT\");\n stream.push(\n \"/\" + fontKey + \" \" + f2(calcRes.fontSize) + \" Tf \" + encodedColor\n );\n stream.push(calcRes.text);\n stream.push(\"ET\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n\n /**\n * Returns the standard Off Appearance for a CheckBox\n *\n * @returns {AcroFormXObject}\n */\n OffPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n }\n },\n\n RadioButton: {\n Circle: {\n createAppearanceStream: function(name) {\n var appearanceStreamContent = {\n D: {\n Off: AcroFormAppearance.RadioButton.Circle.OffPushDown\n },\n N: {}\n };\n appearanceStreamContent.N[name] =\n AcroFormAppearance.RadioButton.Circle.YesNormal;\n appearanceStreamContent.D[name] =\n AcroFormAppearance.RadioButton.Circle.YesPushDown;\n return appearanceStreamContent;\n },\n getCA: function() {\n return \"l\";\n },\n\n YesNormal: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n // Make the Radius of the Circle relative to min(height, width) of formObject\n var DotRadius =\n AcroFormAppearance.internal.getWidth(formObject) <=\n AcroFormAppearance.internal.getHeight(formObject)\n ? AcroFormAppearance.internal.getWidth(formObject) / 4\n : AcroFormAppearance.internal.getHeight(formObject) / 4;\n // The Borderpadding...\n DotRadius = Number((DotRadius * 0.9).toFixed(5));\n var c = AcroFormAppearance.internal.Bezier_C;\n var DotRadiusBezier = Number((DotRadius * c).toFixed(5));\n /*\n * The Following is a Circle created with Bezier-Curves.\n */\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(DotRadius + \" 0 m\");\n stream.push(\n DotRadius +\n \" \" +\n DotRadiusBezier +\n \" \" +\n DotRadiusBezier +\n \" \" +\n DotRadius +\n \" 0 \" +\n DotRadius +\n \" c\"\n );\n stream.push(\n \"-\" +\n DotRadiusBezier +\n \" \" +\n DotRadius +\n \" -\" +\n DotRadius +\n \" \" +\n DotRadiusBezier +\n \" -\" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\n \"-\" +\n DotRadius +\n \" -\" +\n DotRadiusBezier +\n \" -\" +\n DotRadiusBezier +\n \" -\" +\n DotRadius +\n \" 0 -\" +\n DotRadius +\n \" c\"\n );\n stream.push(\n DotRadiusBezier +\n \" -\" +\n DotRadius +\n \" \" +\n DotRadius +\n \" -\" +\n DotRadiusBezier +\n \" \" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\"f\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n YesPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var DotRadius =\n AcroFormAppearance.internal.getWidth(formObject) <=\n AcroFormAppearance.internal.getHeight(formObject)\n ? AcroFormAppearance.internal.getWidth(formObject) / 4\n : AcroFormAppearance.internal.getHeight(formObject) / 4;\n // The Borderpadding...\n DotRadius = Number((DotRadius * 0.9).toFixed(5));\n // Save results for later use; no need to waste\n // processor ticks on doing math\n var k = Number((DotRadius * 2).toFixed(5));\n var kc = Number((k * AcroFormAppearance.internal.Bezier_C).toFixed(5));\n var dc = Number(\n (DotRadius * AcroFormAppearance.internal.Bezier_C).toFixed(5)\n );\n\n stream.push(\"0.749023 g\");\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(k + \" 0 m\");\n stream.push(k + \" \" + kc + \" \" + kc + \" \" + k + \" 0 \" + k + \" c\");\n stream.push(\n \"-\" + kc + \" \" + k + \" -\" + k + \" \" + kc + \" -\" + k + \" 0 c\"\n );\n stream.push(\n \"-\" + k + \" -\" + kc + \" -\" + kc + \" -\" + k + \" 0 -\" + k + \" c\"\n );\n stream.push(kc + \" -\" + k + \" \" + k + \" -\" + kc + \" \" + k + \" 0 c\");\n stream.push(\"f\");\n stream.push(\"Q\");\n stream.push(\"0 g\");\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(DotRadius + \" 0 m\");\n stream.push(\n \"\" +\n DotRadius +\n \" \" +\n dc +\n \" \" +\n dc +\n \" \" +\n DotRadius +\n \" 0 \" +\n DotRadius +\n \" c\"\n );\n stream.push(\n \"-\" +\n dc +\n \" \" +\n DotRadius +\n \" -\" +\n DotRadius +\n \" \" +\n dc +\n \" -\" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\n \"-\" +\n DotRadius +\n \" -\" +\n dc +\n \" -\" +\n dc +\n \" -\" +\n DotRadius +\n \" 0 -\" +\n DotRadius +\n \" c\"\n );\n stream.push(\n dc +\n \" -\" +\n DotRadius +\n \" \" +\n DotRadius +\n \" -\" +\n dc +\n \" \" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\"f\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n OffPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var DotRadius =\n AcroFormAppearance.internal.getWidth(formObject) <=\n AcroFormAppearance.internal.getHeight(formObject)\n ? AcroFormAppearance.internal.getWidth(formObject) / 4\n : AcroFormAppearance.internal.getHeight(formObject) / 4;\n // The Borderpadding...\n DotRadius = Number((DotRadius * 0.9).toFixed(5));\n // Save results for later use; no need to waste\n // processor ticks on doing math\n var k = Number((DotRadius * 2).toFixed(5));\n var kc = Number((k * AcroFormAppearance.internal.Bezier_C).toFixed(5));\n\n stream.push(\"0.749023 g\");\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(k + \" 0 m\");\n stream.push(k + \" \" + kc + \" \" + kc + \" \" + k + \" 0 \" + k + \" c\");\n stream.push(\n \"-\" + kc + \" \" + k + \" -\" + k + \" \" + kc + \" -\" + k + \" 0 c\"\n );\n stream.push(\n \"-\" + k + \" -\" + kc + \" -\" + kc + \" -\" + k + \" 0 -\" + k + \" c\"\n );\n stream.push(kc + \" -\" + k + \" \" + k + \" -\" + kc + \" \" + k + \" 0 c\");\n stream.push(\"f\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n }\n },\n\n Cross: {\n /**\n * Creates the Actual AppearanceDictionary-References\n *\n * @param {string} name\n * @returns {Object}\n * @ignore\n */\n createAppearanceStream: function(name) {\n var appearanceStreamContent = {\n D: {\n Off: AcroFormAppearance.RadioButton.Cross.OffPushDown\n },\n N: {}\n };\n appearanceStreamContent.N[name] =\n AcroFormAppearance.RadioButton.Cross.YesNormal;\n appearanceStreamContent.D[name] =\n AcroFormAppearance.RadioButton.Cross.YesPushDown;\n return appearanceStreamContent;\n },\n getCA: function() {\n return \"8\";\n },\n\n YesNormal: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var cross = AcroFormAppearance.internal.calculateCross(formObject);\n stream.push(\"q\");\n stream.push(\n \"1 1 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject) - 2) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject) - 2) +\n \" re\"\n );\n stream.push(\"W\");\n stream.push(\"n\");\n stream.push(f2(cross.x1.x) + \" \" + f2(cross.x1.y) + \" m\");\n stream.push(f2(cross.x2.x) + \" \" + f2(cross.x2.y) + \" l\");\n stream.push(f2(cross.x4.x) + \" \" + f2(cross.x4.y) + \" m\");\n stream.push(f2(cross.x3.x) + \" \" + f2(cross.x3.y) + \" l\");\n stream.push(\"s\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n YesPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var cross = AcroFormAppearance.internal.calculateCross(formObject);\n var stream = [];\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n stream.push(\"q\");\n stream.push(\n \"1 1 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject) - 2) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject) - 2) +\n \" re\"\n );\n stream.push(\"W\");\n stream.push(\"n\");\n stream.push(f2(cross.x1.x) + \" \" + f2(cross.x1.y) + \" m\");\n stream.push(f2(cross.x2.x) + \" \" + f2(cross.x2.y) + \" l\");\n stream.push(f2(cross.x4.x) + \" \" + f2(cross.x4.y) + \" m\");\n stream.push(f2(cross.x3.x) + \" \" + f2(cross.x3.y) + \" l\");\n stream.push(\"s\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n OffPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n }\n }\n },\n\n /**\n * Returns the standard Appearance\n *\n * @returns {AcroFormXObject}\n */\n createDefaultAppearanceStream: function(formObject) {\n // Set Helvetica to Standard Font (size: auto)\n // Color: Black\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n var encodedColor = formObject.scope.__private__.encodeColorString(\n formObject.color\n );\n var fontSize = formObject.fontSize;\n var result = \"/\" + fontKey + \" \" + fontSize + \" Tf \" + encodedColor;\n return result;\n }\n};\n\nAcroFormAppearance.internal = {\n Bezier_C: 0.551915024494,\n\n calculateCross: function(formObject) {\n var width = AcroFormAppearance.internal.getWidth(formObject);\n var height = AcroFormAppearance.internal.getHeight(formObject);\n var a = Math.min(width, height);\n\n var cross = {\n x1: {\n // upperLeft\n x: (width - a) / 2,\n y: (height - a) / 2 + a // height - borderPadding\n },\n x2: {\n // lowerRight\n x: (width - a) / 2 + a,\n y: (height - a) / 2 // borderPadding\n },\n x3: {\n // lowerLeft\n x: (width - a) / 2,\n y: (height - a) / 2 // borderPadding\n },\n x4: {\n // upperRight\n x: (width - a) / 2 + a,\n y: (height - a) / 2 + a // height - borderPadding\n }\n };\n\n return cross;\n }\n};\nAcroFormAppearance.internal.getWidth = function(formObject) {\n var result = 0;\n if (typeof formObject === \"object\") {\n result = scale(formObject.Rect[2]);\n }\n return result;\n};\nAcroFormAppearance.internal.getHeight = function(formObject) {\n var result = 0;\n if (typeof formObject === \"object\") {\n result = scale(formObject.Rect[3]);\n }\n return result;\n};\n\n// Public:\n\n/**\n * Add an AcroForm-Field to the jsPDF-instance\n *\n * @name addField\n * @function\n * @instance\n * @param {Object} fieldObject\n * @returns {jsPDF}\n */\nvar addField = (jsPDFAPI.addField = function(fieldObject) {\n initializeAcroForm(this, fieldObject);\n\n if (fieldObject instanceof AcroFormField) {\n putForm(fieldObject);\n } else {\n throw new Error(\"Invalid argument passed to jsPDF.addField.\");\n }\n fieldObject.page = fieldObject.scope.internal.getCurrentPageInfo().pageNumber;\n return this;\n});\n\njsPDFAPI.AcroFormChoiceField = AcroFormChoiceField;\njsPDFAPI.AcroFormListBox = AcroFormListBox;\njsPDFAPI.AcroFormComboBox = AcroFormComboBox;\njsPDFAPI.AcroFormEditBox = AcroFormEditBox;\njsPDFAPI.AcroFormButton = AcroFormButton;\njsPDFAPI.AcroFormPushButton = AcroFormPushButton;\njsPDFAPI.AcroFormRadioButton = AcroFormRadioButton;\njsPDFAPI.AcroFormCheckBox = AcroFormCheckBox;\njsPDFAPI.AcroFormTextField = AcroFormTextField;\njsPDFAPI.AcroFormPasswordField = AcroFormPasswordField;\njsPDFAPI.AcroFormAppearance = AcroFormAppearance;\n\njsPDFAPI.AcroForm = {\n ChoiceField: AcroFormChoiceField,\n ListBox: AcroFormListBox,\n ComboBox: AcroFormComboBox,\n EditBox: AcroFormEditBox,\n Button: AcroFormButton,\n PushButton: AcroFormPushButton,\n RadioButton: AcroFormRadioButton,\n CheckBox: AcroFormCheckBox,\n TextField: AcroFormTextField,\n PasswordField: AcroFormPasswordField,\n Appearance: AcroFormAppearance\n};\n\njsPDF.AcroForm = {\n ChoiceField: AcroFormChoiceField,\n ListBox: AcroFormListBox,\n ComboBox: AcroFormComboBox,\n EditBox: AcroFormEditBox,\n Button: AcroFormButton,\n PushButton: AcroFormPushButton,\n RadioButton: AcroFormRadioButton,\n CheckBox: AcroFormCheckBox,\n TextField: AcroFormTextField,\n PasswordField: AcroFormPasswordField,\n Appearance: AcroFormAppearance\n};\n\nvar AcroForm = jsPDF.AcroForm;\n\nexport {\n AcroForm,\n AcroFormChoiceField,\n AcroFormListBox,\n AcroFormComboBox,\n AcroFormEditBox,\n AcroFormButton,\n AcroFormPushButton,\n AcroFormRadioButton,\n AcroFormCheckBox,\n AcroFormTextField,\n AcroFormPasswordField,\n AcroFormAppearance\n};\n","function toLookup(arr) {\n return arr.reduce(function(lookup, name, index) {\n lookup[name] = index;\n\n return lookup;\n }, {});\n}\n\nvar fontStyleOrder = {\n italic: [\"italic\", \"oblique\", \"normal\"],\n oblique: [\"oblique\", \"italic\", \"normal\"],\n normal: [\"normal\", \"oblique\", \"italic\"]\n};\n\nvar fontStretchOrder = [\n \"ultra-condensed\",\n \"extra-condensed\",\n \"condensed\",\n \"semi-condensed\",\n \"normal\",\n \"semi-expanded\",\n \"expanded\",\n \"extra-expanded\",\n \"ultra-expanded\"\n];\n\n// For a given font-stretch value, we need to know where to start our search\n// from in the fontStretchOrder list.\nvar fontStretchLookup = toLookup(fontStretchOrder);\n\nvar fontWeights = [100, 200, 300, 400, 500, 600, 700, 800, 900];\nvar fontWeightsLookup = toLookup(fontWeights);\n\nfunction normalizeFontStretch(stretch) {\n stretch = stretch || \"normal\";\n\n return typeof fontStretchLookup[stretch] === \"number\" ? stretch : \"normal\";\n}\n\nfunction normalizeFontStyle(style) {\n style = style || \"normal\";\n\n return fontStyleOrder[style] ? style : \"normal\";\n}\n\nfunction normalizeFontWeight(weight) {\n if (!weight) {\n return 400;\n }\n\n if (typeof weight === \"number\") {\n // Ignore values which aren't valid font-weights.\n return weight >= 100 && weight <= 900 && weight % 100 === 0 ? weight : 400;\n }\n\n if (/^\\d00$/.test(weight)) {\n return parseInt(weight);\n }\n\n switch (weight) {\n case \"bold\":\n return 700;\n\n case \"normal\":\n default:\n return 400;\n }\n}\n\nexport function normalizeFontFace(fontFace) {\n var family = fontFace.family.replace(/\"|'/g, \"\").toLowerCase();\n\n var style = normalizeFontStyle(fontFace.style);\n var weight = normalizeFontWeight(fontFace.weight);\n var stretch = normalizeFontStretch(fontFace.stretch);\n\n return {\n family: family,\n style: style,\n weight: weight,\n stretch: stretch,\n src: fontFace.src || [],\n\n // The ref property maps this font-face to the font\n // added by the .addFont() method.\n ref: fontFace.ref || {\n name: family,\n style: [stretch, style, weight].join(\" \")\n }\n };\n}\n\n/**\n * Turns a list of font-faces into a map, for easier lookup when resolving\n * fonts.\n * @private\n */\nexport function buildFontFaceMap(fontFaces) {\n var map = {};\n\n for (var i = 0; i < fontFaces.length; ++i) {\n var normalized = normalizeFontFace(fontFaces[i]);\n\n var name = normalized.family;\n var stretch = normalized.stretch;\n var style = normalized.style;\n var weight = normalized.weight;\n\n map[name] = map[name] || {};\n\n map[name][stretch] = map[name][stretch] || {};\n map[name][stretch][style] = map[name][stretch][style] || {};\n map[name][stretch][style][weight] = normalized;\n }\n\n return map;\n}\n\n/**\n * Searches a map of stretches, weights, etc. in the given direction and\n * then, if no match has been found, in the opposite directions.\n *\n * @param {Object.} matchingSet A map of the various font variations.\n * @param {any[]} order The order of the different variations\n * @param {number} pivot The starting point of the search in the order list.\n * @param {number} dir The initial direction of the search (desc = -1, asc = 1)\n * @private\n */\n\nfunction searchFromPivot(matchingSet, order, pivot, dir) {\n var i;\n\n for (i = pivot; i >= 0 && i < order.length; i += dir) {\n if (matchingSet[order[i]]) {\n return matchingSet[order[i]];\n }\n }\n\n for (i = pivot; i >= 0 && i < order.length; i -= dir) {\n if (matchingSet[order[i]]) {\n return matchingSet[order[i]];\n }\n }\n}\n\nfunction resolveFontStretch(stretch, matchingSet) {\n if (matchingSet[stretch]) {\n return matchingSet[stretch];\n }\n\n var pivot = fontStretchLookup[stretch];\n\n // If the font-stretch value is normal or more condensed, we want to\n // start with a descending search, otherwise we should do ascending.\n var dir = pivot <= fontStretchLookup[\"normal\"] ? -1 : 1;\n var match = searchFromPivot(matchingSet, fontStretchOrder, pivot, dir);\n\n if (!match) {\n // Since a font-family cannot exist without having at least one stretch value\n // we should never reach this point.\n throw new Error(\n \"Could not find a matching font-stretch value for \" + stretch\n );\n }\n\n return match;\n}\n\nfunction resolveFontStyle(fontStyle, matchingSet) {\n if (matchingSet[fontStyle]) {\n return matchingSet[fontStyle];\n }\n\n var ordering = fontStyleOrder[fontStyle];\n\n for (var i = 0; i < ordering.length; ++i) {\n if (matchingSet[ordering[i]]) {\n return matchingSet[ordering[i]];\n }\n }\n\n // Since a font-family cannot exist without having at least one style value\n // we should never reach this point.\n throw new Error(\"Could not find a matching font-style for \" + fontStyle);\n}\n\nfunction resolveFontWeight(weight, matchingSet) {\n if (matchingSet[weight]) {\n return matchingSet[weight];\n }\n\n if (weight === 400 && matchingSet[500]) {\n return matchingSet[500];\n }\n\n if (weight === 500 && matchingSet[400]) {\n return matchingSet[400];\n }\n\n var pivot = fontWeightsLookup[weight];\n\n // If the font-stretch value is normal or more condensed, we want to\n // start with a descending search, otherwise we should do ascending.\n var dir = weight < 400 ? -1 : 1;\n var match = searchFromPivot(matchingSet, fontWeights, pivot, dir);\n\n if (!match) {\n // Since a font-family cannot exist without having at least one stretch value\n // we should never reach this point.\n throw new Error(\n \"Could not find a matching font-weight for value \" + weight\n );\n }\n\n return match;\n}\n\nvar defaultGenericFontFamilies = {\n \"sans-serif\": \"helvetica\",\n fixed: \"courier\",\n monospace: \"courier\",\n terminal: \"courier\",\n cursive: \"times\",\n fantasy: \"times\",\n serif: \"times\"\n};\n\nvar systemFonts = {\n caption: \"times\",\n icon: \"times\",\n menu: \"times\",\n \"message-box\": \"times\",\n \"small-caption\": \"times\",\n \"status-bar\": \"times\"\n};\n\nfunction ruleToString(rule) {\n return [rule.stretch, rule.style, rule.weight, rule.family].join(\" \");\n}\n\nexport function resolveFontFace(fontFaceMap, rules, opts) {\n opts = opts || {};\n\n var defaultFontFamily = opts.defaultFontFamily || \"times\";\n var genericFontFamilies = Object.assign(\n {},\n defaultGenericFontFamilies,\n opts.genericFontFamilies || {}\n );\n\n var rule = null;\n var matches = null;\n\n for (var i = 0; i < rules.length; ++i) {\n rule = normalizeFontFace(rules[i]);\n\n if (genericFontFamilies[rule.family]) {\n rule.family = genericFontFamilies[rule.family];\n }\n\n if (fontFaceMap.hasOwnProperty(rule.family)) {\n matches = fontFaceMap[rule.family];\n\n break;\n }\n }\n\n // Always fallback to a known font family.\n matches = matches || fontFaceMap[defaultFontFamily];\n\n if (!matches) {\n // At this point we should definitiely have a font family, but if we\n // don't there is something wrong with our configuration\n throw new Error(\n \"Could not find a font-family for the rule '\" +\n ruleToString(rule) +\n \"' and default family '\" +\n defaultFontFamily +\n \"'.\"\n );\n }\n\n matches = resolveFontStretch(rule.stretch, matches);\n matches = resolveFontStyle(rule.style, matches);\n matches = resolveFontWeight(rule.weight, matches);\n\n if (!matches) {\n // We should've fount\n throw new Error(\n \"Failed to resolve a font for the rule '\" + ruleToString(rule) + \"'.\"\n );\n }\n\n return matches;\n}\n\n/**\n * Builds a style id for use with the addFont() method.\n * @param {FontFace} font\n * @private\n */\nexport function toStyleName(font) {\n return [font.weight, font.style, font.stretch].join(\" \");\n}\n\nfunction eatWhiteSpace(input) {\n return input.trimLeft();\n}\n\nfunction parseQuotedFontFamily(input, quote) {\n var index = 0;\n\n while (index < input.length) {\n var current = input.charAt(index);\n\n if (current === quote) {\n return [input.substring(0, index), input.substring(index + 1)];\n }\n\n index += 1;\n }\n\n // Unexpected end of input\n return null;\n}\n\nfunction parseNonQuotedFontFamily(input) {\n // It implements part of the identifier parser here: https://www.w3.org/TR/CSS21/syndata.html#value-def-identifier\n //\n // NOTE: This parser pretty much ignores escaped identifiers and that there is a thing called unicode.\n //\n // Breakdown of regexp:\n // -[a-z_] - when identifier starts with a hyphen, you're not allowed to have another hyphen or a digit\n // [a-z_] - allow a-z and underscore at beginning of input\n // [a-z0-9_-]* - after that, anything goes\n var match = input.match(/^(-[a-z_]|[a-z_])[a-z0-9_-]*/i);\n\n // non quoted value contains illegal characters\n if (match === null) {\n return null;\n }\n\n return [match[0], input.substring(match[0].length)];\n}\n\nvar defaultFont = [\"times\"];\n\nexport function parseFontFamily(input) {\n var result = [];\n var ch, parsed;\n var remaining = input.trim();\n\n if (remaining === \"\") {\n return defaultFont;\n }\n\n if (remaining in systemFonts) {\n return [systemFonts[remaining]];\n }\n\n while (remaining !== \"\") {\n parsed = null;\n remaining = eatWhiteSpace(remaining);\n ch = remaining.charAt(0);\n\n switch (ch) {\n case '\"':\n case \"'\":\n parsed = parseQuotedFontFamily(remaining.substring(1), ch);\n break;\n\n default:\n parsed = parseNonQuotedFontFamily(remaining);\n break;\n }\n\n if (parsed === null) {\n return defaultFont;\n }\n\n result.push(parsed[0]);\n\n remaining = eatWhiteSpace(parsed[1]);\n\n // We expect end of input or a comma separator here\n if (remaining !== \"\" && remaining.charAt(0) !== \",\") {\n return defaultFont;\n }\n\n remaining = remaining.replace(/^,/, \"\");\n }\n\n return result;\n}\n","/** @license\n * jsPDF addImage plugin\n * Copyright (c) 2012 Jason Siefken, https://github.com/siefkenj/\n * 2013 Chris Dowling, https://github.com/gingerchris\n * 2013 Trinh Ho, https://github.com/ineedfat\n * 2013 Edwin Alejandro Perez, https://github.com/eaparango\n * 2013 Norah Smith, https://github.com/burnburnrocket\n * 2014 Diego Casorran, https://github.com/diegocr\n * 2014 James Robb, https://github.com/jamesbrobb\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n/**\n * @name addImage\n * @module\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { atob, btoa } from \"../libs/AtobBtoa.js\";\n\n(function(jsPDFAPI) {\n \"use strict\";\n\n var namespace = \"addImage_\";\n jsPDFAPI.__addimage__ = {};\n\n var UNKNOWN = \"UNKNOWN\";\n\n // Heuristic selection of a good batch for large array .apply. Not limiting make the call overflow.\n // With too small batch iteration will be slow as more calls are made,\n // higher values cause larger and slower garbage collection.\n var ARRAY_APPLY_BATCH = 8192;\n\n var imageFileTypeHeaders = {\n PNG: [[0x89, 0x50, 0x4e, 0x47]],\n TIFF: [\n [0x4d, 0x4d, 0x00, 0x2a], //Motorola\n [0x49, 0x49, 0x2a, 0x00] //Intel\n ],\n JPEG: [\n [\n 0xff,\n 0xd8,\n 0xff,\n 0xe0,\n undefined,\n undefined,\n 0x4a,\n 0x46,\n 0x49,\n 0x46,\n 0x00\n ], //JFIF\n [\n 0xff,\n 0xd8,\n 0xff,\n 0xe1,\n undefined,\n undefined,\n 0x45,\n 0x78,\n 0x69,\n 0x66,\n 0x00,\n 0x00\n ], //Exif\n [0xff, 0xd8, 0xff, 0xdb], //JPEG RAW\n [0xff, 0xd8, 0xff, 0xee] //EXIF RAW\n ],\n JPEG2000: [[0x00, 0x00, 0x00, 0x0c, 0x6a, 0x50, 0x20, 0x20]],\n GIF87a: [[0x47, 0x49, 0x46, 0x38, 0x37, 0x61]],\n GIF89a: [[0x47, 0x49, 0x46, 0x38, 0x39, 0x61]],\n WEBP: [\n [\n 0x52,\n 0x49,\n 0x46,\n 0x46,\n undefined,\n undefined,\n undefined,\n undefined,\n 0x57,\n 0x45,\n 0x42,\n 0x50\n ]\n ],\n BMP: [\n [0x42, 0x4d], //BM - Windows 3.1x, 95, NT, ... etc.\n [0x42, 0x41], //BA - OS/2 struct bitmap array\n [0x43, 0x49], //CI - OS/2 struct color icon\n [0x43, 0x50], //CP - OS/2 const color pointer\n [0x49, 0x43], //IC - OS/2 struct icon\n [0x50, 0x54] //PT - OS/2 pointer\n ]\n };\n\n /**\n * Recognize filetype of Image by magic-bytes\n *\n * https://en.wikipedia.org/wiki/List_of_file_signatures\n *\n * @name getImageFileTypeByImageData\n * @public\n * @function\n * @param {string|arraybuffer} imageData imageData as binary String or arraybuffer\n * @param {string} format format of file if filetype-recognition fails, e.g. 'JPEG'\n *\n * @returns {string} filetype of Image\n */\n var getImageFileTypeByImageData = (jsPDFAPI.__addimage__.getImageFileTypeByImageData = function(\n imageData,\n fallbackFormat\n ) {\n fallbackFormat = fallbackFormat || UNKNOWN;\n var i;\n var j;\n var result = UNKNOWN;\n var headerSchemata;\n var compareResult;\n var fileType;\n\n if (\n fallbackFormat === \"RGBA\" ||\n (imageData.data !== undefined &&\n imageData.data instanceof Uint8ClampedArray &&\n \"height\" in imageData &&\n \"width\" in imageData)\n ) {\n return \"RGBA\";\n }\n\n if (isArrayBufferView(imageData)) {\n for (fileType in imageFileTypeHeaders) {\n headerSchemata = imageFileTypeHeaders[fileType];\n for (i = 0; i < headerSchemata.length; i += 1) {\n compareResult = true;\n for (j = 0; j < headerSchemata[i].length; j += 1) {\n if (headerSchemata[i][j] === undefined) {\n continue;\n }\n if (headerSchemata[i][j] !== imageData[j]) {\n compareResult = false;\n break;\n }\n }\n if (compareResult === true) {\n result = fileType;\n break;\n }\n }\n }\n } else {\n for (fileType in imageFileTypeHeaders) {\n headerSchemata = imageFileTypeHeaders[fileType];\n for (i = 0; i < headerSchemata.length; i += 1) {\n compareResult = true;\n for (j = 0; j < headerSchemata[i].length; j += 1) {\n if (headerSchemata[i][j] === undefined) {\n continue;\n }\n if (headerSchemata[i][j] !== imageData.charCodeAt(j)) {\n compareResult = false;\n break;\n }\n }\n if (compareResult === true) {\n result = fileType;\n break;\n }\n }\n }\n }\n\n if (result === UNKNOWN && fallbackFormat !== UNKNOWN) {\n result = fallbackFormat;\n }\n return result;\n });\n\n // Image functionality ported from pdf.js\n var putImage = function(image) {\n var out = this.internal.write;\n var putStream = this.internal.putStream;\n var getFilters = this.internal.getFilters;\n\n var filter = getFilters();\n while (filter.indexOf(\"FlateEncode\") !== -1) {\n filter.splice(filter.indexOf(\"FlateEncode\"), 1);\n }\n\n image.objectId = this.internal.newObject();\n\n var additionalKeyValues = [];\n additionalKeyValues.push({ key: \"Type\", value: \"/XObject\" });\n additionalKeyValues.push({ key: \"Subtype\", value: \"/Image\" });\n additionalKeyValues.push({ key: \"Width\", value: image.width });\n additionalKeyValues.push({ key: \"Height\", value: image.height });\n\n if (image.colorSpace === color_spaces.INDEXED) {\n additionalKeyValues.push({\n key: \"ColorSpace\",\n value:\n \"[/Indexed /DeviceRGB \" +\n // if an indexed png defines more than one colour with transparency, we've created a sMask\n (image.palette.length / 3 - 1) +\n \" \" +\n (\"sMask\" in image && typeof image.sMask !== \"undefined\"\n ? image.objectId + 2\n : image.objectId + 1) +\n \" 0 R]\"\n });\n } else {\n additionalKeyValues.push({\n key: \"ColorSpace\",\n value: \"/\" + image.colorSpace\n });\n if (image.colorSpace === color_spaces.DEVICE_CMYK) {\n additionalKeyValues.push({ key: \"Decode\", value: \"[1 0 1 0 1 0 1 0]\" });\n }\n }\n additionalKeyValues.push({\n key: \"BitsPerComponent\",\n value: image.bitsPerComponent\n });\n if (\n \"decodeParameters\" in image &&\n typeof image.decodeParameters !== \"undefined\"\n ) {\n additionalKeyValues.push({\n key: \"DecodeParms\",\n value: \"<<\" + image.decodeParameters + \">>\"\n });\n }\n if (\"transparency\" in image && Array.isArray(image.transparency)) {\n var transparency = \"\",\n i = 0,\n len = image.transparency.length;\n for (; i < len; i++)\n transparency +=\n image.transparency[i] + \" \" + image.transparency[i] + \" \";\n\n additionalKeyValues.push({\n key: \"Mask\",\n value: \"[\" + transparency + \"]\"\n });\n }\n if (typeof image.sMask !== \"undefined\") {\n additionalKeyValues.push({\n key: \"SMask\",\n value: image.objectId + 1 + \" 0 R\"\n });\n }\n\n var alreadyAppliedFilters =\n typeof image.filter !== \"undefined\" ? [\"/\" + image.filter] : undefined;\n\n putStream({\n data: image.data,\n additionalKeyValues: additionalKeyValues,\n alreadyAppliedFilters: alreadyAppliedFilters,\n objectId: image.objectId\n });\n\n out(\"endobj\");\n\n // Soft mask\n if (\"sMask\" in image && typeof image.sMask !== \"undefined\") {\n var decodeParameters =\n \"/Predictor \" +\n image.predictor +\n \" /Colors 1 /BitsPerComponent \" +\n image.bitsPerComponent +\n \" /Columns \" +\n image.width;\n var sMask = {\n width: image.width,\n height: image.height,\n colorSpace: \"DeviceGray\",\n bitsPerComponent: image.bitsPerComponent,\n decodeParameters: decodeParameters,\n data: image.sMask\n };\n if (\"filter\" in image) {\n sMask.filter = image.filter;\n }\n putImage.call(this, sMask);\n }\n\n //Palette\n if (image.colorSpace === color_spaces.INDEXED) {\n var objId = this.internal.newObject();\n //out('<< /Filter / ' + img['f'] +' /Length ' + img['pal'].length + '>>');\n //putStream(zlib.compress(img['pal']));\n putStream({\n data: arrayBufferToBinaryString(new Uint8Array(image.palette)),\n objectId: objId\n });\n out(\"endobj\");\n }\n };\n var putResourcesCallback = function() {\n var images = this.internal.collections[namespace + \"images\"];\n for (var i in images) {\n putImage.call(this, images[i]);\n }\n };\n var putXObjectsDictCallback = function() {\n var images = this.internal.collections[namespace + \"images\"],\n out = this.internal.write,\n image;\n for (var i in images) {\n image = images[i];\n out(\"/I\" + image.index, image.objectId, \"0\", \"R\");\n }\n };\n\n var checkCompressValue = function(value) {\n if (value && typeof value === \"string\") value = value.toUpperCase();\n return value in jsPDFAPI.image_compression ? value : image_compression.NONE;\n };\n\n var initialize = function() {\n if (!this.internal.collections[namespace + \"images\"]) {\n this.internal.collections[namespace + \"images\"] = {};\n this.internal.events.subscribe(\"putResources\", putResourcesCallback);\n this.internal.events.subscribe(\"putXobjectDict\", putXObjectsDictCallback);\n }\n };\n\n var getImages = function() {\n var images = this.internal.collections[namespace + \"images\"];\n initialize.call(this);\n return images;\n };\n var getImageIndex = function() {\n return Object.keys(this.internal.collections[namespace + \"images\"]).length;\n };\n var notDefined = function(value) {\n return typeof value === \"undefined\" || value === null || value.length === 0;\n };\n var generateAliasFromImageData = function(imageData) {\n if (typeof imageData === \"string\" || isArrayBufferView(imageData)) {\n return sHashCode(imageData);\n } else if (isArrayBufferView(imageData.data)) {\n return sHashCode(imageData.data);\n }\n\n return null;\n };\n\n var isImageTypeSupported = function(type) {\n return typeof jsPDFAPI[\"process\" + type.toUpperCase()] === \"function\";\n };\n\n var isDOMElement = function(object) {\n return typeof object === \"object\" && object.nodeType === 1;\n };\n\n var getImageDataFromElement = function(element, format) {\n //if element is an image which uses data url definition, just return the dataurl\n if (element.nodeName === \"IMG\" && element.hasAttribute(\"src\")) {\n var src = \"\" + element.getAttribute(\"src\");\n\n //is base64 encoded dataUrl, directly process it\n if (src.indexOf(\"data:image/\") === 0) {\n return atob(\n unescape(src)\n .split(\"base64,\")\n .pop()\n );\n }\n\n //it is probably an url, try to load it\n var tmpImageData = jsPDFAPI.loadFile(src, true);\n if (tmpImageData !== undefined) {\n return tmpImageData;\n }\n }\n\n if (element.nodeName === \"CANVAS\") {\n if (element.width === 0 || element.height === 0) {\n throw new Error(\n \"Given canvas must have data. Canvas width: \" +\n element.width +\n \", height: \" +\n element.height\n );\n }\n var mimeType;\n switch (format) {\n case \"PNG\":\n mimeType = \"image/png\";\n break;\n case \"WEBP\":\n mimeType = \"image/webp\";\n break;\n case \"JPEG\":\n case \"JPG\":\n default:\n mimeType = \"image/jpeg\";\n break;\n }\n return atob(\n element\n .toDataURL(mimeType, 1.0)\n .split(\"base64,\")\n .pop()\n );\n }\n };\n\n var checkImagesForAlias = function(alias) {\n var images = this.internal.collections[namespace + \"images\"];\n if (images) {\n for (var e in images) {\n if (alias === images[e].alias) {\n return images[e];\n }\n }\n }\n };\n\n var determineWidthAndHeight = function(width, height, image) {\n if (!width && !height) {\n width = -96;\n height = -96;\n }\n if (width < 0) {\n width = (-1 * image.width * 72) / width / this.internal.scaleFactor;\n }\n if (height < 0) {\n height = (-1 * image.height * 72) / height / this.internal.scaleFactor;\n }\n if (width === 0) {\n width = (height * image.width) / image.height;\n }\n if (height === 0) {\n height = (width * image.height) / image.width;\n }\n\n return [width, height];\n };\n\n var writeImageToPDF = function(x, y, width, height, image, rotation) {\n var dims = determineWidthAndHeight.call(this, width, height, image),\n coord = this.internal.getCoordinateString,\n vcoord = this.internal.getVerticalCoordinateString;\n\n var images = getImages.call(this);\n\n width = dims[0];\n height = dims[1];\n images[image.index] = image;\n\n if (rotation) {\n rotation *= Math.PI / 180;\n var c = Math.cos(rotation);\n var s = Math.sin(rotation);\n //like in pdf Reference do it 4 digits instead of 2\n var f4 = function(number) {\n return number.toFixed(4);\n };\n var rotationTransformationMatrix = [\n f4(c),\n f4(s),\n f4(s * -1),\n f4(c),\n 0,\n 0,\n \"cm\"\n ];\n }\n this.internal.write(\"q\"); //Save graphics state\n if (rotation) {\n this.internal.write(\n [1, \"0\", \"0\", 1, coord(x), vcoord(y + height), \"cm\"].join(\" \")\n ); //Translate\n this.internal.write(rotationTransformationMatrix.join(\" \")); //Rotate\n this.internal.write(\n [coord(width), \"0\", \"0\", coord(height), \"0\", \"0\", \"cm\"].join(\" \")\n ); //Scale\n } else {\n this.internal.write(\n [\n coord(width),\n \"0\",\n \"0\",\n coord(height),\n coord(x),\n vcoord(y + height),\n \"cm\"\n ].join(\" \")\n ); //Translate and Scale\n }\n\n if (this.isAdvancedAPI()) {\n // draw image bottom up when in \"advanced\" API mode\n this.internal.write([1, 0, 0, -1, 0, 0, \"cm\"].join(\" \"));\n }\n\n this.internal.write(\"/I\" + image.index + \" Do\"); //Paint Image\n this.internal.write(\"Q\"); //Restore graphics state\n };\n\n /**\n * COLOR SPACES\n */\n var color_spaces = (jsPDFAPI.color_spaces = {\n DEVICE_RGB: \"DeviceRGB\",\n DEVICE_GRAY: \"DeviceGray\",\n DEVICE_CMYK: \"DeviceCMYK\",\n CAL_GREY: \"CalGray\",\n CAL_RGB: \"CalRGB\",\n LAB: \"Lab\",\n ICC_BASED: \"ICCBased\",\n INDEXED: \"Indexed\",\n PATTERN: \"Pattern\",\n SEPARATION: \"Separation\",\n DEVICE_N: \"DeviceN\"\n });\n\n /**\n * DECODE METHODS\n */\n jsPDFAPI.decode = {\n DCT_DECODE: \"DCTDecode\",\n FLATE_DECODE: \"FlateDecode\",\n LZW_DECODE: \"LZWDecode\",\n JPX_DECODE: \"JPXDecode\",\n JBIG2_DECODE: \"JBIG2Decode\",\n ASCII85_DECODE: \"ASCII85Decode\",\n ASCII_HEX_DECODE: \"ASCIIHexDecode\",\n RUN_LENGTH_DECODE: \"RunLengthDecode\",\n CCITT_FAX_DECODE: \"CCITTFaxDecode\"\n };\n\n /**\n * IMAGE COMPRESSION TYPES\n */\n var image_compression = (jsPDFAPI.image_compression = {\n NONE: \"NONE\",\n FAST: \"FAST\",\n MEDIUM: \"MEDIUM\",\n SLOW: \"SLOW\"\n });\n\n /**\n * @name sHashCode\n * @function\n * @param {string} data\n * @returns {string}\n */\n var sHashCode = (jsPDFAPI.__addimage__.sHashCode = function(data) {\n var hash = 0,\n i,\n len;\n\n if (typeof data === \"string\") {\n len = data.length;\n for (i = 0; i < len; i++) {\n hash = (hash << 5) - hash + data.charCodeAt(i);\n hash |= 0; // Convert to 32bit integer\n }\n } else if (isArrayBufferView(data)) {\n len = data.byteLength / 2;\n for (i = 0; i < len; i++) {\n hash = (hash << 5) - hash + data[i];\n hash |= 0; // Convert to 32bit integer\n }\n }\n return hash;\n });\n\n /**\n * Validates if given String is a valid Base64-String\n *\n * @name validateStringAsBase64\n * @public\n * @function\n * @param {String} possible Base64-String\n *\n * @returns {boolean}\n */\n var validateStringAsBase64 = (jsPDFAPI.__addimage__.validateStringAsBase64 = function(\n possibleBase64String\n ) {\n possibleBase64String = possibleBase64String || \"\";\n possibleBase64String.toString().trim();\n\n var result = true;\n\n if (possibleBase64String.length === 0) {\n result = false;\n }\n\n if (possibleBase64String.length % 4 !== 0) {\n result = false;\n }\n\n if (\n /^[A-Za-z0-9+/]+$/.test(\n possibleBase64String.substr(0, possibleBase64String.length - 2)\n ) === false\n ) {\n result = false;\n }\n\n if (\n /^[A-Za-z0-9/][A-Za-z0-9+/]|[A-Za-z0-9+/]=|==$/.test(\n possibleBase64String.substr(-2)\n ) === false\n ) {\n result = false;\n }\n return result;\n });\n\n /**\n * Strips out and returns info from a valid base64 data URI\n *\n * @name extractImageFromDataUrl\n * @function\n * @param {string} dataUrl a valid data URI of format 'data:[][;base64],'\n * @returns {Array}an Array containing the following\n * [0] the complete data URI\n * [1] \n * [2] format - the second part of the mime-type i.e 'png' in 'image/png'\n * [4] \n */\n var extractImageFromDataUrl = (jsPDFAPI.__addimage__.extractImageFromDataUrl = function(\n dataUrl\n ) {\n dataUrl = dataUrl || \"\";\n var dataUrlParts = dataUrl.split(\"base64,\");\n var result = null;\n\n if (dataUrlParts.length === 2) {\n var extractedInfo = /^data:(\\w*\\/\\w*);*(charset=(?!charset=)[\\w=-]*)*;*$/.exec(\n dataUrlParts[0]\n );\n if (Array.isArray(extractedInfo)) {\n result = {\n mimeType: extractedInfo[1],\n charset: extractedInfo[2],\n data: dataUrlParts[1]\n };\n }\n }\n return result;\n });\n\n /**\n * Check to see if ArrayBuffer is supported\n *\n * @name supportsArrayBuffer\n * @function\n * @returns {boolean}\n */\n var supportsArrayBuffer = (jsPDFAPI.__addimage__.supportsArrayBuffer = function() {\n return (\n typeof ArrayBuffer !== \"undefined\" && typeof Uint8Array !== \"undefined\"\n );\n });\n\n /**\n * Tests supplied object to determine if ArrayBuffer\n *\n * @name isArrayBuffer\n * @function\n * @param {Object} object an Object\n *\n * @returns {boolean}\n */\n jsPDFAPI.__addimage__.isArrayBuffer = function(object) {\n return supportsArrayBuffer() && object instanceof ArrayBuffer;\n };\n\n /**\n * Tests supplied object to determine if it implements the ArrayBufferView (TypedArray) interface\n *\n * @name isArrayBufferView\n * @function\n * @param {Object} object an Object\n * @returns {boolean}\n */\n var isArrayBufferView = (jsPDFAPI.__addimage__.isArrayBufferView = function(\n object\n ) {\n return (\n supportsArrayBuffer() &&\n typeof Uint32Array !== \"undefined\" &&\n (object instanceof Int8Array ||\n object instanceof Uint8Array ||\n (typeof Uint8ClampedArray !== \"undefined\" &&\n object instanceof Uint8ClampedArray) ||\n object instanceof Int16Array ||\n object instanceof Uint16Array ||\n object instanceof Int32Array ||\n object instanceof Uint32Array ||\n object instanceof Float32Array ||\n object instanceof Float64Array)\n );\n });\n\n /**\n * Convert Binary String to ArrayBuffer\n *\n * @name binaryStringToUint8Array\n * @public\n * @function\n * @param {string} BinaryString with ImageData\n * @returns {Uint8Array}\n */\n var binaryStringToUint8Array = (jsPDFAPI.__addimage__.binaryStringToUint8Array = function(\n binary_string\n ) {\n var len = binary_string.length;\n var bytes = new Uint8Array(len);\n for (var i = 0; i < len; i++) {\n bytes[i] = binary_string.charCodeAt(i);\n }\n return bytes;\n });\n\n /**\n * Convert the Buffer to a Binary String\n *\n * @name arrayBufferToBinaryString\n * @public\n * @function\n * @param {ArrayBuffer|ArrayBufferView} ArrayBuffer buffer or bufferView with ImageData\n *\n * @returns {String}\n */\n var arrayBufferToBinaryString = (jsPDFAPI.__addimage__.arrayBufferToBinaryString = function(\n buffer\n ) {\n var out = \"\";\n // There are calls with both ArrayBuffer and already converted Uint8Array or other BufferView.\n // Do not copy the array if input is already an array.\n var buf = isArrayBufferView(buffer) ? buffer : new Uint8Array(buffer);\n for (var i = 0; i < buf.length; i += ARRAY_APPLY_BATCH) {\n // Limit the amount of characters being parsed to prevent overflow.\n // Note that while TextDecoder would be faster, it does not have the same\n // functionality as fromCharCode with any provided encodings as of 3/2021.\n out += String.fromCharCode.apply(\n null,\n buf.subarray(i, i + ARRAY_APPLY_BATCH)\n );\n }\n return out;\n });\n\n /**\n * Possible parameter for addImage, an RGBA buffer with size.\n *\n * @typedef {Object} RGBAData\n * @property {Uint8ClampedArray} data - Single dimensional array of RGBA values. For example from canvas getImageData.\n * @property {number} width - Image width as the data does not carry this information in itself.\n * @property {number} height - Image height as the data does not carry this information in itself.\n */\n\n /**\n * Adds an Image to the PDF.\n *\n * @name addImage\n * @public\n * @function\n * @param {string|HTMLImageElement|HTMLCanvasElement|Uint8Array|RGBAData} imageData imageData as base64 encoded DataUrl or Image-HTMLElement or Canvas-HTMLElement or object containing RGBA array (like output from canvas.getImageData).\n * @param {string} format format of file if filetype-recognition fails or in case of a Canvas-Element needs to be specified (default for Canvas is JPEG), e.g. 'JPEG', 'PNG', 'WEBP'\n * @param {number} x x Coordinate (in units declared at inception of PDF document) against left edge of the page\n * @param {number} y y Coordinate (in units declared at inception of PDF document) against upper edge of the page\n * @param {number} width width of the image (in units declared at inception of PDF document)\n * @param {number} height height of the Image (in units declared at inception of PDF document)\n * @param {string} alias alias of the image (if used multiple times)\n * @param {string} compression compression of the generated JPEG, can have the values 'NONE', 'FAST', 'MEDIUM' and 'SLOW'\n * @param {number} rotation rotation of the image in degrees (0-359)\n *\n * @returns jsPDF\n */\n jsPDFAPI.addImage = function() {\n var imageData, format, x, y, w, h, alias, compression, rotation;\n\n imageData = arguments[0];\n if (typeof arguments[1] === \"number\") {\n format = UNKNOWN;\n x = arguments[1];\n y = arguments[2];\n w = arguments[3];\n h = arguments[4];\n alias = arguments[5];\n compression = arguments[6];\n rotation = arguments[7];\n } else {\n format = arguments[1];\n x = arguments[2];\n y = arguments[3];\n w = arguments[4];\n h = arguments[5];\n alias = arguments[6];\n compression = arguments[7];\n rotation = arguments[8];\n }\n\n if (\n typeof imageData === \"object\" &&\n !isDOMElement(imageData) &&\n \"imageData\" in imageData\n ) {\n var options = imageData;\n\n imageData = options.imageData;\n format = options.format || format || UNKNOWN;\n x = options.x || x || 0;\n y = options.y || y || 0;\n w = options.w || options.width || w;\n h = options.h || options.height || h;\n alias = options.alias || alias;\n compression = options.compression || compression;\n rotation = options.rotation || options.angle || rotation;\n }\n\n //If compression is not explicitly set, determine if we should use compression\n var filter = this.internal.getFilters();\n if (compression === undefined && filter.indexOf(\"FlateEncode\") !== -1) {\n compression = \"SLOW\";\n }\n\n if (isNaN(x) || isNaN(y)) {\n throw new Error(\"Invalid coordinates passed to jsPDF.addImage\");\n }\n\n initialize.call(this);\n\n var image = processImageData.call(\n this,\n imageData,\n format,\n alias,\n compression\n );\n\n writeImageToPDF.call(this, x, y, w, h, image, rotation);\n\n return this;\n };\n\n var processImageData = function(imageData, format, alias, compression) {\n var result, dataAsBinaryString;\n\n if (\n typeof imageData === \"string\" &&\n getImageFileTypeByImageData(imageData) === UNKNOWN\n ) {\n imageData = unescape(imageData);\n var tmpImageData = convertBase64ToBinaryString(imageData, false);\n\n if (tmpImageData !== \"\") {\n imageData = tmpImageData;\n } else {\n tmpImageData = jsPDFAPI.loadFile(imageData, true);\n if (tmpImageData !== undefined) {\n imageData = tmpImageData;\n }\n }\n }\n\n if (isDOMElement(imageData)) {\n imageData = getImageDataFromElement(imageData, format);\n }\n\n format = getImageFileTypeByImageData(imageData, format);\n if (!isImageTypeSupported(format)) {\n throw new Error(\n \"addImage does not support files of type '\" +\n format +\n \"', please ensure that a plugin for '\" +\n format +\n \"' support is added.\"\n );\n }\n\n // now do the heavy lifting\n\n if (notDefined(alias)) {\n alias = generateAliasFromImageData(imageData);\n }\n result = checkImagesForAlias.call(this, alias);\n\n if (!result) {\n if (supportsArrayBuffer()) {\n // no need to convert if imageData is already uint8array\n if (!(imageData instanceof Uint8Array) && format !== \"RGBA\") {\n dataAsBinaryString = imageData;\n imageData = binaryStringToUint8Array(imageData);\n }\n }\n\n result = this[\"process\" + format.toUpperCase()](\n imageData,\n getImageIndex.call(this),\n alias,\n checkCompressValue(compression),\n dataAsBinaryString\n );\n }\n\n if (!result) {\n throw new Error(\"An unknown error occurred whilst processing the image.\");\n }\n return result;\n };\n\n /**\n * @name convertBase64ToBinaryString\n * @function\n * @param {string} stringData\n * @returns {string} binary string\n */\n var convertBase64ToBinaryString = (jsPDFAPI.__addimage__.convertBase64ToBinaryString = function(\n stringData,\n throwError\n ) {\n throwError = typeof throwError === \"boolean\" ? throwError : true;\n var base64Info;\n var imageData = \"\";\n var rawData;\n\n if (typeof stringData === \"string\") {\n base64Info = extractImageFromDataUrl(stringData);\n rawData = base64Info !== null ? base64Info.data : stringData;\n\n try {\n imageData = atob(rawData);\n } catch (e) {\n if (throwError) {\n if (!validateStringAsBase64(rawData)) {\n throw new Error(\n \"Supplied Data is not a valid base64-String jsPDF.convertBase64ToBinaryString \"\n );\n } else {\n throw new Error(\n \"atob-Error in jsPDF.convertBase64ToBinaryString \" + e.message\n );\n }\n }\n }\n }\n return imageData;\n });\n\n /**\n * @name getImageProperties\n * @function\n * @param {Object} imageData\n * @returns {Object}\n */\n jsPDFAPI.getImageProperties = function(imageData) {\n var image;\n var tmpImageData = \"\";\n var format;\n\n if (isDOMElement(imageData)) {\n imageData = getImageDataFromElement(imageData);\n }\n\n if (\n typeof imageData === \"string\" &&\n getImageFileTypeByImageData(imageData) === UNKNOWN\n ) {\n tmpImageData = convertBase64ToBinaryString(imageData, false);\n\n if (tmpImageData === \"\") {\n tmpImageData = jsPDFAPI.loadFile(imageData) || \"\";\n }\n imageData = tmpImageData;\n }\n\n format = getImageFileTypeByImageData(imageData);\n if (!isImageTypeSupported(format)) {\n throw new Error(\n \"addImage does not support files of type '\" +\n format +\n \"', please ensure that a plugin for '\" +\n format +\n \"' support is added.\"\n );\n }\n\n if (supportsArrayBuffer() && !(imageData instanceof Uint8Array)) {\n imageData = binaryStringToUint8Array(imageData);\n }\n\n image = this[\"process\" + format.toUpperCase()](imageData);\n\n if (!image) {\n throw new Error(\"An unknown error occurred whilst processing the image\");\n }\n\n image.fileType = format;\n\n return image;\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\n/**\n * jsPDF Annotations PlugIn\n *\n * There are many types of annotations in a PDF document. Annotations are placed\n * on a page at a particular location. They are not 'attached' to an object.\n *
\n * This plugin current supports
\n *
  • Goto Page (set pageNumber and top in options)\n *
  • Goto Name (set name and top in options)\n *
  • Goto URL (set url in options)\n *

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

    \n *

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

    \n *

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

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

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

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

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

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

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

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



    a c e

    b d f

    0 0 1

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

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

    In other words, the setTransform() method lets you scale, rotate, move, and skew the current context.\r\n */\r\n Context2D.prototype.setTransform = function(a, b, c, d, e, f) {\r\n a = isNaN(a) ? 1 : a;\r\n b = isNaN(b) ? 0 : b;\r\n c = isNaN(c) ? 0 : c;\r\n d = isNaN(d) ? 1 : d;\r\n e = isNaN(e) ? 0 : e;\r\n f = isNaN(f) ? 0 : f;\r\n this.ctx.transform = new Matrix(a, b, c, d, e, f);\r\n };\r\n\r\n /**\r\n * Should only be used if pageWrapYEnabled is true\r\n *\r\n * @name setPageByYPosition\r\n * @function\r\n * @private\r\n * @ignore\r\n * @returns One-based Page Number\r\n */\r\n var setPageByYPosition = function(y) {\r\n if (this.pageWrapYEnabled) {\r\n this.lastBreak = 0;\r\n var manualBreaks = 0;\r\n var autoBreaks = 0;\r\n for (var i = 0; i < this.pageBreaks.length; i++) {\r\n if (y >= this.pageBreaks[i]) {\r\n manualBreaks++;\r\n if (this.lastBreak === 0) {\r\n autoBreaks++;\r\n }\r\n var spaceBetweenLastBreak = this.pageBreaks[i] - this.lastBreak;\r\n this.lastBreak = this.pageBreaks[i];\r\n var pagesSinceLastBreak = Math.floor(\r\n spaceBetweenLastBreak / this.pageWrapY\r\n );\r\n autoBreaks += pagesSinceLastBreak;\r\n }\r\n }\r\n if (this.lastBreak === 0) {\r\n var pagesSinceLastBreak = Math.floor(y / this.pageWrapY) + 1;\r\n autoBreaks += pagesSinceLastBreak;\r\n }\r\n return autoBreaks + manualBreaks;\r\n } else {\r\n return this.pdf.internal.getCurrentPageInfo().pageNumber;\r\n }\r\n };\r\n\r\n var hasMargins = function() {\r\n return (\r\n this.margin[0] > 0 ||\r\n this.margin[1] > 0 ||\r\n this.margin[2] > 0 ||\r\n this.margin[3] > 0\r\n );\r\n };\r\n\r\n /**\r\n * Draws an image, canvas, or video onto the canvas\r\n *\r\n * @function\r\n * @param img {} Specifies the image, canvas, or video element to use\r\n * @param sx {Number} Optional. The x coordinate where to start clipping\r\n * @param sy {Number} Optional. The y coordinate where to start clipping\r\n * @param swidth {Number} Optional. The width of the clipped image\r\n * @param sheight {Number} Optional. The height of the clipped image\r\n * @param x {Number} The x coordinate where to place the image on the canvas\r\n * @param y {Number} The y coordinate where to place the image on the canvas\r\n * @param width {Number} Optional. The width of the image to use (stretch or reduce the image)\r\n * @param height {Number} Optional. The height of the image to use (stretch or reduce the image)\r\n */\r\n Context2D.prototype.drawImage = function(\r\n img,\r\n sx,\r\n sy,\r\n swidth,\r\n sheight,\r\n x,\r\n y,\r\n width,\r\n height\r\n ) {\r\n var imageProperties = this.pdf.getImageProperties(img);\r\n var factorX = 1;\r\n var factorY = 1;\r\n var isClip;\r\n\r\n var clipFactorX = 1;\r\n var clipFactorY = 1;\r\n\r\n if (typeof swidth !== \"undefined\" && typeof width !== \"undefined\") {\r\n isClip = true;\r\n clipFactorX = width / swidth;\r\n clipFactorY = height / sheight;\r\n factorX = ((imageProperties.width / swidth) * width) / swidth;\r\n factorY = ((imageProperties.height / sheight) * height) / sheight;\r\n }\r\n\r\n //is sx and sy are set and x and y not, set x and y with values of sx and sy\r\n if (typeof x === \"undefined\") {\r\n x = sx;\r\n y = sy;\r\n sx = 0;\r\n sy = 0;\r\n }\r\n\r\n if (typeof swidth !== \"undefined\" && typeof width === \"undefined\") {\r\n width = swidth;\r\n height = sheight;\r\n }\r\n if (typeof swidth === \"undefined\" && typeof width === \"undefined\") {\r\n width = imageProperties.width;\r\n height = imageProperties.height;\r\n }\r\n\r\n var decomposedTransformationMatrix = this.ctx.transform.decompose();\r\n var angle = rad2deg(decomposedTransformationMatrix.rotate.shx);\r\n var matrix = new Matrix();\r\n matrix = matrix.multiply(decomposedTransformationMatrix.translate);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.skew);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.scale);\r\n var xRect = matrix.applyToRectangle(\r\n new Rectangle(\r\n x - sx * clipFactorX,\r\n y - sy * clipFactorY,\r\n swidth * factorX,\r\n sheight * factorY\r\n )\r\n );\r\n var pageArray = getPagesByPath.call(this, xRect);\r\n var pages = [];\r\n for (var ii = 0; ii < pageArray.length; ii += 1) {\r\n if (pages.indexOf(pageArray[ii]) === -1) {\r\n pages.push(pageArray[ii]);\r\n }\r\n }\r\n\r\n sortPages(pages);\r\n\r\n var clipPath;\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var i = min; i < max + 1; i++) {\r\n this.pdf.setPage(i);\r\n\r\n var pageWidthMinusMargins =\r\n this.pdf.internal.pageSize.width - this.margin[3] - this.margin[1];\r\n var topMargin = i === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusMargins =\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var previousPageHeightSum =\r\n i === 1 ? 0 : firstPageHeight + (i - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n drawPaths.call(this, \"fill\", true);\r\n this.path = tmpPaths;\r\n }\r\n var tmpRect = JSON.parse(JSON.stringify(xRect));\r\n tmpRect = pathPositionRedo(\r\n [tmpRect],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n const needsClipping = (i > min || i < max) && hasMargins.call(this);\r\n\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n this.pdf.addImage(\r\n img,\r\n \"JPEG\",\r\n tmpRect.x,\r\n tmpRect.y,\r\n tmpRect.w,\r\n tmpRect.h,\r\n null,\r\n null,\r\n angle\r\n );\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n } else {\r\n this.pdf.addImage(\r\n img,\r\n \"JPEG\",\r\n xRect.x,\r\n xRect.y,\r\n xRect.w,\r\n xRect.h,\r\n null,\r\n null,\r\n angle\r\n );\r\n }\r\n };\r\n\r\n var getPagesByPath = function(path, pageWrapX, pageWrapY) {\r\n var result = [];\r\n pageWrapX = pageWrapX || this.pdf.internal.pageSize.width;\r\n pageWrapY =\r\n pageWrapY ||\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var yOffset = this.posY + this.ctx.prevPageLastElemOffset;\r\n\r\n switch (path.type) {\r\n default:\r\n case \"mt\":\r\n case \"lt\":\r\n result.push(Math.floor((path.y + yOffset) / pageWrapY) + 1);\r\n break;\r\n case \"arc\":\r\n result.push(\r\n Math.floor((path.y + yOffset - path.radius) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor((path.y + yOffset + path.radius) / pageWrapY) + 1\r\n );\r\n break;\r\n case \"qct\":\r\n var rectOfQuadraticCurve = getQuadraticCurveBoundary(\r\n this.ctx.lastPoint.x,\r\n this.ctx.lastPoint.y,\r\n path.x1,\r\n path.y1,\r\n path.x,\r\n path.y\r\n );\r\n result.push(\r\n Math.floor((rectOfQuadraticCurve.y + yOffset) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor(\r\n (rectOfQuadraticCurve.y + rectOfQuadraticCurve.h + yOffset) /\r\n pageWrapY\r\n ) + 1\r\n );\r\n break;\r\n case \"bct\":\r\n var rectOfBezierCurve = getBezierCurveBoundary(\r\n this.ctx.lastPoint.x,\r\n this.ctx.lastPoint.y,\r\n path.x1,\r\n path.y1,\r\n path.x2,\r\n path.y2,\r\n path.x,\r\n path.y\r\n );\r\n result.push(\r\n Math.floor((rectOfBezierCurve.y + yOffset) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor(\r\n (rectOfBezierCurve.y + rectOfBezierCurve.h + yOffset) / pageWrapY\r\n ) + 1\r\n );\r\n break;\r\n case \"rect\":\r\n result.push(Math.floor((path.y + yOffset) / pageWrapY) + 1);\r\n result.push(Math.floor((path.y + path.h + yOffset) / pageWrapY) + 1);\r\n }\r\n\r\n for (var i = 0; i < result.length; i += 1) {\r\n while (this.pdf.internal.getNumberOfPages() < result[i]) {\r\n addPage.call(this);\r\n }\r\n }\r\n return result;\r\n };\r\n\r\n var addPage = function() {\r\n var fillStyle = this.fillStyle;\r\n var strokeStyle = this.strokeStyle;\r\n var font = this.font;\r\n var lineCap = this.lineCap;\r\n var lineWidth = this.lineWidth;\r\n var lineJoin = this.lineJoin;\r\n this.pdf.addPage();\r\n this.fillStyle = fillStyle;\r\n this.strokeStyle = strokeStyle;\r\n this.font = font;\r\n this.lineCap = lineCap;\r\n this.lineWidth = lineWidth;\r\n this.lineJoin = lineJoin;\r\n };\r\n\r\n var pathPositionRedo = function(paths, x, y) {\r\n for (var i = 0; i < paths.length; i++) {\r\n switch (paths[i].type) {\r\n case \"bct\":\r\n paths[i].x2 += x;\r\n paths[i].y2 += y;\r\n case \"qct\":\r\n paths[i].x1 += x;\r\n paths[i].y1 += y;\r\n case \"mt\":\r\n case \"lt\":\r\n case \"arc\":\r\n default:\r\n paths[i].x += x;\r\n paths[i].y += y;\r\n }\r\n }\r\n return paths;\r\n };\r\n\r\n var sortPages = function(pages) {\r\n return pages.sort(function(a, b) {\r\n return a - b;\r\n });\r\n };\r\n\r\n var pathPreProcess = function(rule, isClip) {\r\n var fillStyle = this.fillStyle;\r\n var strokeStyle = this.strokeStyle;\r\n var lineCap = this.lineCap;\r\n var oldLineWidth = this.lineWidth;\r\n var lineWidth = Math.abs(oldLineWidth * this.ctx.transform.scaleX);\r\n var lineJoin = this.lineJoin;\r\n\r\n var origPath = JSON.parse(JSON.stringify(this.path));\r\n var xPath = JSON.parse(JSON.stringify(this.path));\r\n var clipPath;\r\n var tmpPath;\r\n var pages = [];\r\n\r\n for (var i = 0; i < xPath.length; i++) {\r\n if (typeof xPath[i].x !== \"undefined\") {\r\n var page = getPagesByPath.call(this, xPath[i]);\r\n\r\n for (var ii = 0; ii < page.length; ii += 1) {\r\n if (pages.indexOf(page[ii]) === -1) {\r\n pages.push(page[ii]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n for (var j = 0; j < pages.length; j++) {\r\n while (this.pdf.internal.getNumberOfPages() < pages[j]) {\r\n addPage.call(this);\r\n }\r\n }\r\n sortPages(pages);\r\n\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var k = min; k < max + 1; k++) {\r\n this.pdf.setPage(k);\r\n\r\n this.fillStyle = fillStyle;\r\n this.strokeStyle = strokeStyle;\r\n this.lineCap = lineCap;\r\n this.lineWidth = lineWidth;\r\n this.lineJoin = lineJoin;\r\n\r\n var pageWidthMinusMargins =\r\n this.pdf.internal.pageSize.width - this.margin[3] - this.margin[1];\r\n var topMargin = k === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusMargins =\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var previousPageHeightSum =\r\n k === 1 ? 0 : firstPageHeight + (k - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n drawPaths.call(this, rule, true);\r\n this.path = tmpPaths;\r\n }\r\n tmpPath = JSON.parse(JSON.stringify(origPath));\r\n this.path = pathPositionRedo(\r\n tmpPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n if (isClip === false || k === 0) {\r\n const needsClipping = (k > min || k < max) && hasMargins.call(this);\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n drawPaths.call(this, rule, isClip);\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n this.lineWidth = oldLineWidth;\r\n }\r\n } else {\r\n this.lineWidth = lineWidth;\r\n drawPaths.call(this, rule, isClip);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n this.path = origPath;\r\n };\r\n\r\n /**\r\n * Processes the paths\r\n *\r\n * @function\r\n * @param rule {String}\r\n * @param isClip {Boolean}\r\n * @private\r\n * @ignore\r\n */\r\n var drawPaths = function(rule, isClip) {\r\n if (rule === \"stroke\" && !isClip && isStrokeTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n if (rule !== \"stroke\" && !isClip && isFillTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n var moves = [];\r\n\r\n //var alpha = (this.ctx.fillOpacity < 1) ? this.ctx.fillOpacity : this.ctx.globalAlpha;\r\n var delta;\r\n var xPath = this.path;\r\n for (var i = 0; i < xPath.length; i++) {\r\n var pt = xPath[i];\r\n\r\n switch (pt.type) {\r\n case \"begin\":\r\n moves.push({\r\n begin: true\r\n });\r\n break;\r\n\r\n case \"close\":\r\n moves.push({\r\n close: true\r\n });\r\n break;\r\n\r\n case \"mt\":\r\n moves.push({\r\n start: pt,\r\n deltas: [],\r\n abs: []\r\n });\r\n break;\r\n\r\n case \"lt\":\r\n var iii = moves.length;\r\n if (xPath[i - 1] && !isNaN(xPath[i - 1].x)) {\r\n delta = [pt.x - xPath[i - 1].x, pt.y - xPath[i - 1].y];\r\n if (iii > 0) {\r\n for (iii; iii >= 0; iii--) {\r\n if (\r\n moves[iii - 1].close !== true &&\r\n moves[iii - 1].begin !== true\r\n ) {\r\n moves[iii - 1].deltas.push(delta);\r\n moves[iii - 1].abs.push(pt);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n break;\r\n\r\n case \"bct\":\r\n delta = [\r\n pt.x1 - xPath[i - 1].x,\r\n pt.y1 - xPath[i - 1].y,\r\n pt.x2 - xPath[i - 1].x,\r\n pt.y2 - xPath[i - 1].y,\r\n pt.x - xPath[i - 1].x,\r\n pt.y - xPath[i - 1].y\r\n ];\r\n moves[moves.length - 1].deltas.push(delta);\r\n break;\r\n\r\n case \"qct\":\r\n var x1 = xPath[i - 1].x + (2.0 / 3.0) * (pt.x1 - xPath[i - 1].x);\r\n var y1 = xPath[i - 1].y + (2.0 / 3.0) * (pt.y1 - xPath[i - 1].y);\r\n var x2 = pt.x + (2.0 / 3.0) * (pt.x1 - pt.x);\r\n var y2 = pt.y + (2.0 / 3.0) * (pt.y1 - pt.y);\r\n var x3 = pt.x;\r\n var y3 = pt.y;\r\n delta = [\r\n x1 - xPath[i - 1].x,\r\n y1 - xPath[i - 1].y,\r\n x2 - xPath[i - 1].x,\r\n y2 - xPath[i - 1].y,\r\n x3 - xPath[i - 1].x,\r\n y3 - xPath[i - 1].y\r\n ];\r\n moves[moves.length - 1].deltas.push(delta);\r\n break;\r\n\r\n case \"arc\":\r\n moves.push({\r\n deltas: [],\r\n abs: [],\r\n arc: true\r\n });\r\n\r\n if (Array.isArray(moves[moves.length - 1].abs)) {\r\n moves[moves.length - 1].abs.push(pt);\r\n }\r\n break;\r\n }\r\n }\r\n var style;\r\n if (!isClip) {\r\n if (rule === \"stroke\") {\r\n style = \"stroke\";\r\n } else {\r\n style = \"fill\";\r\n }\r\n } else {\r\n style = null;\r\n }\r\n\r\n var began = false;\r\n for (var k = 0; k < moves.length; k++) {\r\n if (moves[k].arc) {\r\n var arcs = moves[k].abs;\r\n\r\n for (var ii = 0; ii < arcs.length; ii++) {\r\n var arc = arcs[ii];\r\n\r\n if (arc.type === \"arc\") {\r\n drawArc.call(\r\n this,\r\n arc.x,\r\n arc.y,\r\n arc.radius,\r\n arc.startAngle,\r\n arc.endAngle,\r\n arc.counterclockwise,\r\n undefined,\r\n isClip,\r\n !began\r\n );\r\n } else {\r\n drawLine.call(this, arc.x, arc.y);\r\n }\r\n began = true;\r\n }\r\n } else if (moves[k].close === true) {\r\n this.pdf.internal.out(\"h\");\r\n began = false;\r\n } else if (moves[k].begin !== true) {\r\n var x = moves[k].start.x;\r\n var y = moves[k].start.y;\r\n drawLines.call(this, moves[k].deltas, x, y);\r\n began = true;\r\n }\r\n }\r\n\r\n if (style) {\r\n putStyle.call(this, style);\r\n }\r\n if (isClip) {\r\n doClip.call(this);\r\n }\r\n };\r\n\r\n var getBaseline = function(y) {\r\n var height =\r\n this.pdf.internal.getFontSize() / this.pdf.internal.scaleFactor;\r\n var descent = height * (this.pdf.internal.getLineHeightFactor() - 1);\r\n switch (this.ctx.textBaseline) {\r\n case \"bottom\":\r\n return y - descent;\r\n case \"top\":\r\n return y + height - descent;\r\n case \"hanging\":\r\n return y + height - 2 * descent;\r\n case \"middle\":\r\n return y + height / 2 - descent;\r\n case \"ideographic\":\r\n // TODO not implemented\r\n return y;\r\n case \"alphabetic\":\r\n default:\r\n return y;\r\n }\r\n };\r\n\r\n var getTextBottom = function(yBaseLine) {\r\n var height =\r\n this.pdf.internal.getFontSize() / this.pdf.internal.scaleFactor;\r\n var descent = height * (this.pdf.internal.getLineHeightFactor() - 1);\r\n return yBaseLine + descent;\r\n };\r\n\r\n Context2D.prototype.createLinearGradient = function createLinearGradient() {\r\n var canvasGradient = function canvasGradient() {};\r\n\r\n canvasGradient.colorStops = [];\r\n canvasGradient.addColorStop = function(offset, color) {\r\n this.colorStops.push([offset, color]);\r\n };\r\n\r\n canvasGradient.getColor = function() {\r\n if (this.colorStops.length === 0) {\r\n return \"#000000\";\r\n }\r\n\r\n return this.colorStops[0][1];\r\n };\r\n\r\n canvasGradient.isCanvasGradient = true;\r\n return canvasGradient;\r\n };\r\n Context2D.prototype.createPattern = function createPattern() {\r\n return this.createLinearGradient();\r\n };\r\n Context2D.prototype.createRadialGradient = function createRadialGradient() {\r\n return this.createLinearGradient();\r\n };\r\n\r\n /**\r\n *\r\n * @param x Edge point X\r\n * @param y Edge point Y\r\n * @param r Radius\r\n * @param a1 start angle\r\n * @param a2 end angle\r\n * @param counterclockwise\r\n * @param style\r\n * @param isClip\r\n */\r\n var drawArc = function(\r\n x,\r\n y,\r\n r,\r\n a1,\r\n a2,\r\n counterclockwise,\r\n style,\r\n isClip,\r\n includeMove\r\n ) {\r\n // http://hansmuller-flex.blogspot.com/2011/10/more-about-approximating-circular-arcs.html\r\n var curves = createArc.call(this, r, a1, a2, counterclockwise);\r\n\r\n for (var i = 0; i < curves.length; i++) {\r\n var curve = curves[i];\r\n if (i === 0) {\r\n if (includeMove) {\r\n doMove.call(this, curve.x1 + x, curve.y1 + y);\r\n } else {\r\n drawLine.call(this, curve.x1 + x, curve.y1 + y);\r\n }\r\n }\r\n drawCurve.call(\r\n this,\r\n x,\r\n y,\r\n curve.x2,\r\n curve.y2,\r\n curve.x3,\r\n curve.y3,\r\n curve.x4,\r\n curve.y4\r\n );\r\n }\r\n\r\n if (!isClip) {\r\n putStyle.call(this, style);\r\n } else {\r\n doClip.call(this);\r\n }\r\n };\r\n\r\n var putStyle = function(style) {\r\n switch (style) {\r\n case \"stroke\":\r\n this.pdf.internal.out(\"S\");\r\n break;\r\n case \"fill\":\r\n this.pdf.internal.out(\"f\");\r\n break;\r\n }\r\n };\r\n\r\n var doClip = function() {\r\n this.pdf.clip();\r\n this.pdf.discardPath();\r\n };\r\n\r\n var doMove = function(x, y) {\r\n this.pdf.internal.out(\r\n getHorizontalCoordinateString(x) +\r\n \" \" +\r\n getVerticalCoordinateString(y) +\r\n \" m\"\r\n );\r\n };\r\n\r\n var putText = function(options) {\r\n var textAlign;\r\n switch (options.align) {\r\n case \"right\":\r\n case \"end\":\r\n textAlign = \"right\";\r\n break;\r\n case \"center\":\r\n textAlign = \"center\";\r\n break;\r\n case \"left\":\r\n case \"start\":\r\n default:\r\n textAlign = \"left\";\r\n break;\r\n }\r\n\r\n var textDimensions = this.pdf.getTextDimensions(options.text);\r\n var yBaseLine = getBaseline.call(this, options.y);\r\n var yBottom = getTextBottom.call(this, yBaseLine);\r\n var yTop = yBottom - textDimensions.h;\r\n\r\n var pt = this.ctx.transform.applyToPoint(new Point(options.x, yBaseLine));\r\n var decomposedTransformationMatrix = this.ctx.transform.decompose();\r\n var matrix = new Matrix();\r\n matrix = matrix.multiply(decomposedTransformationMatrix.translate);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.skew);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.scale);\r\n\r\n var baselineRect = this.ctx.transform.applyToRectangle(\r\n new Rectangle(options.x, yBaseLine, textDimensions.w, textDimensions.h)\r\n );\r\n var textBounds = matrix.applyToRectangle(\r\n new Rectangle(options.x, yTop, textDimensions.w, textDimensions.h)\r\n );\r\n var pageArray = getPagesByPath.call(this, textBounds);\r\n var pages = [];\r\n for (var ii = 0; ii < pageArray.length; ii += 1) {\r\n if (pages.indexOf(pageArray[ii]) === -1) {\r\n pages.push(pageArray[ii]);\r\n }\r\n }\r\n\r\n sortPages(pages);\r\n\r\n var clipPath, oldSize, oldLineWidth;\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var i = min; i < max + 1; i++) {\r\n this.pdf.setPage(i);\r\n\r\n var topMargin = i === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusBottomMargin =\r\n this.pdf.internal.pageSize.height - this.margin[2];\r\n var pageHeightMinusMargins =\r\n pageHeightMinusBottomMargin - this.margin[0];\r\n var pageWidthMinusRightMargin =\r\n this.pdf.internal.pageSize.width - this.margin[1];\r\n var pageWidthMinusMargins = pageWidthMinusRightMargin - this.margin[3];\r\n var previousPageHeightSum =\r\n i === 1 ? 0 : firstPageHeight + (i - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -1 * previousPageHeightSum + topMargin\r\n );\r\n drawPaths.call(this, \"fill\", true);\r\n this.path = tmpPaths;\r\n }\r\n var textBoundsOnPage = pathPositionRedo(\r\n [JSON.parse(JSON.stringify(textBounds))],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n if (options.scale >= 0.01) {\r\n oldSize = this.pdf.internal.getFontSize();\r\n this.pdf.setFontSize(oldSize * options.scale);\r\n oldLineWidth = this.lineWidth;\r\n this.lineWidth = oldLineWidth * options.scale;\r\n }\r\n\r\n var doSlice = this.autoPaging !== \"text\";\r\n\r\n if (\r\n doSlice ||\r\n textBoundsOnPage.y + textBoundsOnPage.h <= pageHeightMinusBottomMargin\r\n ) {\r\n if (\r\n doSlice ||\r\n (textBoundsOnPage.y >= topMargin &&\r\n textBoundsOnPage.x <= pageWidthMinusRightMargin)\r\n ) {\r\n var croppedText = doSlice\r\n ? options.text\r\n : this.pdf.splitTextToSize(\r\n options.text,\r\n options.maxWidth ||\r\n pageWidthMinusRightMargin - textBoundsOnPage.x\r\n )[0];\r\n var baseLineRectOnPage = pathPositionRedo(\r\n [JSON.parse(JSON.stringify(baselineRect))],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum +\r\n topMargin +\r\n this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n const needsClipping =\r\n doSlice && (i > min || i < max) && hasMargins.call(this);\r\n\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n\r\n this.pdf.text(\r\n croppedText,\r\n baseLineRectOnPage.x,\r\n baseLineRectOnPage.y,\r\n {\r\n angle: options.angle,\r\n align: textAlign,\r\n renderingMode: options.renderingMode\r\n }\r\n );\r\n\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n } else {\r\n // This text is the last element of the page, but it got cut off due to the margin\r\n // so we render it in the next page\r\n\r\n if (textBoundsOnPage.y < pageHeightMinusBottomMargin) {\r\n // As a result, all other elements have their y offset increased\r\n this.ctx.prevPageLastElemOffset +=\r\n pageHeightMinusBottomMargin - textBoundsOnPage.y;\r\n }\r\n }\r\n\r\n if (options.scale >= 0.01) {\r\n this.pdf.setFontSize(oldSize);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n }\r\n } else {\r\n if (options.scale >= 0.01) {\r\n oldSize = this.pdf.internal.getFontSize();\r\n this.pdf.setFontSize(oldSize * options.scale);\r\n oldLineWidth = this.lineWidth;\r\n this.lineWidth = oldLineWidth * options.scale;\r\n }\r\n this.pdf.text(options.text, pt.x + this.posX, pt.y + this.posY, {\r\n angle: options.angle,\r\n align: textAlign,\r\n renderingMode: options.renderingMode,\r\n maxWidth: options.maxWidth\r\n });\r\n\r\n if (options.scale >= 0.01) {\r\n this.pdf.setFontSize(oldSize);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n }\r\n };\r\n\r\n var drawLine = function(x, y, prevX, prevY) {\r\n prevX = prevX || 0;\r\n prevY = prevY || 0;\r\n\r\n this.pdf.internal.out(\r\n getHorizontalCoordinateString(x + prevX) +\r\n \" \" +\r\n getVerticalCoordinateString(y + prevY) +\r\n \" l\"\r\n );\r\n };\r\n\r\n var drawLines = function(lines, x, y) {\r\n return this.pdf.lines(lines, x, y, null, null);\r\n };\r\n\r\n var drawCurve = function(x, y, x1, y1, x2, y2, x3, y3) {\r\n this.pdf.internal.out(\r\n [\r\n f2(getHorizontalCoordinate(x1 + x)),\r\n f2(getVerticalCoordinate(y1 + y)),\r\n f2(getHorizontalCoordinate(x2 + x)),\r\n f2(getVerticalCoordinate(y2 + y)),\r\n f2(getHorizontalCoordinate(x3 + x)),\r\n f2(getVerticalCoordinate(y3 + y)),\r\n \"c\"\r\n ].join(\" \")\r\n );\r\n };\r\n\r\n /**\r\n * Return a array of objects that represent bezier curves which approximate the circular arc centered at the origin, from startAngle to endAngle (radians) with the specified radius.\r\n *\r\n * Each bezier curve is an object with four points, where x1,y1 and x4,y4 are the arc's end points and x2,y2 and x3,y3 are the cubic bezier's control points.\r\n * @function createArc\r\n */\r\n var createArc = function(radius, startAngle, endAngle, anticlockwise) {\r\n var EPSILON = 0.00001; // Roughly 1/1000th of a degree, see below\r\n var twoPi = Math.PI * 2;\r\n var halfPi = Math.PI / 2.0;\r\n\r\n while (startAngle > endAngle) {\r\n startAngle = startAngle - twoPi;\r\n }\r\n var totalAngle = Math.abs(endAngle - startAngle);\r\n if (totalAngle < twoPi) {\r\n if (anticlockwise) {\r\n totalAngle = twoPi - totalAngle;\r\n }\r\n }\r\n\r\n // Compute the sequence of arc curves, up to PI/2 at a time.\r\n var curves = [];\r\n\r\n // clockwise or counterclockwise\r\n var sgn = anticlockwise ? -1 : +1;\r\n\r\n var a1 = startAngle;\r\n for (; totalAngle > EPSILON; ) {\r\n var remain = sgn * Math.min(totalAngle, halfPi);\r\n var a2 = a1 + remain;\r\n curves.push(createSmallArc.call(this, radius, a1, a2));\r\n totalAngle -= Math.abs(a2 - a1);\r\n a1 = a2;\r\n }\r\n\r\n return curves;\r\n };\r\n\r\n /**\r\n * Cubic bezier approximation of a circular arc centered at the origin, from (radians) a1 to a2, where a2-a1 < pi/2. The arc's radius is r.\r\n *\r\n * Returns an object with four points, where x1,y1 and x4,y4 are the arc's end points and x2,y2 and x3,y3 are the cubic bezier's control points.\r\n *\r\n * This algorithm is based on the approach described in: A. Riškus, \"Approximation of a Cubic Bezier Curve by Circular Arcs and Vice Versa,\" Information Technology and Control, 35(4), 2006 pp. 371-378.\r\n */\r\n var createSmallArc = function(r, a1, a2) {\r\n var a = (a2 - a1) / 2.0;\r\n\r\n var x4 = r * Math.cos(a);\r\n var y4 = r * Math.sin(a);\r\n var x1 = x4;\r\n var y1 = -y4;\r\n\r\n var q1 = x1 * x1 + y1 * y1;\r\n var q2 = q1 + x1 * x4 + y1 * y4;\r\n var k2 = ((4 / 3) * (Math.sqrt(2 * q1 * q2) - q2)) / (x1 * y4 - y1 * x4);\r\n\r\n var x2 = x1 - k2 * y1;\r\n var y2 = y1 + k2 * x1;\r\n var x3 = x2;\r\n var y3 = -y2;\r\n\r\n var ar = a + a1;\r\n var cos_ar = Math.cos(ar);\r\n var sin_ar = Math.sin(ar);\r\n\r\n return {\r\n x1: r * Math.cos(a1),\r\n y1: r * Math.sin(a1),\r\n x2: x2 * cos_ar - y2 * sin_ar,\r\n y2: x2 * sin_ar + y2 * cos_ar,\r\n x3: x3 * cos_ar - y3 * sin_ar,\r\n y3: x3 * sin_ar + y3 * cos_ar,\r\n x4: r * Math.cos(a2),\r\n y4: r * Math.sin(a2)\r\n };\r\n };\r\n\r\n var rad2deg = function(value) {\r\n return (value * 180) / Math.PI;\r\n };\r\n\r\n var getQuadraticCurveBoundary = function(sx, sy, cpx, cpy, ex, ey) {\r\n var midX1 = sx + (cpx - sx) * 0.5;\r\n var midY1 = sy + (cpy - sy) * 0.5;\r\n var midX2 = ex + (cpx - ex) * 0.5;\r\n var midY2 = ey + (cpy - ey) * 0.5;\r\n var resultX1 = Math.min(sx, ex, midX1, midX2);\r\n var resultX2 = Math.max(sx, ex, midX1, midX2);\r\n var resultY1 = Math.min(sy, ey, midY1, midY2);\r\n var resultY2 = Math.max(sy, ey, midY1, midY2);\r\n return new Rectangle(\r\n resultX1,\r\n resultY1,\r\n resultX2 - resultX1,\r\n resultY2 - resultY1\r\n );\r\n };\r\n\r\n //De Casteljau algorithm\r\n var getBezierCurveBoundary = function(ax, ay, bx, by, cx, cy, dx, dy) {\r\n var tobx = bx - ax;\r\n var toby = by - ay;\r\n var tocx = cx - bx;\r\n var tocy = cy - by;\r\n var todx = dx - cx;\r\n var tody = dy - cy;\r\n var precision = 40;\r\n var d,\r\n i,\r\n px,\r\n py,\r\n qx,\r\n qy,\r\n rx,\r\n ry,\r\n tx,\r\n ty,\r\n sx,\r\n sy,\r\n x,\r\n y,\r\n minx,\r\n miny,\r\n maxx,\r\n maxy,\r\n toqx,\r\n toqy,\r\n torx,\r\n tory,\r\n totx,\r\n toty;\r\n for (i = 0; i < precision + 1; i++) {\r\n d = i / precision;\r\n px = ax + d * tobx;\r\n py = ay + d * toby;\r\n qx = bx + d * tocx;\r\n qy = by + d * tocy;\r\n rx = cx + d * todx;\r\n ry = cy + d * tody;\r\n toqx = qx - px;\r\n toqy = qy - py;\r\n torx = rx - qx;\r\n tory = ry - qy;\r\n\r\n sx = px + d * toqx;\r\n sy = py + d * toqy;\r\n tx = qx + d * torx;\r\n ty = qy + d * tory;\r\n totx = tx - sx;\r\n toty = ty - sy;\r\n\r\n x = sx + d * totx;\r\n y = sy + d * toty;\r\n if (i == 0) {\r\n minx = x;\r\n miny = y;\r\n maxx = x;\r\n maxy = y;\r\n } else {\r\n minx = Math.min(minx, x);\r\n miny = Math.min(miny, y);\r\n maxx = Math.max(maxx, x);\r\n maxy = Math.max(maxy, y);\r\n }\r\n }\r\n return new Rectangle(\r\n Math.round(minx),\r\n Math.round(miny),\r\n Math.round(maxx - minx),\r\n Math.round(maxy - miny)\r\n );\r\n };\r\n\r\n var getPrevLineDashValue = function(lineDash, lineDashOffset) {\r\n return JSON.stringify({\r\n lineDash: lineDash,\r\n lineDashOffset: lineDashOffset\r\n });\r\n };\r\n\r\n var setLineDash = function() {\r\n // Avoid unnecessary line dash declarations.\r\n if (\r\n !this.prevLineDash &&\r\n !this.ctx.lineDash.length &&\r\n !this.ctx.lineDashOffset\r\n ) {\r\n return;\r\n }\r\n\r\n // Avoid unnecessary line dash declarations.\r\n const nextLineDash = getPrevLineDashValue(\r\n this.ctx.lineDash,\r\n this.ctx.lineDashOffset\r\n );\r\n if (this.prevLineDash !== nextLineDash) {\r\n this.pdf.setLineDash(this.ctx.lineDash, this.ctx.lineDashOffset);\r\n this.prevLineDash = nextLineDash;\r\n }\r\n };\r\n})(jsPDF.API);\r\n","/**\n * @license\n * jsPDF filters PlugIn\n * Copyright (c) 2014 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { zlibSync } from \"../libs/fflate.js\";\n\n(function(jsPDFAPI) {\n \"use strict\";\n\n var ASCII85Encode = function(a) {\n var b, c, d, e, f, g, h, i, j, k;\n // eslint-disable-next-line no-control-regex\n for (\n !/[^\\x00-\\xFF]/.test(a),\n b = \"\\x00\\x00\\x00\\x00\".slice(a.length % 4 || 4),\n a += b,\n c = [],\n d = 0,\n e = a.length;\n e > d;\n d += 4\n )\n (f =\n (a.charCodeAt(d) << 24) +\n (a.charCodeAt(d + 1) << 16) +\n (a.charCodeAt(d + 2) << 8) +\n a.charCodeAt(d + 3)),\n 0 !== f\n ? ((k = f % 85),\n (f = (f - k) / 85),\n (j = f % 85),\n (f = (f - j) / 85),\n (i = f % 85),\n (f = (f - i) / 85),\n (h = f % 85),\n (f = (f - h) / 85),\n (g = f % 85),\n c.push(g + 33, h + 33, i + 33, j + 33, k + 33))\n : c.push(122);\n return (\n (function(a, b) {\n for (var c = b; c > 0; c--) a.pop();\n })(c, b.length),\n String.fromCharCode.apply(String, c) + \"~>\"\n );\n };\n\n var ASCII85Decode = function(a) {\n var c,\n d,\n e,\n f,\n g,\n h = String,\n l = \"length\",\n w = 255,\n x = \"charCodeAt\",\n y = \"slice\",\n z = \"replace\";\n for (\n \"~>\" === a[y](-2),\n a = a[y](0, -2)\n [z](/\\s/g, \"\")\n [z](\"z\", \"!!!!!\"),\n c = \"uuuuu\"[y](a[l] % 5 || 5),\n a += c,\n e = [],\n f = 0,\n g = a[l];\n g > f;\n f += 5\n )\n (d =\n 52200625 * (a[x](f) - 33) +\n 614125 * (a[x](f + 1) - 33) +\n 7225 * (a[x](f + 2) - 33) +\n 85 * (a[x](f + 3) - 33) +\n (a[x](f + 4) - 33)),\n e.push(w & (d >> 24), w & (d >> 16), w & (d >> 8), w & d);\n return (\n (function(a, b) {\n for (var c = b; c > 0; c--) a.pop();\n })(e, c[l]),\n h.fromCharCode.apply(h, e)\n );\n };\n\n var ASCIIHexEncode = function(value) {\n return (\n value\n .split(\"\")\n .map(function(value) {\n return (\"0\" + value.charCodeAt().toString(16)).slice(-2);\n })\n .join(\"\") + \">\"\n );\n };\n\n var ASCIIHexDecode = function(value) {\n var regexCheckIfHex = new RegExp(/^([0-9A-Fa-f]{2})+$/);\n value = value.replace(/\\s/g, \"\");\n if (value.indexOf(\">\") !== -1) {\n value = value.substr(0, value.indexOf(\">\"));\n }\n if (value.length % 2) {\n value += \"0\";\n }\n if (regexCheckIfHex.test(value) === false) {\n return \"\";\n }\n var result = \"\";\n for (var i = 0; i < value.length; i += 2) {\n result += String.fromCharCode(\"0x\" + (value[i] + value[i + 1]));\n }\n return result;\n };\n /*\n var FlatePredictors = {\n None: 1,\n TIFF: 2,\n PNG_None: 10,\n PNG_Sub: 11,\n PNG_Up: 12,\n PNG_Average: 13,\n PNG_Paeth: 14,\n PNG_Optimum: 15\n };\n */\n\n var FlateEncode = function(data) {\n var arr = new Uint8Array(data.length);\n var i = data.length;\n while (i--) {\n arr[i] = data.charCodeAt(i);\n }\n arr = zlibSync(arr);\n data = arr.reduce(function(data, byte) {\n return data + String.fromCharCode(byte);\n }, \"\");\n return data;\n };\n\n jsPDFAPI.processDataByFilters = function(origData, filterChain) {\n \"use strict\";\n var i = 0;\n var data = origData || \"\";\n var reverseChain = [];\n filterChain = filterChain || [];\n\n if (typeof filterChain === \"string\") {\n filterChain = [filterChain];\n }\n\n for (i = 0; i < filterChain.length; i += 1) {\n switch (filterChain[i]) {\n case \"ASCII85Decode\":\n case \"/ASCII85Decode\":\n data = ASCII85Decode(data);\n reverseChain.push(\"/ASCII85Encode\");\n break;\n case \"ASCII85Encode\":\n case \"/ASCII85Encode\":\n data = ASCII85Encode(data);\n reverseChain.push(\"/ASCII85Decode\");\n break;\n case \"ASCIIHexDecode\":\n case \"/ASCIIHexDecode\":\n data = ASCIIHexDecode(data);\n reverseChain.push(\"/ASCIIHexEncode\");\n break;\n case \"ASCIIHexEncode\":\n case \"/ASCIIHexEncode\":\n data = ASCIIHexEncode(data);\n reverseChain.push(\"/ASCIIHexDecode\");\n break;\n case \"FlateEncode\":\n case \"/FlateEncode\":\n data = FlateEncode(data);\n reverseChain.push(\"/FlateDecode\");\n break;\n default:\n throw new Error(\n 'The filter: \"' + filterChain[i] + '\" is not implemented'\n );\n }\n }\n\n return { data: data, reverseChain: reverseChain.reverse().join(\" \") };\n };\n})(jsPDF.API);\n","/**\n * @license\n * jsPDF fileloading PlugIn\n * Copyright (c) 2018 Aras Abbasi (aras.abbasi@gmail.com)\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name fileloading\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * @name loadFile\n * @function\n * @param {string} url\n * @param {boolean} sync\n * @param {function} callback\n * @returns {string|undefined} result\n */\n jsPDFAPI.loadFile = function(url, sync, callback) {\n return browserRequest(url, sync, callback);\n\n };\n\n /**\n * @name loadImageFile\n * @function\n * @param {string} path\n * @param {boolean} sync\n * @param {function} callback\n */\n jsPDFAPI.loadImageFile = jsPDFAPI.loadFile;\n\n function browserRequest(url, sync, callback) {\n sync = sync === false ? false : true;\n callback = typeof callback === \"function\" ? callback : function() {};\n var result = undefined;\n\n var xhr = function(url, sync, callback) {\n var request = new XMLHttpRequest();\n var i = 0;\n\n var sanitizeUnicode = function(data) {\n var dataLength = data.length;\n var charArray = [];\n var StringFromCharCode = String.fromCharCode;\n\n //Transform Unicode to ASCII\n for (i = 0; i < dataLength; i += 1) {\n charArray.push(StringFromCharCode(data.charCodeAt(i) & 0xff));\n }\n return charArray.join(\"\");\n };\n\n request.open(\"GET\", url, !sync);\n // XHR binary charset opt by Marcus Granado 2006 [http://mgran.blogspot.com]\n request.overrideMimeType(\"text/plain; charset=x-user-defined\");\n\n if (sync === false) {\n request.onload = function() {\n if (request.status === 200) {\n callback(sanitizeUnicode(this.responseText));\n } else {\n callback(undefined);\n }\n };\n }\n request.send(null);\n\n if (sync && request.status === 200) {\n return sanitizeUnicode(request.responseText);\n }\n };\n try {\n result = xhr(url, sync, callback);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n return result;\n }\n\n function nodeReadFile(url, sync, callback) {\n sync = sync === false ? false : true;\n var result = undefined;\n\n var fs = require(\"fs\");\n var path = require(\"path\");\n\n url = path.resolve(url);\n if (sync) {\n try {\n result = fs.readFileSync(url, { encoding: \"latin1\" });\n } catch (e) {\n return undefined;\n }\n } else {\n fs.readFile(url, { encoding: \"latin1\" }, function(err, data) {\n if (!callback) {\n return;\n }\n if (err) {\n callback(undefined);\n }\n callback(data);\n });\n }\n\n return result;\n }\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2018 Erik Koopmans\n * Released under the MIT License.\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { normalizeFontFace } from \"../libs/fontFace.js\";\nimport { globalObject } from \"../libs/globalObject.js\";\n\n/**\n * jsPDF html PlugIn\n *\n * @name html\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n function loadHtml2Canvas() {\n return (function() {\n if (globalObject[\"html2canvas\"]) {\n return Promise.resolve(globalObject[\"html2canvas\"]);\n }\n\n return import(\"html2canvas\");\n\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load html2canvas: \" + e));\n })\n .then(function(html2canvas) {\n return html2canvas.default ? html2canvas.default : html2canvas;\n });\n }\n\n function loadDomPurify() {\n return (function() {\n if (globalObject[\"DOMPurify\"]) {\n return Promise.resolve(globalObject[\"DOMPurify\"]);\n }\n\n return import(\"dompurify\");\n\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load dompurify: \" + e));\n })\n .then(function(dompurify) {\n return dompurify.default ? dompurify.default : dompurify;\n });\n }\n\n /**\n * Determine the type of a variable/object.\n *\n * @private\n * @ignore\n */\n var objType = function(obj) {\n var type = typeof obj;\n if (type === \"undefined\") return \"undefined\";\n else if (type === \"string\" || obj instanceof String) return \"string\";\n else if (type === \"number\" || obj instanceof Number) return \"number\";\n else if (type === \"function\" || obj instanceof Function) return \"function\";\n else if (!!obj && obj.constructor === Array) return \"array\";\n else if (obj && obj.nodeType === 1) return \"element\";\n else if (type === \"object\") return \"object\";\n else return \"unknown\";\n };\n\n /**\n * Create an HTML element with optional className, innerHTML, and style.\n *\n * @private\n * @ignore\n */\n var createElement = function(tagName, opt) {\n var el = document.createElement(tagName);\n if (opt.className) el.className = opt.className;\n if (opt.innerHTML && opt.dompurify) {\n el.innerHTML = opt.dompurify.sanitize(opt.innerHTML);\n }\n for (var key in opt.style) {\n el.style[key] = opt.style[key];\n }\n return el;\n };\n\n /**\n * Deep-clone a node and preserve contents/properties.\n *\n * @private\n * @ignore\n */\n var cloneNode = function(node, javascriptEnabled) {\n // Recursively clone the node.\n var clone =\n node.nodeType === 3\n ? document.createTextNode(node.nodeValue)\n : node.cloneNode(false);\n for (var child = node.firstChild; child; child = child.nextSibling) {\n if (\n javascriptEnabled === true ||\n child.nodeType !== 1 ||\n child.nodeName !== \"SCRIPT\"\n ) {\n clone.appendChild(cloneNode(child, javascriptEnabled));\n }\n }\n\n if (node.nodeType === 1) {\n // Preserve contents/properties of special nodes.\n if (node.nodeName === \"CANVAS\") {\n clone.width = node.width;\n clone.height = node.height;\n clone.getContext(\"2d\").drawImage(node, 0, 0);\n } else if (node.nodeName === \"TEXTAREA\" || node.nodeName === \"SELECT\") {\n clone.value = node.value;\n }\n\n // Preserve the node's scroll position when it loads.\n clone.addEventListener(\n \"load\",\n function() {\n clone.scrollTop = node.scrollTop;\n clone.scrollLeft = node.scrollLeft;\n },\n true\n );\n }\n\n // Return the cloned node.\n return clone;\n };\n\n /* ----- CONSTRUCTOR ----- */\n\n var Worker = function Worker(opt) {\n // Create the root parent for the proto chain, and the starting Worker.\n var root = Object.assign(\n Worker.convert(Promise.resolve()),\n JSON.parse(JSON.stringify(Worker.template))\n );\n var self = Worker.convert(Promise.resolve(), root);\n\n // Set progress, optional settings, and return.\n self = self.setProgress(1, Worker, 1, [Worker]);\n self = self.set(opt);\n return self;\n };\n\n // Boilerplate for subclassing Promise.\n Worker.prototype = Object.create(Promise.prototype);\n Worker.prototype.constructor = Worker;\n\n // Converts/casts promises into Workers.\n Worker.convert = function convert(promise, inherit) {\n // Uses prototypal inheritance to receive changes made to ancestors' properties.\n promise.__proto__ = inherit || Worker.prototype;\n return promise;\n };\n\n Worker.template = {\n prop: {\n src: null,\n container: null,\n overlay: null,\n canvas: null,\n img: null,\n pdf: null,\n pageSize: null,\n callback: function() {}\n },\n progress: {\n val: 0,\n state: null,\n n: 0,\n stack: []\n },\n opt: {\n filename: \"file.pdf\",\n margin: [0, 0, 0, 0],\n enableLinks: true,\n x: 0,\n y: 0,\n html2canvas: {},\n jsPDF: {},\n backgroundColor: \"transparent\"\n }\n };\n\n /* ----- FROM / TO ----- */\n\n Worker.prototype.from = function from(src, type) {\n function getType(src) {\n switch (objType(src)) {\n case \"string\":\n return \"string\";\n case \"element\":\n return src.nodeName.toLowerCase() === \"canvas\" ? \"canvas\" : \"element\";\n default:\n return \"unknown\";\n }\n }\n\n return this.then(function from_main() {\n type = type || getType(src);\n switch (type) {\n case \"string\":\n return this.then(loadDomPurify).then(function(dompurify) {\n return this.set({\n src: createElement(\"div\", {\n innerHTML: src,\n dompurify: dompurify\n })\n });\n });\n case \"element\":\n return this.set({ src: src });\n case \"canvas\":\n return this.set({ canvas: src });\n case \"img\":\n return this.set({ img: src });\n default:\n return this.error(\"Unknown source type.\");\n }\n });\n };\n\n Worker.prototype.to = function to(target) {\n // Route the 'to' request to the appropriate method.\n switch (target) {\n case \"container\":\n return this.toContainer();\n case \"canvas\":\n return this.toCanvas();\n case \"img\":\n return this.toImg();\n case \"pdf\":\n return this.toPdf();\n default:\n return this.error(\"Invalid target.\");\n }\n };\n\n Worker.prototype.toContainer = function toContainer() {\n // Set up function prerequisites.\n var prereqs = [\n function checkSrc() {\n return (\n this.prop.src || this.error(\"Cannot duplicate - no source HTML.\")\n );\n },\n function checkPageSize() {\n return this.prop.pageSize || this.setPageSize();\n }\n ];\n return this.thenList(prereqs).then(function toContainer_main() {\n // Define the CSS styles for the container and its overlay parent.\n var overlayCSS = {\n position: \"fixed\",\n overflow: \"hidden\",\n zIndex: 1000,\n left: \"-100000px\",\n right: 0,\n bottom: 0,\n top: 0\n };\n var containerCSS = {\n position: \"relative\",\n display: \"inline-block\",\n width:\n (typeof this.opt.width === \"number\" &&\n !isNaN(this.opt.width) &&\n typeof this.opt.windowWidth === \"number\" &&\n !isNaN(this.opt.windowWidth)\n ? this.opt.windowWidth\n : Math.max(\n this.prop.src.clientWidth,\n this.prop.src.scrollWidth,\n this.prop.src.offsetWidth\n )) + \"px\",\n left: 0,\n right: 0,\n top: 0,\n margin: \"auto\",\n backgroundColor: this.opt.backgroundColor\n }; // Set the overlay to hidden (could be changed in the future to provide a print preview).\n\n var source = cloneNode(\n this.prop.src,\n this.opt.html2canvas.javascriptEnabled\n );\n\n if (source.tagName === \"BODY\") {\n containerCSS.height =\n Math.max(\n document.body.scrollHeight,\n document.body.offsetHeight,\n document.documentElement.clientHeight,\n document.documentElement.scrollHeight,\n document.documentElement.offsetHeight\n ) + \"px\";\n }\n\n this.prop.overlay = createElement(\"div\", {\n className: \"html2pdf__overlay\",\n style: overlayCSS\n });\n this.prop.container = createElement(\"div\", {\n className: \"html2pdf__container\",\n style: containerCSS\n });\n this.prop.container.appendChild(source);\n this.prop.container.firstChild.appendChild(\n createElement(\"div\", {\n style: {\n clear: \"both\",\n border: \"0 none transparent\",\n margin: 0,\n padding: 0,\n height: 0\n }\n })\n );\n this.prop.container.style.float = \"none\";\n this.prop.overlay.appendChild(this.prop.container);\n document.body.appendChild(this.prop.overlay);\n this.prop.container.firstChild.style.position = \"relative\";\n this.prop.container.height =\n Math.max(\n this.prop.container.firstChild.clientHeight,\n this.prop.container.firstChild.scrollHeight,\n this.prop.container.firstChild.offsetHeight\n ) + \"px\";\n });\n };\n\n Worker.prototype.toCanvas = function toCanvas() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContainer() {\n return (\n document.body.contains(this.prop.container) || this.toContainer()\n );\n }\n ];\n\n // Fulfill prereqs then create the canvas.\n return this.thenList(prereqs)\n .then(loadHtml2Canvas)\n .then(function toCanvas_main(html2canvas) {\n // Handle old-fashioned 'onrendered' argument.\n var options = Object.assign({}, this.opt.html2canvas);\n delete options.onrendered;\n\n return html2canvas(this.prop.container, options);\n })\n .then(function toCanvas_post(canvas) {\n // Handle old-fashioned 'onrendered' argument.\n var onRendered = this.opt.html2canvas.onrendered || function() {};\n onRendered(canvas);\n\n this.prop.canvas = canvas;\n document.body.removeChild(this.prop.overlay);\n });\n };\n\n Worker.prototype.toContext2d = function toContext2d() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContainer() {\n return (\n document.body.contains(this.prop.container) || this.toContainer()\n );\n }\n ];\n\n // Fulfill prereqs then create the canvas.\n return this.thenList(prereqs)\n .then(loadHtml2Canvas)\n .then(function toContext2d_main(html2canvas) {\n // Handle old-fashioned 'onrendered' argument.\n\n var pdf = this.opt.jsPDF;\n var fontFaces = this.opt.fontFaces;\n\n var scale =\n typeof this.opt.width === \"number\" &&\n !isNaN(this.opt.width) &&\n typeof this.opt.windowWidth === \"number\" &&\n !isNaN(this.opt.windowWidth)\n ? this.opt.width / this.opt.windowWidth\n : 1;\n\n var options = Object.assign(\n {\n async: true,\n allowTaint: true,\n scale: scale,\n scrollX: this.opt.scrollX || 0,\n scrollY: this.opt.scrollY || 0,\n backgroundColor: \"#ffffff\",\n imageTimeout: 15000,\n logging: true,\n proxy: null,\n removeContainer: true,\n foreignObjectRendering: false,\n useCORS: false\n },\n this.opt.html2canvas\n );\n delete options.onrendered;\n\n pdf.context2d.autoPaging =\n typeof this.opt.autoPaging === \"undefined\"\n ? true\n : this.opt.autoPaging;\n pdf.context2d.posX = this.opt.x;\n pdf.context2d.posY = this.opt.y;\n pdf.context2d.margin = this.opt.margin;\n pdf.context2d.fontFaces = fontFaces;\n\n if (fontFaces) {\n for (var i = 0; i < fontFaces.length; ++i) {\n var font = fontFaces[i];\n var src = font.src.find(function(src) {\n return src.format === \"truetype\";\n });\n\n if (src) {\n pdf.addFont(src.url, font.ref.name, font.ref.style);\n }\n }\n }\n\n options.windowHeight = options.windowHeight || 0;\n options.windowHeight =\n options.windowHeight == 0\n ? Math.max(\n this.prop.container.clientHeight,\n this.prop.container.scrollHeight,\n this.prop.container.offsetHeight\n )\n : options.windowHeight;\n\n pdf.context2d.save(true);\n return html2canvas(this.prop.container, options);\n })\n .then(function toContext2d_post(canvas) {\n this.opt.jsPDF.context2d.restore(true);\n\n // Handle old-fashioned 'onrendered' argument.\n var onRendered = this.opt.html2canvas.onrendered || function() {};\n onRendered(canvas);\n\n this.prop.canvas = canvas;\n document.body.removeChild(this.prop.overlay);\n });\n };\n\n Worker.prototype.toImg = function toImg() {\n // Set up function prerequisites.\n var prereqs = [\n function checkCanvas() {\n return this.prop.canvas || this.toCanvas();\n }\n ];\n\n // Fulfill prereqs then create the image.\n return this.thenList(prereqs).then(function toImg_main() {\n var imgData = this.prop.canvas.toDataURL(\n \"image/\" + this.opt.image.type,\n this.opt.image.quality\n );\n this.prop.img = document.createElement(\"img\");\n this.prop.img.src = imgData;\n });\n };\n\n Worker.prototype.toPdf = function toPdf() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContext2d() {\n return this.toContext2d();\n }\n //function checkCanvas() { return this.prop.canvas || this.toCanvas(); }\n ];\n\n // Fulfill prereqs then create the image.\n return this.thenList(prereqs).then(function toPdf_main() {\n // Create local copies of frequently used properties.\n this.prop.pdf = this.prop.pdf || this.opt.jsPDF;\n });\n };\n\n /* ----- OUTPUT / SAVE ----- */\n\n Worker.prototype.output = function output(type, options, src) {\n // Redirect requests to the correct function (outputPdf / outputImg).\n src = src || \"pdf\";\n if (src.toLowerCase() === \"img\" || src.toLowerCase() === \"image\") {\n return this.outputImg(type, options);\n } else {\n return this.outputPdf(type, options);\n }\n };\n\n Worker.prototype.outputPdf = function outputPdf(type, options) {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs then perform the appropriate output.\n return this.thenList(prereqs).then(function outputPdf_main() {\n /* Currently implemented output types:\n * https://rawgit.com/MrRio/jsPDF/master/docs/jspdf.js.html#line992\n * save(options), arraybuffer, blob, bloburi/bloburl,\n * datauristring/dataurlstring, dataurlnewwindow, datauri/dataurl\n */\n return this.prop.pdf.output(type, options);\n });\n };\n\n Worker.prototype.outputImg = function outputImg(type) {\n // Set up function prerequisites.\n var prereqs = [\n function checkImg() {\n return this.prop.img || this.toImg();\n }\n ];\n\n // Fulfill prereqs then perform the appropriate output.\n return this.thenList(prereqs).then(function outputImg_main() {\n switch (type) {\n case undefined:\n case \"img\":\n return this.prop.img;\n case \"datauristring\":\n case \"dataurlstring\":\n return this.prop.img.src;\n case \"datauri\":\n case \"dataurl\":\n return (document.location.href = this.prop.img.src);\n default:\n throw 'Image output type \"' + type + '\" is not supported.';\n }\n });\n };\n\n Worker.prototype.save = function save(filename) {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs, update the filename (if provided), and save the PDF.\n return this.thenList(prereqs)\n .set(filename ? { filename: filename } : null)\n .then(function save_main() {\n this.prop.pdf.save(this.opt.filename);\n });\n };\n\n Worker.prototype.doCallback = function doCallback() {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs, update the filename (if provided), and save the PDF.\n return this.thenList(prereqs).then(function doCallback_main() {\n this.prop.callback(this.prop.pdf);\n });\n };\n\n /* ----- SET / GET ----- */\n\n Worker.prototype.set = function set(opt) {\n // TODO: Implement ordered pairs?\n\n // Silently ignore invalid or empty input.\n if (objType(opt) !== \"object\") {\n return this;\n }\n\n // Build an array of setter functions to queue.\n var fns = Object.keys(opt || {}).map(function(key) {\n if (key in Worker.template.prop) {\n // Set pre-defined properties.\n return function set_prop() {\n this.prop[key] = opt[key];\n };\n } else {\n switch (key) {\n case \"margin\":\n return this.setMargin.bind(this, opt.margin);\n case \"jsPDF\":\n return function set_jsPDF() {\n this.opt.jsPDF = opt.jsPDF;\n return this.setPageSize();\n };\n case \"pageSize\":\n return this.setPageSize.bind(this, opt.pageSize);\n default:\n // Set any other properties in opt.\n return function set_opt() {\n this.opt[key] = opt[key];\n };\n }\n }\n }, this);\n\n // Set properties within the promise chain.\n return this.then(function set_main() {\n return this.thenList(fns);\n });\n };\n\n Worker.prototype.get = function get(key, cbk) {\n return this.then(function get_main() {\n // Fetch the requested property, either as a predefined prop or in opt.\n var val = key in Worker.template.prop ? this.prop[key] : this.opt[key];\n return cbk ? cbk(val) : val;\n });\n };\n\n Worker.prototype.setMargin = function setMargin(margin) {\n return this.then(function setMargin_main() {\n // Parse the margin property.\n switch (objType(margin)) {\n case \"number\":\n margin = [margin, margin, margin, margin];\n // eslint-disable-next-line no-fallthrough\n case \"array\":\n if (margin.length === 2) {\n margin = [margin[0], margin[1], margin[0], margin[1]];\n }\n if (margin.length === 4) {\n break;\n }\n // eslint-disable-next-line no-fallthrough\n default:\n return this.error(\"Invalid margin array.\");\n }\n\n // Set the margin property, then update pageSize.\n this.opt.margin = margin;\n }).then(this.setPageSize);\n };\n\n Worker.prototype.setPageSize = function setPageSize(pageSize) {\n function toPx(val, k) {\n return Math.floor(((val * k) / 72) * 96);\n }\n\n return this.then(function setPageSize_main() {\n // Retrieve page-size based on jsPDF settings, if not explicitly provided.\n pageSize = pageSize || jsPDF.getPageSize(this.opt.jsPDF);\n\n // Add 'inner' field if not present.\n if (!pageSize.hasOwnProperty(\"inner\")) {\n pageSize.inner = {\n width: pageSize.width - this.opt.margin[1] - this.opt.margin[3],\n height: pageSize.height - this.opt.margin[0] - this.opt.margin[2]\n };\n pageSize.inner.px = {\n width: toPx(pageSize.inner.width, pageSize.k),\n height: toPx(pageSize.inner.height, pageSize.k)\n };\n pageSize.inner.ratio = pageSize.inner.height / pageSize.inner.width;\n }\n\n // Attach pageSize to this.\n this.prop.pageSize = pageSize;\n });\n };\n\n Worker.prototype.setProgress = function setProgress(val, state, n, stack) {\n // Immediately update all progress values.\n if (val != null) this.progress.val = val;\n if (state != null) this.progress.state = state;\n if (n != null) this.progress.n = n;\n if (stack != null) this.progress.stack = stack;\n this.progress.ratio = this.progress.val / this.progress.state;\n\n // Return this for command chaining.\n return this;\n };\n\n Worker.prototype.updateProgress = function updateProgress(\n val,\n state,\n n,\n stack\n ) {\n // Immediately update all progress values, using setProgress.\n return this.setProgress(\n val ? this.progress.val + val : null,\n state ? state : null,\n n ? this.progress.n + n : null,\n stack ? this.progress.stack.concat(stack) : null\n );\n };\n\n /* ----- PROMISE MAPPING ----- */\n\n Worker.prototype.then = function then(onFulfilled, onRejected) {\n // Wrap `this` for encapsulation.\n var self = this;\n\n return this.thenCore(onFulfilled, onRejected, function then_main(\n onFulfilled,\n onRejected\n ) {\n // Update progress while queuing, calling, and resolving `then`.\n self.updateProgress(null, null, 1, [onFulfilled]);\n return Promise.prototype.then\n .call(this, function then_pre(val) {\n self.updateProgress(null, onFulfilled);\n return val;\n })\n .then(onFulfilled, onRejected)\n .then(function then_post(val) {\n self.updateProgress(1);\n return val;\n });\n });\n };\n\n Worker.prototype.thenCore = function thenCore(\n onFulfilled,\n onRejected,\n thenBase\n ) {\n // Handle optional thenBase parameter.\n thenBase = thenBase || Promise.prototype.then;\n\n // Wrap `this` for encapsulation and bind it to the promise handlers.\n var self = this;\n if (onFulfilled) {\n onFulfilled = onFulfilled.bind(self);\n }\n if (onRejected) {\n onRejected = onRejected.bind(self);\n }\n\n // Cast self into a Promise to avoid polyfills recursively defining `then`.\n var isNative =\n Promise.toString().indexOf(\"[native code]\") !== -1 &&\n Promise.name === \"Promise\";\n var selfPromise = isNative\n ? self\n : Worker.convert(Object.assign({}, self), Promise.prototype);\n\n // Return the promise, after casting it into a Worker and preserving props.\n var returnVal = thenBase.call(selfPromise, onFulfilled, onRejected);\n return Worker.convert(returnVal, self.__proto__);\n };\n\n Worker.prototype.thenExternal = function thenExternal(\n onFulfilled,\n onRejected\n ) {\n // Call `then` and return a standard promise (exits the Worker chain).\n return Promise.prototype.then.call(this, onFulfilled, onRejected);\n };\n\n Worker.prototype.thenList = function thenList(fns) {\n // Queue a series of promise 'factories' into the promise chain.\n var self = this;\n fns.forEach(function thenList_forEach(fn) {\n self = self.thenCore(fn);\n });\n return self;\n };\n\n Worker.prototype[\"catch\"] = function(onRejected) {\n // Bind `this` to the promise handler, call `catch`, and return a Worker.\n if (onRejected) {\n onRejected = onRejected.bind(this);\n }\n var returnVal = Promise.prototype[\"catch\"].call(this, onRejected);\n return Worker.convert(returnVal, this);\n };\n\n Worker.prototype.catchExternal = function catchExternal(onRejected) {\n // Call `catch` and return a standard promise (exits the Worker chain).\n return Promise.prototype[\"catch\"].call(this, onRejected);\n };\n\n Worker.prototype.error = function error(msg) {\n // Throw the error in the Promise chain.\n return this.then(function error_main() {\n throw new Error(msg);\n });\n };\n\n /* ----- ALIASES ----- */\n\n Worker.prototype.using = Worker.prototype.set;\n Worker.prototype.saveAs = Worker.prototype.save;\n Worker.prototype.export = Worker.prototype.output;\n Worker.prototype.run = Worker.prototype.then;\n\n // Get dimensions of a PDF page, as determined by jsPDF.\n jsPDF.getPageSize = function(orientation, unit, format) {\n // Decode options object\n if (typeof orientation === \"object\") {\n var options = orientation;\n orientation = options.orientation;\n unit = options.unit || unit;\n format = options.format || format;\n }\n\n // Default options\n unit = unit || \"mm\";\n format = format || \"a4\";\n orientation = (\"\" + (orientation || \"P\")).toLowerCase();\n var format_as_string = (\"\" + format).toLowerCase();\n\n // Size in pt of various paper formats\n var pageFormats = {\n a0: [2383.94, 3370.39],\n a1: [1683.78, 2383.94],\n a2: [1190.55, 1683.78],\n a3: [841.89, 1190.55],\n a4: [595.28, 841.89],\n a5: [419.53, 595.28],\n a6: [297.64, 419.53],\n a7: [209.76, 297.64],\n a8: [147.4, 209.76],\n a9: [104.88, 147.4],\n a10: [73.7, 104.88],\n b0: [2834.65, 4008.19],\n b1: [2004.09, 2834.65],\n b2: [1417.32, 2004.09],\n b3: [1000.63, 1417.32],\n b4: [708.66, 1000.63],\n b5: [498.9, 708.66],\n b6: [354.33, 498.9],\n b7: [249.45, 354.33],\n b8: [175.75, 249.45],\n b9: [124.72, 175.75],\n b10: [87.87, 124.72],\n c0: [2599.37, 3676.54],\n c1: [1836.85, 2599.37],\n c2: [1298.27, 1836.85],\n c3: [918.43, 1298.27],\n c4: [649.13, 918.43],\n c5: [459.21, 649.13],\n c6: [323.15, 459.21],\n c7: [229.61, 323.15],\n c8: [161.57, 229.61],\n c9: [113.39, 161.57],\n c10: [79.37, 113.39],\n dl: [311.81, 623.62],\n letter: [612, 792],\n \"government-letter\": [576, 756],\n legal: [612, 1008],\n \"junior-legal\": [576, 360],\n ledger: [1224, 792],\n tabloid: [792, 1224],\n \"credit-card\": [153, 243]\n };\n\n var k;\n // Unit conversion\n switch (unit) {\n case \"pt\":\n k = 1;\n break;\n case \"mm\":\n k = 72 / 25.4;\n break;\n case \"cm\":\n k = 72 / 2.54;\n break;\n case \"in\":\n k = 72;\n break;\n case \"px\":\n k = 72 / 96;\n break;\n case \"pc\":\n k = 12;\n break;\n case \"em\":\n k = 12;\n break;\n case \"ex\":\n k = 6;\n break;\n default:\n throw \"Invalid unit: \" + unit;\n }\n var pageHeight = 0;\n var pageWidth = 0;\n\n // Dimensions are stored as user units and converted to points on output\n if (pageFormats.hasOwnProperty(format_as_string)) {\n pageHeight = pageFormats[format_as_string][1] / k;\n pageWidth = pageFormats[format_as_string][0] / k;\n } else {\n try {\n pageHeight = format[1];\n pageWidth = format[0];\n } catch (err) {\n throw new Error(\"Invalid format: \" + format);\n }\n }\n\n var tmp;\n // Handle page orientation\n if (orientation === \"p\" || orientation === \"portrait\") {\n orientation = \"p\";\n if (pageWidth > pageHeight) {\n tmp = pageWidth;\n pageWidth = pageHeight;\n pageHeight = tmp;\n }\n } else if (orientation === \"l\" || orientation === \"landscape\") {\n orientation = \"l\";\n if (pageHeight > pageWidth) {\n tmp = pageWidth;\n pageWidth = pageHeight;\n pageHeight = tmp;\n }\n } else {\n throw \"Invalid orientation: \" + orientation;\n }\n\n // Return information (k is the unit conversion ratio from pts)\n var info = {\n width: pageWidth,\n height: pageHeight,\n unit: unit,\n k: k,\n orientation: orientation\n };\n return info;\n };\n\n /**\n * @typedef FontFace\n *\n * The font-face type implements an interface similar to that of the font-face CSS rule,\n * and is used by jsPDF to match fonts when the font property of CanvasRenderingContext2D\n * is updated.\n *\n * All properties expect values similar to those in the font-face CSS rule. A difference\n * is the font-family, which do not need to be enclosed in double-quotes when containing\n * spaces like in CSS.\n *\n * @property {string} family The name of the font-family.\n * @property {string|undefined} style The style that this font-face defines, e.g. 'italic'.\n * @property {string|number|undefined} weight The weight of the font, either as a string or a number (400, 500, 600, e.g.)\n * @property {string|undefined} stretch The stretch of the font, e.g. condensed, normal, expanded.\n * @property {Object[]} src A list of URLs from where fonts of various formats can be fetched.\n * @property {string} [src] url A URL to a font of a specific format.\n * @property {string} [src] format Format of the font referenced by the URL.\n */\n\n /**\n * Generate a PDF from an HTML element or string using.\n *\n * @name html\n * @function\n * @param {HTMLElement|string} source The source HTMLElement or a string containing HTML.\n * @param {Object} [options] Collection of settings\n * @param {function} [options.callback] The mandatory callback-function gets as first parameter the current jsPDF instance\n * @param {(number|number[])=} [options.margin] Page margins [top, right, bottom, left]. Default is 0.\n * @param {(boolean|'slice'|'text')=} [options.autoPaging] The auto paging mode.\n *
      \n *
    • \n * false: Auto paging is disabled.\n *
    • \n *
    • \n * true or 'slice': Will cut shapes or text chunks across page breaks. Will possibly\n * slice text in half, making it difficult to read.\n *
    • \n *
    • \n * 'text': Trys not to cut text in half across page breaks. Works best for documents consisting\n * mostly of a single column of text.\n *
    • \n *
    \n * Default is true.\n * @param {string} [options.filename] name of the file\n * @param {HTMLOptionImage} [options.image] image settings when converting HTML to image\n * @param {Html2CanvasOptions} [options.html2canvas] html2canvas options\n * @param {FontFace[]} [options.fontFaces] A list of font-faces to match when resolving fonts. Fonts will be added to the PDF based on the specified URL. If omitted, the font match algorithm falls back to old algorithm.\n * @param {jsPDF} [options.jsPDF] jsPDF instance\n * @param {number=} [options.x] x position on the PDF document in jsPDF units.\n * @param {number=} [options.y] y position on the PDF document in jsPDF units.\n * @param {number=} [options.width] The target width in the PDF document in jsPDF units. The rendered element will be\n * scaled such that it fits into the specified width. Has no effect if either the html2canvas.scale is\n * specified or the windowWidth option is NOT specified.\n * @param {number=} [options.windowWidth] The window width in CSS pixels. In contrast to the\n * html2canvas.windowWidth option, this option affects the actual container size while rendering and\n * does NOT affect CSS media queries. This option only has an effect, if the width option is also specified.\n *\n * @example\n * var doc = new jsPDF();\n *\n * doc.html(document.body, {\n * callback: function (doc) {\n * doc.save();\n * },\n * x: 10,\n * y: 10\n * });\n */\n jsPDFAPI.html = function(src, options) {\n \"use strict\";\n\n options = options || {};\n options.callback = options.callback || function() {};\n options.html2canvas = options.html2canvas || {};\n options.html2canvas.canvas = options.html2canvas.canvas || this.canvas;\n options.jsPDF = options.jsPDF || this;\n options.fontFaces = options.fontFaces\n ? options.fontFaces.map(normalizeFontFace)\n : null;\n\n // Create a new worker with the given options.\n var worker = new Worker(options);\n\n if (!options.worker) {\n // If worker is not set to true, perform the traditional 'simple' operation.\n return worker.from(src).doCallback();\n } else {\n // Otherwise, return the worker for new Promise-based operation.\n return worker;\n }\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF Outline PlugIn\n *\n * Generates a PDF Outline\n * @name outline\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var namesOid;\n //var destsGoto = [];\n\n jsPDFAPI.events.push([\n \"postPutResources\",\n function() {\n var pdf = this;\n var rx = /^(\\d+) 0 obj$/;\n\n // Write action goto objects for each page\n // this.outline.destsGoto = [];\n // for (var i = 0; i < totalPages; i++) {\n // var id = pdf.internal.newObject();\n // this.outline.destsGoto.push(id);\n // pdf.internal.write(\"<> endobj\");\n // }\n //\n // for (var i = 0; i < dests.length; i++) {\n // pdf.internal.write(\"(page_\" + (i + 1) + \")\" + dests[i] + \" 0\n // R\");\n // }\n //\n if (this.outline.root.children.length > 0) {\n var lines = pdf.outline.render().split(/\\r\\n/);\n for (var i = 0; i < lines.length; i++) {\n var line = lines[i];\n var m = rx.exec(line);\n if (m != null) {\n var oid = m[1];\n pdf.internal.newObjectDeferredBegin(oid, false);\n }\n pdf.internal.write(line);\n }\n }\n\n // This code will write named destination for each page reference\n // (page_1, etc)\n if (this.outline.createNamedDestinations) {\n var totalPages = this.internal.pages.length;\n // WARNING: this assumes jsPDF starts on page 3 and pageIDs\n // follow 5, 7, 9, etc\n // Write destination objects for each page\n var dests = [];\n for (var i = 0; i < totalPages; i++) {\n var id = pdf.internal.newObject();\n dests.push(id);\n var info = pdf.internal.getPageInfo(i + 1);\n pdf.internal.write(\n \"<< /D[\" + info.objId + \" 0 R /XYZ null null null]>> endobj\"\n );\n }\n\n // assign a name for each destination\n var names2Oid = pdf.internal.newObject();\n pdf.internal.write(\"<< /Names [ \");\n for (var i = 0; i < dests.length; i++) {\n pdf.internal.write(\"(page_\" + (i + 1) + \")\" + dests[i] + \" 0 R\");\n }\n pdf.internal.write(\" ] >>\", \"endobj\");\n\n // var kids = pdf.internal.newObject();\n // pdf.internal.write('<< /Kids [ ' + names2Oid + ' 0 R');\n // pdf.internal.write(' ] >>', 'endobj');\n\n namesOid = pdf.internal.newObject();\n pdf.internal.write(\"<< /Dests \" + names2Oid + \" 0 R\");\n pdf.internal.write(\">>\", \"endobj\");\n }\n }\n ]);\n\n jsPDFAPI.events.push([\n \"putCatalog\",\n function() {\n var pdf = this;\n if (pdf.outline.root.children.length > 0) {\n pdf.internal.write(\n \"/Outlines\",\n this.outline.makeRef(this.outline.root)\n );\n if (this.outline.createNamedDestinations) {\n pdf.internal.write(\"/Names \" + namesOid + \" 0 R\");\n }\n // Open with Bookmarks showing\n // pdf.internal.write(\"/PageMode /UseOutlines\");\n }\n }\n ]);\n\n jsPDFAPI.events.push([\n \"initialized\",\n function() {\n var pdf = this;\n\n pdf.outline = {\n createNamedDestinations: false,\n root: {\n children: []\n }\n };\n\n /**\n * Options: pageNumber\n */\n pdf.outline.add = function(parent, title, options) {\n var item = {\n title: title,\n options: options,\n children: []\n };\n if (parent == null) {\n parent = this.root;\n }\n parent.children.push(item);\n return item;\n };\n\n pdf.outline.render = function() {\n this.ctx = {};\n this.ctx.val = \"\";\n this.ctx.pdf = pdf;\n\n this.genIds_r(this.root);\n this.renderRoot(this.root);\n this.renderItems(this.root);\n\n return this.ctx.val;\n };\n\n pdf.outline.genIds_r = function(node) {\n node.id = pdf.internal.newObjectDeferred();\n for (var i = 0; i < node.children.length; i++) {\n this.genIds_r(node.children[i]);\n }\n };\n\n pdf.outline.renderRoot = function(node) {\n this.objStart(node);\n this.line(\"/Type /Outlines\");\n if (node.children.length > 0) {\n this.line(\"/First \" + this.makeRef(node.children[0]));\n this.line(\n \"/Last \" + this.makeRef(node.children[node.children.length - 1])\n );\n }\n this.line(\n \"/Count \" +\n this.count_r(\n {\n count: 0\n },\n node\n )\n );\n this.objEnd();\n };\n\n pdf.outline.renderItems = function(node) {\n var getVerticalCoordinateString = this.ctx.pdf.internal\n .getVerticalCoordinateString;\n for (var i = 0; i < node.children.length; i++) {\n var item = node.children[i];\n this.objStart(item);\n\n this.line(\"/Title \" + this.makeString(item.title));\n\n this.line(\"/Parent \" + this.makeRef(node));\n if (i > 0) {\n this.line(\"/Prev \" + this.makeRef(node.children[i - 1]));\n }\n if (i < node.children.length - 1) {\n this.line(\"/Next \" + this.makeRef(node.children[i + 1]));\n }\n if (item.children.length > 0) {\n this.line(\"/First \" + this.makeRef(item.children[0]));\n this.line(\n \"/Last \" + this.makeRef(item.children[item.children.length - 1])\n );\n }\n\n var count = (this.count = this.count_r(\n {\n count: 0\n },\n item\n ));\n if (count > 0) {\n this.line(\"/Count \" + count);\n }\n\n if (item.options) {\n if (item.options.pageNumber) {\n // Explicit Destination\n //WARNING this assumes page ids are 3,5,7, etc.\n var info = pdf.internal.getPageInfo(item.options.pageNumber);\n this.line(\n \"/Dest \" +\n \"[\" +\n info.objId +\n \" 0 R /XYZ 0 \" +\n getVerticalCoordinateString(0) +\n \" 0]\"\n );\n // this line does not work on all clients (pageNumber instead of page ref)\n //this.line('/Dest ' + '[' + (item.options.pageNumber - 1) + ' /XYZ 0 ' + this.ctx.pdf.internal.pageSize.getHeight() + ' 0]');\n\n // Named Destination\n // this.line('/Dest (page_' + (item.options.pageNumber) + ')');\n\n // Action Destination\n // var id = pdf.internal.newObject();\n // pdf.internal.write('<> endobj');\n // this.line('/A ' + id + ' 0 R' );\n }\n }\n this.objEnd();\n }\n for (var z = 0; z < node.children.length; z++) {\n this.renderItems(node.children[z]);\n }\n };\n\n pdf.outline.line = function(text) {\n this.ctx.val += text + \"\\r\\n\";\n };\n\n pdf.outline.makeRef = function(node) {\n return node.id + \" 0 R\";\n };\n\n pdf.outline.makeString = function(val) {\n return \"(\" + pdf.internal.pdfEscape(val) + \")\";\n };\n\n pdf.outline.objStart = function(node) {\n this.ctx.val += \"\\r\\n\" + node.id + \" 0 obj\" + \"\\r\\n<<\\r\\n\";\n };\n\n pdf.outline.objEnd = function() {\n this.ctx.val += \">> \\r\\n\" + \"endobj\" + \"\\r\\n\";\n };\n\n pdf.outline.count_r = function(ctx, node) {\n for (var i = 0; i < node.children.length; i++) {\n ctx.count++;\n this.count_r(ctx, node.children[i]);\n }\n return ctx.count;\n };\n }\n ]);\n\n return this;\n})(jsPDF.API);\n","/**\n * @license\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF jpeg Support PlugIn\n *\n * @name jpeg_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * 0xc0 (SOF) Huffman - Baseline DCT\n * 0xc1 (SOF) Huffman - Extended sequential DCT\n * 0xc2 Progressive DCT (SOF2)\n * 0xc3 Spatial (sequential) lossless (SOF3)\n * 0xc4 Differential sequential DCT (SOF5)\n * 0xc5 Differential progressive DCT (SOF6)\n * 0xc6 Differential spatial (SOF7)\n * 0xc7\n */\n var markers = [0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7];\n\n //takes a string imgData containing the raw bytes of\n //a jpeg image and returns [width, height]\n //Algorithm from: http://www.64lines.com/jpeg-width-height\n var getJpegInfo = function(imgData) {\n var width, height, numcomponents;\n var blockLength = imgData.charCodeAt(4) * 256 + imgData.charCodeAt(5);\n var len = imgData.length;\n var result = { width: 0, height: 0, numcomponents: 1 };\n for (var i = 4; i < len; i += 2) {\n i += blockLength;\n if (markers.indexOf(imgData.charCodeAt(i + 1)) !== -1) {\n height = imgData.charCodeAt(i + 5) * 256 + imgData.charCodeAt(i + 6);\n width = imgData.charCodeAt(i + 7) * 256 + imgData.charCodeAt(i + 8);\n numcomponents = imgData.charCodeAt(i + 9);\n result = { width: width, height: height, numcomponents: numcomponents };\n break;\n } else {\n blockLength =\n imgData.charCodeAt(i + 2) * 256 + imgData.charCodeAt(i + 3);\n }\n }\n return result;\n };\n\n /**\n * @ignore\n */\n jsPDFAPI.processJPEG = function(\n data,\n index,\n alias,\n compression,\n dataAsBinaryString,\n colorSpace\n ) {\n var filter = this.decode.DCT_DECODE,\n bpc = 8,\n dims,\n result = null;\n\n if (\n typeof data === \"string\" ||\n this.__addimage__.isArrayBuffer(data) ||\n this.__addimage__.isArrayBufferView(data)\n ) {\n // if we already have a stored binary string rep use that\n data = dataAsBinaryString || data;\n data = this.__addimage__.isArrayBuffer(data)\n ? new Uint8Array(data)\n : data;\n data = this.__addimage__.isArrayBufferView(data)\n ? this.__addimage__.arrayBufferToBinaryString(data)\n : data;\n\n dims = getJpegInfo(data);\n switch (dims.numcomponents) {\n case 1:\n colorSpace = this.color_spaces.DEVICE_GRAY;\n break;\n case 4:\n colorSpace = this.color_spaces.DEVICE_CMYK;\n break;\n case 3:\n colorSpace = this.color_spaces.DEVICE_RGB;\n break;\n }\n\n result = {\n data: data,\n width: dims.width,\n height: dims.height,\n colorSpace: colorSpace,\n bitsPerComponent: bpc,\n filter: filter,\n index: index,\n alias: alias\n };\n }\n return result;\n };\n})(jsPDF.API);\n","// Generated by CoffeeScript 1.4.0\n\n/**\n * @license\n * PNG.js\n * Copyright (c) 2011 Devon Govett\n * MIT LICENSE\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of this\n * software and associated documentation files (the \"Software\"), to deal in the Software\n * without restriction, including without limitation the rights to use, copy, modify, merge,\n * publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons\n * to whom the Software is furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all copies or\n * substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING\n * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nimport { unzlibSync } from \"./fflate.js\";\nimport { globalObject } from \"./globalObject.js\";\n\nvar PNG = (function() {\n var APNG_BLEND_OP_OVER,\n APNG_BLEND_OP_SOURCE,\n APNG_DISPOSE_OP_BACKGROUND,\n APNG_DISPOSE_OP_NONE,\n APNG_DISPOSE_OP_PREVIOUS,\n makeImage,\n scratchCanvas,\n scratchCtx;\n\n APNG_DISPOSE_OP_NONE = 0;\n\n APNG_DISPOSE_OP_BACKGROUND = 1;\n\n APNG_DISPOSE_OP_PREVIOUS = 2;\n\n APNG_BLEND_OP_SOURCE = 0;\n\n APNG_BLEND_OP_OVER = 1;\n\n function PNG(data) {\n var chunkSize,\n colors,\n palLen,\n delayDen,\n delayNum,\n frame,\n i,\n index,\n key,\n section,\n palShort,\n text,\n _i,\n _j,\n _ref;\n this.data = data;\n this.pos = 8;\n this.palette = [];\n this.imgData = [];\n this.transparency = {};\n this.animation = null;\n this.text = {};\n frame = null;\n while (true) {\n chunkSize = this.readUInt32();\n section = function() {\n var _i, _results;\n _results = [];\n for (i = _i = 0; _i < 4; i = ++_i) {\n _results.push(String.fromCharCode(this.data[this.pos++]));\n }\n return _results;\n }\n .call(this)\n .join(\"\");\n switch (section) {\n case \"IHDR\":\n this.width = this.readUInt32();\n this.height = this.readUInt32();\n this.bits = this.data[this.pos++];\n this.colorType = this.data[this.pos++];\n this.compressionMethod = this.data[this.pos++];\n this.filterMethod = this.data[this.pos++];\n this.interlaceMethod = this.data[this.pos++];\n break;\n case \"acTL\":\n this.animation = {\n numFrames: this.readUInt32(),\n numPlays: this.readUInt32() || Infinity,\n frames: []\n };\n break;\n case \"PLTE\":\n this.palette = this.read(chunkSize);\n break;\n case \"fcTL\":\n if (frame) {\n this.animation.frames.push(frame);\n }\n this.pos += 4;\n frame = {\n width: this.readUInt32(),\n height: this.readUInt32(),\n xOffset: this.readUInt32(),\n yOffset: this.readUInt32()\n };\n delayNum = this.readUInt16();\n delayDen = this.readUInt16() || 100;\n frame.delay = (1000 * delayNum) / delayDen;\n frame.disposeOp = this.data[this.pos++];\n frame.blendOp = this.data[this.pos++];\n frame.data = [];\n break;\n case \"IDAT\":\n case \"fdAT\":\n if (section === \"fdAT\") {\n this.pos += 4;\n chunkSize -= 4;\n }\n data = (frame != null ? frame.data : void 0) || this.imgData;\n for (\n i = _i = 0;\n 0 <= chunkSize ? _i < chunkSize : _i > chunkSize;\n i = 0 <= chunkSize ? ++_i : --_i\n ) {\n data.push(this.data[this.pos++]);\n }\n break;\n case \"tRNS\":\n this.transparency = {};\n switch (this.colorType) {\n case 3:\n palLen = this.palette.length / 3;\n this.transparency.indexed = this.read(chunkSize);\n if (this.transparency.indexed.length > palLen)\n throw new Error(\"More transparent colors than palette size\");\n /*\n * According to the PNG spec trns should be increased to the same size as palette if shorter\n */\n //palShort = 255 - this.transparency.indexed.length;\n palShort = palLen - this.transparency.indexed.length;\n if (palShort > 0) {\n for (\n i = _j = 0;\n 0 <= palShort ? _j < palShort : _j > palShort;\n i = 0 <= palShort ? ++_j : --_j\n ) {\n this.transparency.indexed.push(255);\n }\n }\n break;\n case 0:\n this.transparency.grayscale = this.read(chunkSize)[0];\n break;\n case 2:\n this.transparency.rgb = this.read(chunkSize);\n }\n break;\n case \"tEXt\":\n text = this.read(chunkSize);\n index = text.indexOf(0);\n key = String.fromCharCode.apply(String, text.slice(0, index));\n this.text[key] = String.fromCharCode.apply(\n String,\n text.slice(index + 1)\n );\n break;\n case \"IEND\":\n if (frame) {\n this.animation.frames.push(frame);\n }\n this.colors = function() {\n switch (this.colorType) {\n case 0:\n case 3:\n case 4:\n return 1;\n case 2:\n case 6:\n return 3;\n }\n }.call(this);\n this.hasAlphaChannel = (_ref = this.colorType) === 4 || _ref === 6;\n colors = this.colors + (this.hasAlphaChannel ? 1 : 0);\n this.pixelBitlength = this.bits * colors;\n this.colorSpace = function() {\n switch (this.colors) {\n case 1:\n return \"DeviceGray\";\n case 3:\n return \"DeviceRGB\";\n }\n }.call(this);\n this.imgData = new Uint8Array(this.imgData);\n return;\n default:\n this.pos += chunkSize;\n }\n this.pos += 4;\n if (this.pos > this.data.length) {\n throw new Error(\"Incomplete or corrupt PNG file\");\n }\n }\n }\n\n PNG.prototype.read = function(bytes) {\n var i, _i, _results;\n _results = [];\n for (\n i = _i = 0;\n 0 <= bytes ? _i < bytes : _i > bytes;\n i = 0 <= bytes ? ++_i : --_i\n ) {\n _results.push(this.data[this.pos++]);\n }\n return _results;\n };\n\n PNG.prototype.readUInt32 = function() {\n var b1, b2, b3, b4;\n b1 = this.data[this.pos++] << 24;\n b2 = this.data[this.pos++] << 16;\n b3 = this.data[this.pos++] << 8;\n b4 = this.data[this.pos++];\n return b1 | b2 | b3 | b4;\n };\n\n PNG.prototype.readUInt16 = function() {\n var b1, b2;\n b1 = this.data[this.pos++] << 8;\n b2 = this.data[this.pos++];\n return b1 | b2;\n };\n\n PNG.prototype.decodePixels = function(data) {\n var pixelBytes = this.pixelBitlength / 8;\n var fullPixels = new Uint8Array(this.width * this.height * pixelBytes);\n var pos = 0;\n var _this = this;\n\n if (data == null) {\n data = this.imgData;\n }\n if (data.length === 0) {\n return new Uint8Array(0);\n }\n\n data = unzlibSync(data);\n function pass(x0, y0, dx, dy) {\n var abyte,\n c,\n col,\n i,\n left,\n length,\n p,\n pa,\n paeth,\n pb,\n pc,\n pixels,\n row,\n scanlineLength,\n upper,\n upperLeft,\n _i,\n _j,\n _k,\n _l,\n _m;\n var w = Math.ceil((_this.width - x0) / dx),\n h = Math.ceil((_this.height - y0) / dy);\n var isFull = _this.width == w && _this.height == h;\n scanlineLength = pixelBytes * w;\n pixels = isFull ? fullPixels : new Uint8Array(scanlineLength * h);\n length = data.length;\n row = 0;\n c = 0;\n while (row < h && pos < length) {\n switch (data[pos++]) {\n case 0:\n for (i = _i = 0; _i < scanlineLength; i = _i += 1) {\n pixels[c++] = data[pos++];\n }\n break;\n case 1:\n for (i = _j = 0; _j < scanlineLength; i = _j += 1) {\n abyte = data[pos++];\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n pixels[c++] = (abyte + left) % 256;\n }\n break;\n case 2:\n for (i = _k = 0; _k < scanlineLength; i = _k += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n upper =\n row &&\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n pixels[c++] = (upper + abyte) % 256;\n }\n break;\n case 3:\n for (i = _l = 0; _l < scanlineLength; i = _l += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n upper =\n row &&\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n pixels[c++] = (abyte + Math.floor((left + upper) / 2)) % 256;\n }\n break;\n case 4:\n for (i = _m = 0; _m < scanlineLength; i = _m += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n if (row === 0) {\n upper = upperLeft = 0;\n } else {\n upper =\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n upperLeft =\n col &&\n pixels[\n (row - 1) * scanlineLength +\n (col - 1) * pixelBytes +\n (i % pixelBytes)\n ];\n }\n p = left + upper - upperLeft;\n pa = Math.abs(p - left);\n pb = Math.abs(p - upper);\n pc = Math.abs(p - upperLeft);\n if (pa <= pb && pa <= pc) {\n paeth = left;\n } else if (pb <= pc) {\n paeth = upper;\n } else {\n paeth = upperLeft;\n }\n pixels[c++] = (abyte + paeth) % 256;\n }\n break;\n default:\n throw new Error(\"Invalid filter algorithm: \" + data[pos - 1]);\n }\n if (!isFull) {\n var fullPos = ((y0 + row * dy) * _this.width + x0) * pixelBytes;\n var partPos = row * scanlineLength;\n for (i = 0; i < w; i += 1) {\n for (var j = 0; j < pixelBytes; j += 1)\n fullPixels[fullPos++] = pixels[partPos++];\n fullPos += (dx - 1) * pixelBytes;\n }\n }\n row++;\n }\n }\n if (_this.interlaceMethod == 1) {\n /*\n 1 6 4 6 2 6 4 6\n 7 7 7 7 7 7 7 7\n 5 6 5 6 5 6 5 6\n 7 7 7 7 7 7 7 7\n 3 6 4 6 3 6 4 6\n 7 7 7 7 7 7 7 7\n 5 6 5 6 5 6 5 6\n 7 7 7 7 7 7 7 7\n */\n pass(0, 0, 8, 8); // 1\n /* NOTE these seem to follow the pattern:\n * pass(x, 0, 2*x, 2*x);\n * pass(0, x, x, 2*x);\n * with x being 4, 2, 1.\n */\n pass(4, 0, 8, 8); // 2\n pass(0, 4, 4, 8); // 3\n\n pass(2, 0, 4, 4); // 4\n pass(0, 2, 2, 4); // 5\n\n pass(1, 0, 2, 2); // 6\n pass(0, 1, 1, 2); // 7\n } else {\n pass(0, 0, 1, 1);\n }\n return fullPixels;\n };\n\n PNG.prototype.decodePalette = function() {\n var c, i, length, palette, pos, ret, transparency, _i, _ref, _ref1;\n palette = this.palette;\n transparency = this.transparency.indexed || [];\n ret = new Uint8Array((transparency.length || 0) + palette.length);\n pos = 0;\n length = palette.length;\n c = 0;\n for (i = _i = 0, _ref = length; _i < _ref; i = _i += 3) {\n ret[pos++] = palette[i];\n ret[pos++] = palette[i + 1];\n ret[pos++] = palette[i + 2];\n ret[pos++] = (_ref1 = transparency[c++]) != null ? _ref1 : 255;\n }\n return ret;\n };\n\n PNG.prototype.copyToImageData = function(imageData, pixels) {\n var alpha, colors, data, i, input, j, k, length, palette, v, _ref;\n colors = this.colors;\n palette = null;\n alpha = this.hasAlphaChannel;\n if (this.palette.length) {\n palette =\n (_ref = this._decodedPalette) != null\n ? _ref\n : (this._decodedPalette = this.decodePalette());\n colors = 4;\n alpha = true;\n }\n data = imageData.data || imageData;\n length = data.length;\n input = palette || pixels;\n i = j = 0;\n if (colors === 1) {\n while (i < length) {\n k = palette ? pixels[i / 4] * 4 : j;\n v = input[k++];\n data[i++] = v;\n data[i++] = v;\n data[i++] = v;\n data[i++] = alpha ? input[k++] : 255;\n j = k;\n }\n } else {\n while (i < length) {\n k = palette ? pixels[i / 4] * 4 : j;\n data[i++] = input[k++];\n data[i++] = input[k++];\n data[i++] = input[k++];\n data[i++] = alpha ? input[k++] : 255;\n j = k;\n }\n }\n };\n\n PNG.prototype.decode = function() {\n var ret;\n ret = new Uint8Array(this.width * this.height * 4);\n this.copyToImageData(ret, this.decodePixels());\n return ret;\n };\n\n var hasBrowserCanvas = function() {\n if (Object.prototype.toString.call(globalObject) === \"[object Window]\") {\n try {\n scratchCanvas = globalObject.document.createElement(\"canvas\");\n scratchCtx = scratchCanvas.getContext(\"2d\");\n } catch (e) {\n return false;\n }\n return true;\n }\n return false;\n };\n\n hasBrowserCanvas();\n\n makeImage = function(imageData) {\n if (hasBrowserCanvas() === true) {\n var img;\n scratchCtx.width = imageData.width;\n scratchCtx.height = imageData.height;\n scratchCtx.clearRect(0, 0, imageData.width, imageData.height);\n scratchCtx.putImageData(imageData, 0, 0);\n img = new Image();\n img.src = scratchCanvas.toDataURL();\n return img;\n }\n throw new Error(\"This method requires a Browser with Canvas-capability.\");\n };\n\n PNG.prototype.decodeFrames = function(ctx) {\n var frame, i, imageData, pixels, _i, _len, _ref, _results;\n if (!this.animation) {\n return;\n }\n _ref = this.animation.frames;\n _results = [];\n for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) {\n frame = _ref[i];\n imageData = ctx.createImageData(frame.width, frame.height);\n pixels = this.decodePixels(new Uint8Array(frame.data));\n this.copyToImageData(imageData, pixels);\n frame.imageData = imageData;\n _results.push((frame.image = makeImage(imageData)));\n }\n return _results;\n };\n\n PNG.prototype.renderFrame = function(ctx, number) {\n var frame, frames, prev;\n frames = this.animation.frames;\n frame = frames[number];\n prev = frames[number - 1];\n if (number === 0) {\n ctx.clearRect(0, 0, this.width, this.height);\n }\n if (\n (prev != null ? prev.disposeOp : void 0) === APNG_DISPOSE_OP_BACKGROUND\n ) {\n ctx.clearRect(prev.xOffset, prev.yOffset, prev.width, prev.height);\n } else if (\n (prev != null ? prev.disposeOp : void 0) === APNG_DISPOSE_OP_PREVIOUS\n ) {\n ctx.putImageData(prev.imageData, prev.xOffset, prev.yOffset);\n }\n if (frame.blendOp === APNG_BLEND_OP_SOURCE) {\n ctx.clearRect(frame.xOffset, frame.yOffset, frame.width, frame.height);\n }\n return ctx.drawImage(frame.image, frame.xOffset, frame.yOffset);\n };\n\n PNG.prototype.animate = function(ctx) {\n var doFrame,\n frameNumber,\n frames,\n numFrames,\n numPlays,\n _ref,\n _this = this;\n frameNumber = 0;\n (_ref = this.animation),\n (numFrames = _ref.numFrames),\n (frames = _ref.frames),\n (numPlays = _ref.numPlays);\n return (doFrame = function() {\n var f, frame;\n f = frameNumber++ % numFrames;\n frame = frames[f];\n _this.renderFrame(ctx, f);\n if (numFrames > 1 && frameNumber / numFrames < numPlays) {\n return (_this.animation._timeout = setTimeout(doFrame, frame.delay));\n }\n })();\n };\n\n PNG.prototype.stopAnimation = function() {\n var _ref;\n return clearTimeout(\n (_ref = this.animation) != null ? _ref._timeout : void 0\n );\n };\n\n PNG.prototype.render = function(canvas) {\n var ctx, data;\n if (canvas._png) {\n canvas._png.stopAnimation();\n }\n canvas._png = this;\n canvas.width = this.width;\n canvas.height = this.height;\n ctx = canvas.getContext(\"2d\");\n if (this.animation) {\n this.decodeFrames(ctx);\n return this.animate(ctx);\n } else {\n data = ctx.createImageData(this.width, this.height);\n this.copyToImageData(data, this.decodePixels());\n return ctx.putImageData(data, 0, 0);\n }\n };\n\n return PNG;\n})();\n\nexport { PNG };\n","/** @license\n * MIT license.\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n * 2014 Diego Casorran, https://github.com/diegocr\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF split_text_to_size plugin\n *\n * @name split_text_to_size\n * @module\n */\n(function(API) {\n \"use strict\";\n /**\n * Returns an array of length matching length of the 'word' string, with each\n * cell occupied by the width of the char in that position.\n *\n * @name getCharWidthsArray\n * @function\n * @param {string} text\n * @param {Object} options\n * @returns {Array}\n */\n var getCharWidthsArray = (API.getCharWidthsArray = function(text, options) {\n options = options || {};\n\n var activeFont = options.font || this.internal.getFont();\n var fontSize = options.fontSize || this.internal.getFontSize();\n var charSpace = options.charSpace || this.internal.getCharSpace();\n\n var widths = options.widths\n ? options.widths\n : activeFont.metadata.Unicode.widths;\n var widthsFractionOf = widths.fof ? widths.fof : 1;\n var kerning = options.kerning\n ? options.kerning\n : activeFont.metadata.Unicode.kerning;\n var kerningFractionOf = kerning.fof ? kerning.fof : 1;\n var doKerning = options.doKerning === false ? false : true;\n var kerningValue = 0;\n\n var i;\n var length = text.length;\n var char_code;\n var prior_char_code = 0; //for kerning\n var default_char_width = widths[0] || widthsFractionOf;\n var output = [];\n\n for (i = 0; i < length; i++) {\n char_code = text.charCodeAt(i);\n\n if (typeof activeFont.metadata.widthOfString === \"function\") {\n output.push(\n (activeFont.metadata.widthOfGlyph(\n activeFont.metadata.characterToGlyph(char_code)\n ) +\n charSpace * (1000 / fontSize) || 0) / 1000\n );\n } else {\n if (\n doKerning &&\n typeof kerning[char_code] === \"object\" &&\n !isNaN(parseInt(kerning[char_code][prior_char_code], 10))\n ) {\n kerningValue =\n kerning[char_code][prior_char_code] / kerningFractionOf;\n } else {\n kerningValue = 0;\n }\n output.push(\n (widths[char_code] || default_char_width) / widthsFractionOf +\n kerningValue\n );\n }\n prior_char_code = char_code;\n }\n\n return output;\n });\n\n /**\n * Returns a widths of string in a given font, if the font size is set as 1 point.\n *\n * In other words, this is \"proportional\" value. For 1 unit of font size, the length\n * of the string will be that much.\n *\n * Multiply by font size to get actual width in *points*\n * Then divide by 72 to get inches or divide by (72/25.6) to get 'mm' etc.\n *\n * @name getStringUnitWidth\n * @public\n * @function\n * @param {string} text\n * @param {string} options\n * @returns {number} result\n */\n var getStringUnitWidth = (API.getStringUnitWidth = function(text, options) {\n options = options || {};\n\n var fontSize = options.fontSize || this.internal.getFontSize();\n var font = options.font || this.internal.getFont();\n var charSpace = options.charSpace || this.internal.getCharSpace();\n var result = 0;\n\n if (API.processArabic) {\n text = API.processArabic(text);\n }\n\n if (typeof font.metadata.widthOfString === \"function\") {\n result =\n font.metadata.widthOfString(text, fontSize, charSpace) / fontSize;\n } else {\n result = getCharWidthsArray\n .apply(this, arguments)\n .reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n }\n return result;\n });\n\n /**\n returns array of lines\n */\n var splitLongWord = function(word, widths_array, firstLineMaxLen, maxLen) {\n var answer = [];\n\n // 1st, chop off the piece that can fit on the hanging line.\n var i = 0,\n l = word.length,\n workingLen = 0;\n while (i !== l && workingLen + widths_array[i] < firstLineMaxLen) {\n workingLen += widths_array[i];\n i++;\n }\n // this is first line.\n answer.push(word.slice(0, i));\n\n // 2nd. Split the rest into maxLen pieces.\n var startOfLine = i;\n workingLen = 0;\n while (i !== l) {\n if (workingLen + widths_array[i] > maxLen) {\n answer.push(word.slice(startOfLine, i));\n workingLen = 0;\n startOfLine = i;\n }\n workingLen += widths_array[i];\n i++;\n }\n if (startOfLine !== i) {\n answer.push(word.slice(startOfLine, i));\n }\n\n return answer;\n };\n\n // Note, all sizing inputs for this function must be in \"font measurement units\"\n // By default, for PDF, it's \"point\".\n var splitParagraphIntoLines = function(text, maxlen, options) {\n // at this time works only on Western scripts, ones with space char\n // separating the words. Feel free to expand.\n\n if (!options) {\n options = {};\n }\n\n var line = [],\n lines = [line],\n line_length = options.textIndent || 0,\n separator_length = 0,\n current_word_length = 0,\n word,\n widths_array,\n words = text.split(\" \"),\n spaceCharWidth = getCharWidthsArray.apply(this, [\" \", options])[0],\n i,\n l,\n tmp,\n lineIndent;\n\n if (options.lineIndent === -1) {\n lineIndent = words[0].length + 2;\n } else {\n lineIndent = options.lineIndent || 0;\n }\n if (lineIndent) {\n var pad = Array(lineIndent).join(\" \"),\n wrds = [];\n words.map(function(wrd) {\n wrd = wrd.split(/\\s*\\n/);\n if (wrd.length > 1) {\n wrds = wrds.concat(\n wrd.map(function(wrd, idx) {\n return (idx && wrd.length ? \"\\n\" : \"\") + wrd;\n })\n );\n } else {\n wrds.push(wrd[0]);\n }\n });\n words = wrds;\n lineIndent = getStringUnitWidth.apply(this, [pad, options]);\n }\n\n for (i = 0, l = words.length; i < l; i++) {\n var force = 0;\n\n word = words[i];\n if (lineIndent && word[0] == \"\\n\") {\n word = word.substr(1);\n force = 1;\n }\n widths_array = getCharWidthsArray.apply(this, [word, options]);\n current_word_length = widths_array.reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n\n if (\n line_length + separator_length + current_word_length > maxlen ||\n force\n ) {\n if (current_word_length > maxlen) {\n // this happens when you have space-less long URLs for example.\n // we just chop these to size. We do NOT insert hiphens\n tmp = splitLongWord.apply(this, [\n word,\n widths_array,\n maxlen - (line_length + separator_length),\n maxlen\n ]);\n // first line we add to existing line object\n line.push(tmp.shift()); // it's ok to have extra space indicator there\n // last line we make into new line object\n line = [tmp.pop()];\n // lines in the middle we apped to lines object as whole lines\n while (tmp.length) {\n lines.push([tmp.shift()]); // single fragment occupies whole line\n }\n current_word_length = widths_array\n .slice(word.length - (line[0] ? line[0].length : 0))\n .reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n } else {\n // just put it on a new line\n line = [word];\n }\n\n // now we attach new line to lines\n lines.push(line);\n line_length = current_word_length + lineIndent;\n separator_length = spaceCharWidth;\n } else {\n line.push(word);\n\n line_length += separator_length + current_word_length;\n separator_length = spaceCharWidth;\n }\n }\n\n var postProcess;\n if (lineIndent) {\n postProcess = function(ln, idx) {\n return (idx ? pad : \"\") + ln.join(\" \");\n };\n } else {\n postProcess = function(ln) {\n return ln.join(\" \");\n };\n }\n\n return lines.map(postProcess);\n };\n\n /**\n * Splits a given string into an array of strings. Uses 'size' value\n * (in measurement units declared as default for the jsPDF instance)\n * and the font's \"widths\" and \"Kerning\" tables, where available, to\n * determine display length of a given string for a given font.\n *\n * We use character's 100% of unit size (height) as width when Width\n * table or other default width is not available.\n *\n * @name splitTextToSize\n * @public\n * @function\n * @param {string} text Unencoded, regular JavaScript (Unicode, UTF-16 / UCS-2) string.\n * @param {number} size Nominal number, measured in units default to this instance of jsPDF.\n * @param {Object} options Optional flags needed for chopper to do the right thing.\n * @returns {Array} array Array with strings chopped to size.\n */\n API.splitTextToSize = function(text, maxlen, options) {\n \"use strict\";\n\n options = options || {};\n\n var fsize = options.fontSize || this.internal.getFontSize(),\n newOptions = function(options) {\n var widths = {\n 0: 1\n },\n kerning = {};\n\n if (!options.widths || !options.kerning) {\n var f = this.internal.getFont(options.fontName, options.fontStyle),\n encoding = \"Unicode\";\n // NOT UTF8, NOT UTF16BE/LE, NOT UCS2BE/LE\n // Actual JavaScript-native String's 16bit char codes used.\n // no multi-byte logic here\n\n if (f.metadata[encoding]) {\n return {\n widths: f.metadata[encoding].widths || widths,\n kerning: f.metadata[encoding].kerning || kerning\n };\n } else {\n return {\n font: f.metadata,\n fontSize: this.internal.getFontSize(),\n charSpace: this.internal.getCharSpace()\n };\n }\n } else {\n return {\n widths: options.widths,\n kerning: options.kerning\n };\n }\n }.call(this, options);\n\n // first we split on end-of-line chars\n var paragraphs;\n if (Array.isArray(text)) {\n paragraphs = text;\n } else {\n paragraphs = String(text).split(/\\r?\\n/);\n }\n\n // now we convert size (max length of line) into \"font size units\"\n // at present time, the \"font size unit\" is always 'point'\n // 'proportional' means, \"in proportion to font size\"\n var fontUnit_maxLen = (1.0 * this.internal.scaleFactor * maxlen) / fsize;\n // at this time, fsize is always in \"points\" regardless of the default measurement unit of the doc.\n // this may change in the future?\n // until then, proportional_maxlen is likely to be in 'points'\n\n // If first line is to be indented (shorter or longer) than maxLen\n // we indicate that by using CSS-style \"text-indent\" option.\n // here it's in font units too (which is likely 'points')\n // it can be negative (which makes the first line longer than maxLen)\n newOptions.textIndent = options.textIndent\n ? (options.textIndent * 1.0 * this.internal.scaleFactor) / fsize\n : 0;\n newOptions.lineIndent = options.lineIndent;\n\n var i,\n l,\n output = [];\n for (i = 0, l = paragraphs.length; i < l; i++) {\n output = output.concat(\n splitParagraphIntoLines.apply(this, [\n paragraphs[i],\n fontUnit_maxLen,\n newOptions\n ])\n );\n }\n\n return output;\n };\n})(jsPDF.API);\n","/**\n * @license\n * (c) Dean McNamee , 2013.\n *\n * https://github.com/deanm/omggif\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n * IN THE SOFTWARE.\n *\n * omggif is a JavaScript implementation of a GIF 89a encoder and decoder,\n * including animation and compression. It does not rely on any specific\n * underlying system, so should run in the browser, Node, or Plask.\n */\n\n\"use strict\";\n\nimport { console } from \"./console.js\";\n\nfunction GifWriter(buf, width, height, gopts) {\n var p = 0;\n\n var gopts = gopts === undefined ? {} : gopts;\n var loop_count = gopts.loop === undefined ? null : gopts.loop;\n var global_palette = gopts.palette === undefined ? null : gopts.palette;\n\n if (width <= 0 || height <= 0 || width > 65535 || height > 65535)\n throw new Error(\"Width/Height invalid.\");\n\n function check_palette_and_num_colors(palette) {\n var num_colors = palette.length;\n if (num_colors < 2 || num_colors > 256 || num_colors & (num_colors - 1)) {\n throw new Error(\n \"Invalid code/color length, must be power of 2 and 2 .. 256.\"\n );\n }\n return num_colors;\n }\n\n // - Header.\n buf[p++] = 0x47;\n buf[p++] = 0x49;\n buf[p++] = 0x46; // GIF\n buf[p++] = 0x38;\n buf[p++] = 0x39;\n buf[p++] = 0x61; // 89a\n\n // Handling of Global Color Table (palette) and background index.\n var gp_num_colors_pow2 = 0;\n var background = 0;\n if (global_palette !== null) {\n var gp_num_colors = check_palette_and_num_colors(global_palette);\n while ((gp_num_colors >>= 1)) ++gp_num_colors_pow2;\n gp_num_colors = 1 << gp_num_colors_pow2;\n --gp_num_colors_pow2;\n if (gopts.background !== undefined) {\n background = gopts.background;\n if (background >= gp_num_colors)\n throw new Error(\"Background index out of range.\");\n // The GIF spec states that a background index of 0 should be ignored, so\n // this is probably a mistake and you really want to set it to another\n // slot in the palette. But actually in the end most browsers, etc end\n // up ignoring this almost completely (including for dispose background).\n if (background === 0)\n throw new Error(\"Background index explicitly passed as 0.\");\n }\n }\n\n // - Logical Screen Descriptor.\n // NOTE(deanm): w/h apparently ignored by implementations, but set anyway.\n buf[p++] = width & 0xff;\n buf[p++] = (width >> 8) & 0xff;\n buf[p++] = height & 0xff;\n buf[p++] = (height >> 8) & 0xff;\n // NOTE: Indicates 0-bpp original color resolution (unused?).\n buf[p++] = (global_palette !== null ? 0x80 : 0) | gp_num_colors_pow2; // Global Color Table Flag. // NOTE: No sort flag (unused?).\n buf[p++] = background; // Background Color Index.\n buf[p++] = 0; // Pixel aspect ratio (unused?).\n\n // - Global Color Table\n if (global_palette !== null) {\n for (var i = 0, il = global_palette.length; i < il; ++i) {\n var rgb = global_palette[i];\n buf[p++] = (rgb >> 16) & 0xff;\n buf[p++] = (rgb >> 8) & 0xff;\n buf[p++] = rgb & 0xff;\n }\n }\n\n if (loop_count !== null) {\n // Netscape block for looping.\n if (loop_count < 0 || loop_count > 65535)\n throw new Error(\"Loop count invalid.\");\n // Extension code, label, and length.\n buf[p++] = 0x21;\n buf[p++] = 0xff;\n buf[p++] = 0x0b;\n // NETSCAPE2.0\n buf[p++] = 0x4e;\n buf[p++] = 0x45;\n buf[p++] = 0x54;\n buf[p++] = 0x53;\n buf[p++] = 0x43;\n buf[p++] = 0x41;\n buf[p++] = 0x50;\n buf[p++] = 0x45;\n buf[p++] = 0x32;\n buf[p++] = 0x2e;\n buf[p++] = 0x30;\n // Sub-block\n buf[p++] = 0x03;\n buf[p++] = 0x01;\n buf[p++] = loop_count & 0xff;\n buf[p++] = (loop_count >> 8) & 0xff;\n buf[p++] = 0x00; // Terminator.\n }\n\n var ended = false;\n\n this.addFrame = function(x, y, w, h, indexed_pixels, opts) {\n if (ended === true) {\n --p;\n ended = false;\n } // Un-end.\n\n opts = opts === undefined ? {} : opts;\n\n // TODO(deanm): Bounds check x, y. Do they need to be within the virtual\n // canvas width/height, I imagine?\n if (x < 0 || y < 0 || x > 65535 || y > 65535)\n throw new Error(\"x/y invalid.\");\n\n if (w <= 0 || h <= 0 || w > 65535 || h > 65535)\n throw new Error(\"Width/Height invalid.\");\n\n if (indexed_pixels.length < w * h)\n throw new Error(\"Not enough pixels for the frame size.\");\n\n var using_local_palette = true;\n var palette = opts.palette;\n if (palette === undefined || palette === null) {\n using_local_palette = false;\n palette = global_palette;\n }\n\n if (palette === undefined || palette === null)\n throw new Error(\"Must supply either a local or global palette.\");\n\n var num_colors = check_palette_and_num_colors(palette);\n\n // Compute the min_code_size (power of 2), destroying num_colors.\n var min_code_size = 0;\n while ((num_colors >>= 1)) ++min_code_size;\n num_colors = 1 << min_code_size; // Now we can easily get it back.\n\n var delay = opts.delay === undefined ? 0 : opts.delay;\n\n // From the spec:\n // 0 - No disposal specified. The decoder is\n // not required to take any action.\n // 1 - Do not dispose. The graphic is to be left\n // in place.\n // 2 - Restore to background color. The area used by the\n // graphic must be restored to the background color.\n // 3 - Restore to previous. The decoder is required to\n // restore the area overwritten by the graphic with\n // what was there prior to rendering the graphic.\n // 4-7 - To be defined.\n // NOTE(deanm): Dispose background doesn't really work, apparently most\n // browsers ignore the background palette index and clear to transparency.\n var disposal = opts.disposal === undefined ? 0 : opts.disposal;\n if (disposal < 0 || disposal > 3)\n // 4-7 is reserved.\n throw new Error(\"Disposal out of range.\");\n\n var use_transparency = false;\n var transparent_index = 0;\n if (opts.transparent !== undefined && opts.transparent !== null) {\n use_transparency = true;\n transparent_index = opts.transparent;\n if (transparent_index < 0 || transparent_index >= num_colors)\n throw new Error(\"Transparent color index.\");\n }\n\n if (disposal !== 0 || use_transparency || delay !== 0) {\n // - Graphics Control Extension\n buf[p++] = 0x21;\n buf[p++] = 0xf9; // Extension / Label.\n buf[p++] = 4; // Byte size.\n\n buf[p++] = (disposal << 2) | (use_transparency === true ? 1 : 0);\n buf[p++] = delay & 0xff;\n buf[p++] = (delay >> 8) & 0xff;\n buf[p++] = transparent_index; // Transparent color index.\n buf[p++] = 0; // Block Terminator.\n }\n\n // - Image Descriptor\n buf[p++] = 0x2c; // Image Seperator.\n buf[p++] = x & 0xff;\n buf[p++] = (x >> 8) & 0xff; // Left.\n buf[p++] = y & 0xff;\n buf[p++] = (y >> 8) & 0xff; // Top.\n buf[p++] = w & 0xff;\n buf[p++] = (w >> 8) & 0xff;\n buf[p++] = h & 0xff;\n buf[p++] = (h >> 8) & 0xff;\n // NOTE: No sort flag (unused?).\n // TODO(deanm): Support interlace.\n buf[p++] = using_local_palette === true ? 0x80 | (min_code_size - 1) : 0;\n\n // - Local Color Table\n if (using_local_palette === true) {\n for (var i = 0, il = palette.length; i < il; ++i) {\n var rgb = palette[i];\n buf[p++] = (rgb >> 16) & 0xff;\n buf[p++] = (rgb >> 8) & 0xff;\n buf[p++] = rgb & 0xff;\n }\n }\n\n p = GifWriterOutputLZWCodeStream(\n buf,\n p,\n min_code_size < 2 ? 2 : min_code_size,\n indexed_pixels\n );\n\n return p;\n };\n\n this.end = function() {\n if (ended === false) {\n buf[p++] = 0x3b; // Trailer.\n ended = true;\n }\n return p;\n };\n\n this.getOutputBuffer = function() {\n return buf;\n };\n this.setOutputBuffer = function(v) {\n buf = v;\n };\n this.getOutputBufferPosition = function() {\n return p;\n };\n this.setOutputBufferPosition = function(v) {\n p = v;\n };\n}\n\n// Main compression routine, palette indexes -> LZW code stream.\n// |index_stream| must have at least one entry.\nfunction GifWriterOutputLZWCodeStream(buf, p, min_code_size, index_stream) {\n buf[p++] = min_code_size;\n var cur_subblock = p++; // Pointing at the length field.\n\n var clear_code = 1 << min_code_size;\n var code_mask = clear_code - 1;\n var eoi_code = clear_code + 1;\n var next_code = eoi_code + 1;\n\n var cur_code_size = min_code_size + 1; // Number of bits per code.\n var cur_shift = 0;\n // We have at most 12-bit codes, so we should have to hold a max of 19\n // bits here (and then we would write out).\n var cur = 0;\n\n function emit_bytes_to_buffer(bit_block_size) {\n while (cur_shift >= bit_block_size) {\n buf[p++] = cur & 0xff;\n cur >>= 8;\n cur_shift -= 8;\n if (p === cur_subblock + 256) {\n // Finished a subblock.\n buf[cur_subblock] = 255;\n cur_subblock = p++;\n }\n }\n }\n\n function emit_code(c) {\n cur |= c << cur_shift;\n cur_shift += cur_code_size;\n emit_bytes_to_buffer(8);\n }\n\n // I am not an expert on the topic, and I don't want to write a thesis.\n // However, it is good to outline here the basic algorithm and the few data\n // structures and optimizations here that make this implementation fast.\n // The basic idea behind LZW is to build a table of previously seen runs\n // addressed by a short id (herein called output code). All data is\n // referenced by a code, which represents one or more values from the\n // original input stream. All input bytes can be referenced as the same\n // value as an output code. So if you didn't want any compression, you\n // could more or less just output the original bytes as codes (there are\n // some details to this, but it is the idea). In order to achieve\n // compression, values greater then the input range (codes can be up to\n // 12-bit while input only 8-bit) represent a sequence of previously seen\n // inputs. The decompressor is able to build the same mapping while\n // decoding, so there is always a shared common knowledge between the\n // encoding and decoder, which is also important for \"timing\" aspects like\n // how to handle variable bit width code encoding.\n //\n // One obvious but very important consequence of the table system is there\n // is always a unique id (at most 12-bits) to map the runs. 'A' might be\n // 4, then 'AA' might be 10, 'AAA' 11, 'AAAA' 12, etc. This relationship\n // can be used for an effecient lookup strategy for the code mapping. We\n // need to know if a run has been seen before, and be able to map that run\n // to the output code. Since we start with known unique ids (input bytes),\n // and then from those build more unique ids (table entries), we can\n // continue this chain (almost like a linked list) to always have small\n // integer values that represent the current byte chains in the encoder.\n // This means instead of tracking the input bytes (AAAABCD) to know our\n // current state, we can track the table entry for AAAABC (it is guaranteed\n // to exist by the nature of the algorithm) and the next character D.\n // Therefor the tuple of (table_entry, byte) is guaranteed to also be\n // unique. This allows us to create a simple lookup key for mapping input\n // sequences to codes (table indices) without having to store or search\n // any of the code sequences. So if 'AAAA' has a table entry of 12, the\n // tuple of ('AAAA', K) for any input byte K will be unique, and can be our\n // key. This leads to a integer value at most 20-bits, which can always\n // fit in an SMI value and be used as a fast sparse array / object key.\n\n // Output code for the current contents of the index buffer.\n var ib_code = index_stream[0] & code_mask; // Load first input index.\n var code_table = {}; // Key'd on our 20-bit \"tuple\".\n\n emit_code(clear_code); // Spec says first code should be a clear code.\n\n // First index already loaded, process the rest of the stream.\n for (var i = 1, il = index_stream.length; i < il; ++i) {\n var k = index_stream[i] & code_mask;\n var cur_key = (ib_code << 8) | k; // (prev, k) unique tuple.\n var cur_code = code_table[cur_key]; // buffer + k.\n\n // Check if we have to create a new code table entry.\n if (cur_code === undefined) {\n // We don't have buffer + k.\n // Emit index buffer (without k).\n // This is an inline version of emit_code, because this is the core\n // writing routine of the compressor (and V8 cannot inline emit_code\n // because it is a closure here in a different context). Additionally\n // we can call emit_byte_to_buffer less often, because we can have\n // 30-bits (from our 31-bit signed SMI), and we know our codes will only\n // be 12-bits, so can safely have 18-bits there without overflow.\n // emit_code(ib_code);\n cur |= ib_code << cur_shift;\n cur_shift += cur_code_size;\n while (cur_shift >= 8) {\n buf[p++] = cur & 0xff;\n cur >>= 8;\n cur_shift -= 8;\n if (p === cur_subblock + 256) {\n // Finished a subblock.\n buf[cur_subblock] = 255;\n cur_subblock = p++;\n }\n }\n\n if (next_code === 4096) {\n // Table full, need a clear.\n emit_code(clear_code);\n next_code = eoi_code + 1;\n cur_code_size = min_code_size + 1;\n code_table = {};\n } else {\n // Table not full, insert a new entry.\n // Increase our variable bit code sizes if necessary. This is a bit\n // tricky as it is based on \"timing\" between the encoding and\n // decoder. From the encoders perspective this should happen after\n // we've already emitted the index buffer and are about to create the\n // first table entry that would overflow our current code bit size.\n if (next_code >= 1 << cur_code_size) ++cur_code_size;\n code_table[cur_key] = next_code++; // Insert into code table.\n }\n\n ib_code = k; // Index buffer to single input k.\n } else {\n ib_code = cur_code; // Index buffer to sequence in code table.\n }\n }\n\n emit_code(ib_code); // There will still be something in the index buffer.\n emit_code(eoi_code); // End Of Information.\n\n // Flush / finalize the sub-blocks stream to the buffer.\n emit_bytes_to_buffer(1);\n\n // Finish the sub-blocks, writing out any unfinished lengths and\n // terminating with a sub-block of length 0. If we have already started\n // but not yet used a sub-block it can just become the terminator.\n if (cur_subblock + 1 === p) {\n // Started but unused.\n buf[cur_subblock] = 0;\n } else {\n // Started and used, write length and additional terminator block.\n buf[cur_subblock] = p - cur_subblock - 1;\n buf[p++] = 0;\n }\n return p;\n}\n\nfunction GifReader(buf) {\n var p = 0;\n\n // - Header (GIF87a or GIF89a).\n if (\n buf[p++] !== 0x47 ||\n buf[p++] !== 0x49 ||\n buf[p++] !== 0x46 ||\n buf[p++] !== 0x38 ||\n ((buf[p++] + 1) & 0xfd) !== 0x38 ||\n buf[p++] !== 0x61\n ) {\n throw new Error(\"Invalid GIF 87a/89a header.\");\n }\n\n // - Logical Screen Descriptor.\n var width = buf[p++] | (buf[p++] << 8);\n var height = buf[p++] | (buf[p++] << 8);\n var pf0 = buf[p++]; // .\n var global_palette_flag = pf0 >> 7;\n var num_global_colors_pow2 = pf0 & 0x7;\n var num_global_colors = 1 << (num_global_colors_pow2 + 1);\n var background = buf[p++];\n buf[p++]; // Pixel aspect ratio (unused?).\n\n var global_palette_offset = null;\n var global_palette_size = null;\n\n if (global_palette_flag) {\n global_palette_offset = p;\n global_palette_size = num_global_colors;\n p += num_global_colors * 3; // Seek past palette.\n }\n\n var no_eof = true;\n\n var frames = [];\n\n var delay = 0;\n var transparent_index = null;\n var disposal = 0; // 0 - No disposal specified.\n var loop_count = null;\n\n this.width = width;\n this.height = height;\n\n while (no_eof && p < buf.length) {\n switch (buf[p++]) {\n case 0x21: // Graphics Control Extension Block\n switch (buf[p++]) {\n case 0xff: // Application specific block\n // Try if it's a Netscape block (with animation loop counter).\n if (\n buf[p] !== 0x0b || // 21 FF already read, check block size.\n // NETSCAPE2.0\n (buf[p + 1] == 0x4e &&\n buf[p + 2] == 0x45 &&\n buf[p + 3] == 0x54 &&\n buf[p + 4] == 0x53 &&\n buf[p + 5] == 0x43 &&\n buf[p + 6] == 0x41 &&\n buf[p + 7] == 0x50 &&\n buf[p + 8] == 0x45 &&\n buf[p + 9] == 0x32 &&\n buf[p + 10] == 0x2e &&\n buf[p + 11] == 0x30 &&\n // Sub-block\n buf[p + 12] == 0x03 &&\n buf[p + 13] == 0x01 &&\n buf[p + 16] == 0)\n ) {\n p += 14;\n loop_count = buf[p++] | (buf[p++] << 8);\n p++; // Skip terminator.\n } else {\n // We don't know what it is, just try to get past it.\n p += 12;\n while (true) {\n // Seek through subblocks.\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n p += block_size;\n }\n }\n break;\n\n case 0xf9: // Graphics Control Extension\n if (buf[p++] !== 0x4 || buf[p + 4] !== 0)\n throw new Error(\"Invalid graphics extension block.\");\n var pf1 = buf[p++];\n delay = buf[p++] | (buf[p++] << 8);\n transparent_index = buf[p++];\n if ((pf1 & 1) === 0) transparent_index = null;\n disposal = (pf1 >> 2) & 0x7;\n p++; // Skip terminator.\n break;\n\n case 0xfe: // Comment Extension.\n while (true) {\n // Seek through subblocks.\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n // console.log(buf.slice(p, p+block_size).toString('ascii'));\n p += block_size;\n }\n break;\n\n default:\n throw new Error(\n \"Unknown graphic control label: 0x\" + buf[p - 1].toString(16)\n );\n }\n break;\n\n case 0x2c: // Image Descriptor.\n var x = buf[p++] | (buf[p++] << 8);\n var y = buf[p++] | (buf[p++] << 8);\n var w = buf[p++] | (buf[p++] << 8);\n var h = buf[p++] | (buf[p++] << 8);\n var pf2 = buf[p++];\n var local_palette_flag = pf2 >> 7;\n var interlace_flag = (pf2 >> 6) & 1;\n var num_local_colors_pow2 = pf2 & 0x7;\n var num_local_colors = 1 << (num_local_colors_pow2 + 1);\n var palette_offset = global_palette_offset;\n var palette_size = global_palette_size;\n var has_local_palette = false;\n if (local_palette_flag) {\n var has_local_palette = true;\n palette_offset = p; // Override with local palette.\n palette_size = num_local_colors;\n p += num_local_colors * 3; // Seek past palette.\n }\n\n var data_offset = p;\n\n p++; // codesize\n while (true) {\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n p += block_size;\n }\n\n frames.push({\n x: x,\n y: y,\n width: w,\n height: h,\n has_local_palette: has_local_palette,\n palette_offset: palette_offset,\n palette_size: palette_size,\n data_offset: data_offset,\n data_length: p - data_offset,\n transparent_index: transparent_index,\n interlaced: !!interlace_flag,\n delay: delay,\n disposal: disposal\n });\n break;\n\n case 0x3b: // Trailer Marker (end of file).\n no_eof = false;\n break;\n\n default:\n throw new Error(\"Unknown gif block: 0x\" + buf[p - 1].toString(16));\n break;\n }\n }\n\n this.numFrames = function() {\n return frames.length;\n };\n\n this.loopCount = function() {\n return loop_count;\n };\n\n this.frameInfo = function(frame_num) {\n if (frame_num < 0 || frame_num >= frames.length)\n throw new Error(\"Frame index out of range.\");\n return frames[frame_num];\n };\n\n this.decodeAndBlitFrameBGRA = function(frame_num, pixels) {\n var frame = this.frameInfo(frame_num);\n var num_pixels = frame.width * frame.height;\n var index_stream = new Uint8Array(num_pixels); // At most 8-bit indices.\n GifReaderLZWOutputIndexStream(\n buf,\n frame.data_offset,\n index_stream,\n num_pixels\n );\n var palette_offset = frame.palette_offset;\n\n // NOTE(deanm): It seems to be much faster to compare index to 256 than\n // to === null. Not sure why, but CompareStub_EQ_STRICT shows up high in\n // the profile, not sure if it's related to using a Uint8Array.\n var trans = frame.transparent_index;\n if (trans === null) trans = 256;\n\n // We are possibly just blitting to a portion of the entire frame.\n // That is a subrect within the framerect, so the additional pixels\n // must be skipped over after we finished a scanline.\n var framewidth = frame.width;\n var framestride = width - framewidth;\n var xleft = framewidth; // Number of subrect pixels left in scanline.\n\n // Output indices of the top left and bottom right corners of the subrect.\n var opbeg = (frame.y * width + frame.x) * 4;\n var opend = ((frame.y + frame.height) * width + frame.x) * 4;\n var op = opbeg;\n\n var scanstride = framestride * 4;\n\n // Use scanstride to skip past the rows when interlacing. This is skipping\n // 7 rows for the first two passes, then 3 then 1.\n if (frame.interlaced === true) {\n scanstride += width * 4 * 7; // Pass 1.\n }\n\n var interlaceskip = 8; // Tracking the row interval in the current pass.\n\n for (var i = 0, il = index_stream.length; i < il; ++i) {\n var index = index_stream[i];\n\n if (xleft === 0) {\n // Beginning of new scan line\n op += scanstride;\n xleft = framewidth;\n if (op >= opend) {\n // Catch the wrap to switch passes when interlacing.\n scanstride = framestride * 4 + width * 4 * (interlaceskip - 1);\n // interlaceskip / 2 * 4 is interlaceskip << 1.\n op = opbeg + (framewidth + framestride) * (interlaceskip << 1);\n interlaceskip >>= 1;\n }\n }\n\n if (index === trans) {\n op += 4;\n } else {\n var r = buf[palette_offset + index * 3];\n var g = buf[palette_offset + index * 3 + 1];\n var b = buf[palette_offset + index * 3 + 2];\n pixels[op++] = b;\n pixels[op++] = g;\n pixels[op++] = r;\n pixels[op++] = 255;\n }\n --xleft;\n }\n };\n\n // I will go to copy and paste hell one day...\n this.decodeAndBlitFrameRGBA = function(frame_num, pixels) {\n var frame = this.frameInfo(frame_num);\n var num_pixels = frame.width * frame.height;\n var index_stream = new Uint8Array(num_pixels); // At most 8-bit indices.\n GifReaderLZWOutputIndexStream(\n buf,\n frame.data_offset,\n index_stream,\n num_pixels\n );\n var palette_offset = frame.palette_offset;\n\n // NOTE(deanm): It seems to be much faster to compare index to 256 than\n // to === null. Not sure why, but CompareStub_EQ_STRICT shows up high in\n // the profile, not sure if it's related to using a Uint8Array.\n var trans = frame.transparent_index;\n if (trans === null) trans = 256;\n\n // We are possibly just blitting to a portion of the entire frame.\n // That is a subrect within the framerect, so the additional pixels\n // must be skipped over after we finished a scanline.\n var framewidth = frame.width;\n var framestride = width - framewidth;\n var xleft = framewidth; // Number of subrect pixels left in scanline.\n\n // Output indices of the top left and bottom right corners of the subrect.\n var opbeg = (frame.y * width + frame.x) * 4;\n var opend = ((frame.y + frame.height) * width + frame.x) * 4;\n var op = opbeg;\n\n var scanstride = framestride * 4;\n\n // Use scanstride to skip past the rows when interlacing. This is skipping\n // 7 rows for the first two passes, then 3 then 1.\n if (frame.interlaced === true) {\n scanstride += width * 4 * 7; // Pass 1.\n }\n\n var interlaceskip = 8; // Tracking the row interval in the current pass.\n\n for (var i = 0, il = index_stream.length; i < il; ++i) {\n var index = index_stream[i];\n\n if (xleft === 0) {\n // Beginning of new scan line\n op += scanstride;\n xleft = framewidth;\n if (op >= opend) {\n // Catch the wrap to switch passes when interlacing.\n scanstride = framestride * 4 + width * 4 * (interlaceskip - 1);\n // interlaceskip / 2 * 4 is interlaceskip << 1.\n op = opbeg + (framewidth + framestride) * (interlaceskip << 1);\n interlaceskip >>= 1;\n }\n }\n\n if (index === trans) {\n op += 4;\n } else {\n var r = buf[palette_offset + index * 3];\n var g = buf[palette_offset + index * 3 + 1];\n var b = buf[palette_offset + index * 3 + 2];\n pixels[op++] = r;\n pixels[op++] = g;\n pixels[op++] = b;\n pixels[op++] = 255;\n }\n --xleft;\n }\n };\n}\n\nfunction GifReaderLZWOutputIndexStream(code_stream, p, output, output_length) {\n var min_code_size = code_stream[p++];\n\n var clear_code = 1 << min_code_size;\n var eoi_code = clear_code + 1;\n var next_code = eoi_code + 1;\n\n var cur_code_size = min_code_size + 1; // Number of bits per code.\n // NOTE: This shares the same name as the encoder, but has a different\n // meaning here. Here this masks each code coming from the code stream.\n var code_mask = (1 << cur_code_size) - 1;\n var cur_shift = 0;\n var cur = 0;\n\n var op = 0; // Output pointer.\n\n var subblock_size = code_stream[p++];\n\n // TODO(deanm): Would using a TypedArray be any faster? At least it would\n // solve the fast mode / backing store uncertainty.\n // var code_table = Array(4096);\n var code_table = new Int32Array(4096); // Can be signed, we only use 20 bits.\n\n var prev_code = null; // Track code-1.\n\n while (true) {\n // Read up to two bytes, making sure we always 12-bits for max sized code.\n while (cur_shift < 16) {\n if (subblock_size === 0) break; // No more data to be read.\n\n cur |= code_stream[p++] << cur_shift;\n cur_shift += 8;\n\n if (subblock_size === 1) {\n // Never let it get to 0 to hold logic above.\n subblock_size = code_stream[p++]; // Next subblock.\n } else {\n --subblock_size;\n }\n }\n\n // TODO(deanm): We should never really get here, we should have received\n // and EOI.\n if (cur_shift < cur_code_size) break;\n\n var code = cur & code_mask;\n cur >>= cur_code_size;\n cur_shift -= cur_code_size;\n\n // TODO(deanm): Maybe should check that the first code was a clear code,\n // at least this is what you're supposed to do. But actually our encoder\n // now doesn't emit a clear code first anyway.\n if (code === clear_code) {\n // We don't actually have to clear the table. This could be a good idea\n // for greater error checking, but we don't really do any anyway. We\n // will just track it with next_code and overwrite old entries.\n\n next_code = eoi_code + 1;\n cur_code_size = min_code_size + 1;\n code_mask = (1 << cur_code_size) - 1;\n\n // Don't update prev_code ?\n prev_code = null;\n continue;\n } else if (code === eoi_code) {\n break;\n }\n\n // We have a similar situation as the decoder, where we want to store\n // variable length entries (code table entries), but we want to do in a\n // faster manner than an array of arrays. The code below stores sort of a\n // linked list within the code table, and then \"chases\" through it to\n // construct the dictionary entries. When a new entry is created, just the\n // last byte is stored, and the rest (prefix) of the entry is only\n // referenced by its table entry. Then the code chases through the\n // prefixes until it reaches a single byte code. We have to chase twice,\n // first to compute the length, and then to actually copy the data to the\n // output (backwards, since we know the length). The alternative would be\n // storing something in an intermediate stack, but that doesn't make any\n // more sense. I implemented an approach where it also stored the length\n // in the code table, although it's a bit tricky because you run out of\n // bits (12 + 12 + 8), but I didn't measure much improvements (the table\n // entries are generally not the long). Even when I created benchmarks for\n // very long table entries the complexity did not seem worth it.\n // The code table stores the prefix entry in 12 bits and then the suffix\n // byte in 8 bits, so each entry is 20 bits.\n\n var chase_code = code < next_code ? code : prev_code;\n\n // Chase what we will output, either {CODE} or {CODE-1}.\n var chase_length = 0;\n var chase = chase_code;\n while (chase > clear_code) {\n chase = code_table[chase] >> 8;\n ++chase_length;\n }\n\n var k = chase;\n\n var op_end = op + chase_length + (chase_code !== code ? 1 : 0);\n if (op_end > output_length) {\n console.log(\"Warning, gif stream longer than expected.\");\n return;\n }\n\n // Already have the first byte from the chase, might as well write it fast.\n output[op++] = k;\n\n op += chase_length;\n var b = op; // Track pointer, writing backwards.\n\n if (chase_code !== code)\n // The case of emitting {CODE-1} + k.\n output[op++] = k;\n\n chase = chase_code;\n while (chase_length--) {\n chase = code_table[chase];\n output[--b] = chase & 0xff; // Write backwards.\n chase >>= 8; // Pull down to the prefix code.\n }\n\n if (prev_code !== null && next_code < 4096) {\n code_table[next_code++] = (prev_code << 8) | k;\n // TODO(deanm): Figure out this clearing vs code growth logic better. I\n // have an feeling that it should just happen somewhere else, for now it\n // is awkward between when we grow past the max and then hit a clear code.\n // For now just check if we hit the max 12-bits (then a clear code should\n // follow, also of course encoded in 12-bits).\n if (next_code >= code_mask + 1 && cur_code_size < 12) {\n ++cur_code_size;\n code_mask = (code_mask << 1) | 1;\n }\n }\n\n prev_code = code;\n }\n\n if (op !== output_length) {\n console.log(\"Warning, gif stream shorter than expected.\");\n }\n\n return output;\n}\n\nexport { GifReader, GifWriter };\n","/**\n * @license\n Copyright (c) 2008, Adobe Systems Incorporated\n All rights reserved.\n\n Redistribution and use in source and binary forms, with or without \n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright notice, \n this list of conditions and the following disclaimer.\n \n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the \n documentation and/or other materials provided with the distribution.\n \n * Neither the name of Adobe Systems Incorporated nor the names of its \n contributors may be used to endorse or promote products derived from \n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS\n IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\n THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR \n CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n/*\nJPEG encoder ported to JavaScript and optimized by Andreas Ritter, www.bytestrom.eu, 11/2009\n\nBasic GUI blocking jpeg encoder\n*/\n\nfunction JPEGEncoder(quality) {\n var ffloor = Math.floor;\n var YTable = new Array(64);\n var UVTable = new Array(64);\n var fdtbl_Y = new Array(64);\n var fdtbl_UV = new Array(64);\n var YDC_HT;\n var UVDC_HT;\n var YAC_HT;\n var UVAC_HT;\n\n var bitcode = new Array(65535);\n var category = new Array(65535);\n var outputfDCTQuant = new Array(64);\n var DU = new Array(64);\n var byteout = [];\n var bytenew = 0;\n var bytepos = 7;\n\n var YDU = new Array(64);\n var UDU = new Array(64);\n var VDU = new Array(64);\n var clt = new Array(256);\n var RGB_YUV_TABLE = new Array(2048);\n var currentQuality;\n\n var ZigZag = [\n 0,\n 1,\n 5,\n 6,\n 14,\n 15,\n 27,\n 28,\n 2,\n 4,\n 7,\n 13,\n 16,\n 26,\n 29,\n 42,\n 3,\n 8,\n 12,\n 17,\n 25,\n 30,\n 41,\n 43,\n 9,\n 11,\n 18,\n 24,\n 31,\n 40,\n 44,\n 53,\n 10,\n 19,\n 23,\n 32,\n 39,\n 45,\n 52,\n 54,\n 20,\n 22,\n 33,\n 38,\n 46,\n 51,\n 55,\n 60,\n 21,\n 34,\n 37,\n 47,\n 50,\n 56,\n 59,\n 61,\n 35,\n 36,\n 48,\n 49,\n 57,\n 58,\n 62,\n 63\n ];\n\n var std_dc_luminance_nrcodes = [\n 0,\n 0,\n 1,\n 5,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var std_dc_luminance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_luminance_nrcodes = [\n 0,\n 0,\n 2,\n 1,\n 3,\n 3,\n 2,\n 4,\n 3,\n 5,\n 5,\n 4,\n 4,\n 0,\n 0,\n 1,\n 0x7d\n ];\n var std_ac_luminance_values = [\n 0x01,\n 0x02,\n 0x03,\n 0x00,\n 0x04,\n 0x11,\n 0x05,\n 0x12,\n 0x21,\n 0x31,\n 0x41,\n 0x06,\n 0x13,\n 0x51,\n 0x61,\n 0x07,\n 0x22,\n 0x71,\n 0x14,\n 0x32,\n 0x81,\n 0x91,\n 0xa1,\n 0x08,\n 0x23,\n 0x42,\n 0xb1,\n 0xc1,\n 0x15,\n 0x52,\n 0xd1,\n 0xf0,\n 0x24,\n 0x33,\n 0x62,\n 0x72,\n 0x82,\n 0x09,\n 0x0a,\n 0x16,\n 0x17,\n 0x18,\n 0x19,\n 0x1a,\n 0x25,\n 0x26,\n 0x27,\n 0x28,\n 0x29,\n 0x2a,\n 0x34,\n 0x35,\n 0x36,\n 0x37,\n 0x38,\n 0x39,\n 0x3a,\n 0x43,\n 0x44,\n 0x45,\n 0x46,\n 0x47,\n 0x48,\n 0x49,\n 0x4a,\n 0x53,\n 0x54,\n 0x55,\n 0x56,\n 0x57,\n 0x58,\n 0x59,\n 0x5a,\n 0x63,\n 0x64,\n 0x65,\n 0x66,\n 0x67,\n 0x68,\n 0x69,\n 0x6a,\n 0x73,\n 0x74,\n 0x75,\n 0x76,\n 0x77,\n 0x78,\n 0x79,\n 0x7a,\n 0x83,\n 0x84,\n 0x85,\n 0x86,\n 0x87,\n 0x88,\n 0x89,\n 0x8a,\n 0x92,\n 0x93,\n 0x94,\n 0x95,\n 0x96,\n 0x97,\n 0x98,\n 0x99,\n 0x9a,\n 0xa2,\n 0xa3,\n 0xa4,\n 0xa5,\n 0xa6,\n 0xa7,\n 0xa8,\n 0xa9,\n 0xaa,\n 0xb2,\n 0xb3,\n 0xb4,\n 0xb5,\n 0xb6,\n 0xb7,\n 0xb8,\n 0xb9,\n 0xba,\n 0xc2,\n 0xc3,\n 0xc4,\n 0xc5,\n 0xc6,\n 0xc7,\n 0xc8,\n 0xc9,\n 0xca,\n 0xd2,\n 0xd3,\n 0xd4,\n 0xd5,\n 0xd6,\n 0xd7,\n 0xd8,\n 0xd9,\n 0xda,\n 0xe1,\n 0xe2,\n 0xe3,\n 0xe4,\n 0xe5,\n 0xe6,\n 0xe7,\n 0xe8,\n 0xe9,\n 0xea,\n 0xf1,\n 0xf2,\n 0xf3,\n 0xf4,\n 0xf5,\n 0xf6,\n 0xf7,\n 0xf8,\n 0xf9,\n 0xfa\n ];\n\n var std_dc_chrominance_nrcodes = [\n 0,\n 0,\n 3,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var std_dc_chrominance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_chrominance_nrcodes = [\n 0,\n 0,\n 2,\n 1,\n 2,\n 4,\n 4,\n 3,\n 4,\n 7,\n 5,\n 4,\n 4,\n 0,\n 1,\n 2,\n 0x77\n ];\n var std_ac_chrominance_values = [\n 0x00,\n 0x01,\n 0x02,\n 0x03,\n 0x11,\n 0x04,\n 0x05,\n 0x21,\n 0x31,\n 0x06,\n 0x12,\n 0x41,\n 0x51,\n 0x07,\n 0x61,\n 0x71,\n 0x13,\n 0x22,\n 0x32,\n 0x81,\n 0x08,\n 0x14,\n 0x42,\n 0x91,\n 0xa1,\n 0xb1,\n 0xc1,\n 0x09,\n 0x23,\n 0x33,\n 0x52,\n 0xf0,\n 0x15,\n 0x62,\n 0x72,\n 0xd1,\n 0x0a,\n 0x16,\n 0x24,\n 0x34,\n 0xe1,\n 0x25,\n 0xf1,\n 0x17,\n 0x18,\n 0x19,\n 0x1a,\n 0x26,\n 0x27,\n 0x28,\n 0x29,\n 0x2a,\n 0x35,\n 0x36,\n 0x37,\n 0x38,\n 0x39,\n 0x3a,\n 0x43,\n 0x44,\n 0x45,\n 0x46,\n 0x47,\n 0x48,\n 0x49,\n 0x4a,\n 0x53,\n 0x54,\n 0x55,\n 0x56,\n 0x57,\n 0x58,\n 0x59,\n 0x5a,\n 0x63,\n 0x64,\n 0x65,\n 0x66,\n 0x67,\n 0x68,\n 0x69,\n 0x6a,\n 0x73,\n 0x74,\n 0x75,\n 0x76,\n 0x77,\n 0x78,\n 0x79,\n 0x7a,\n 0x82,\n 0x83,\n 0x84,\n 0x85,\n 0x86,\n 0x87,\n 0x88,\n 0x89,\n 0x8a,\n 0x92,\n 0x93,\n 0x94,\n 0x95,\n 0x96,\n 0x97,\n 0x98,\n 0x99,\n 0x9a,\n 0xa2,\n 0xa3,\n 0xa4,\n 0xa5,\n 0xa6,\n 0xa7,\n 0xa8,\n 0xa9,\n 0xaa,\n 0xb2,\n 0xb3,\n 0xb4,\n 0xb5,\n 0xb6,\n 0xb7,\n 0xb8,\n 0xb9,\n 0xba,\n 0xc2,\n 0xc3,\n 0xc4,\n 0xc5,\n 0xc6,\n 0xc7,\n 0xc8,\n 0xc9,\n 0xca,\n 0xd2,\n 0xd3,\n 0xd4,\n 0xd5,\n 0xd6,\n 0xd7,\n 0xd8,\n 0xd9,\n 0xda,\n 0xe2,\n 0xe3,\n 0xe4,\n 0xe5,\n 0xe6,\n 0xe7,\n 0xe8,\n 0xe9,\n 0xea,\n 0xf2,\n 0xf3,\n 0xf4,\n 0xf5,\n 0xf6,\n 0xf7,\n 0xf8,\n 0xf9,\n 0xfa\n ];\n\n function initQuantTables(sf) {\n var YQT = [\n 16,\n 11,\n 10,\n 16,\n 24,\n 40,\n 51,\n 61,\n 12,\n 12,\n 14,\n 19,\n 26,\n 58,\n 60,\n 55,\n 14,\n 13,\n 16,\n 24,\n 40,\n 57,\n 69,\n 56,\n 14,\n 17,\n 22,\n 29,\n 51,\n 87,\n 80,\n 62,\n 18,\n 22,\n 37,\n 56,\n 68,\n 109,\n 103,\n 77,\n 24,\n 35,\n 55,\n 64,\n 81,\n 104,\n 113,\n 92,\n 49,\n 64,\n 78,\n 87,\n 103,\n 121,\n 120,\n 101,\n 72,\n 92,\n 95,\n 98,\n 112,\n 100,\n 103,\n 99\n ];\n\n for (var i = 0; i < 64; i++) {\n var t = ffloor((YQT[i] * sf + 50) / 100);\n t = Math.min(Math.max(t, 1), 255);\n YTable[ZigZag[i]] = t;\n }\n var UVQT = [\n 17,\n 18,\n 24,\n 47,\n 99,\n 99,\n 99,\n 99,\n 18,\n 21,\n 26,\n 66,\n 99,\n 99,\n 99,\n 99,\n 24,\n 26,\n 56,\n 99,\n 99,\n 99,\n 99,\n 99,\n 47,\n 66,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99\n ];\n for (var j = 0; j < 64; j++) {\n var u = ffloor((UVQT[j] * sf + 50) / 100);\n u = Math.min(Math.max(u, 1), 255);\n UVTable[ZigZag[j]] = u;\n }\n var aasf = [\n 1.0,\n 1.387039845,\n 1.306562965,\n 1.175875602,\n 1.0,\n 0.785694958,\n 0.5411961,\n 0.275899379\n ];\n var k = 0;\n for (var row = 0; row < 8; row++) {\n for (var col = 0; col < 8; col++) {\n fdtbl_Y[k] = 1.0 / (YTable[ZigZag[k]] * aasf[row] * aasf[col] * 8.0);\n fdtbl_UV[k] = 1.0 / (UVTable[ZigZag[k]] * aasf[row] * aasf[col] * 8.0);\n k++;\n }\n }\n }\n\n function computeHuffmanTbl(nrcodes, std_table) {\n var codevalue = 0;\n var pos_in_table = 0;\n var HT = new Array();\n for (var k = 1; k <= 16; k++) {\n for (var j = 1; j <= nrcodes[k]; j++) {\n HT[std_table[pos_in_table]] = [];\n HT[std_table[pos_in_table]][0] = codevalue;\n HT[std_table[pos_in_table]][1] = k;\n pos_in_table++;\n codevalue++;\n }\n codevalue *= 2;\n }\n return HT;\n }\n\n function initHuffmanTbl() {\n YDC_HT = computeHuffmanTbl(\n std_dc_luminance_nrcodes,\n std_dc_luminance_values\n );\n UVDC_HT = computeHuffmanTbl(\n std_dc_chrominance_nrcodes,\n std_dc_chrominance_values\n );\n YAC_HT = computeHuffmanTbl(\n std_ac_luminance_nrcodes,\n std_ac_luminance_values\n );\n UVAC_HT = computeHuffmanTbl(\n std_ac_chrominance_nrcodes,\n std_ac_chrominance_values\n );\n }\n\n function initCategoryNumber() {\n var nrlower = 1;\n var nrupper = 2;\n for (var cat = 1; cat <= 15; cat++) {\n //Positive numbers\n for (var nr = nrlower; nr < nrupper; nr++) {\n category[32767 + nr] = cat;\n bitcode[32767 + nr] = [];\n bitcode[32767 + nr][1] = cat;\n bitcode[32767 + nr][0] = nr;\n }\n //Negative numbers\n for (var nrneg = -(nrupper - 1); nrneg <= -nrlower; nrneg++) {\n category[32767 + nrneg] = cat;\n bitcode[32767 + nrneg] = [];\n bitcode[32767 + nrneg][1] = cat;\n bitcode[32767 + nrneg][0] = nrupper - 1 + nrneg;\n }\n nrlower <<= 1;\n nrupper <<= 1;\n }\n }\n\n function initRGBYUVTable() {\n for (var i = 0; i < 256; i++) {\n RGB_YUV_TABLE[i] = 19595 * i;\n RGB_YUV_TABLE[(i + 256) >> 0] = 38470 * i;\n RGB_YUV_TABLE[(i + 512) >> 0] = 7471 * i + 0x8000;\n RGB_YUV_TABLE[(i + 768) >> 0] = -11059 * i;\n RGB_YUV_TABLE[(i + 1024) >> 0] = -21709 * i;\n RGB_YUV_TABLE[(i + 1280) >> 0] = 32768 * i + 0x807fff;\n RGB_YUV_TABLE[(i + 1536) >> 0] = -27439 * i;\n RGB_YUV_TABLE[(i + 1792) >> 0] = -5329 * i;\n }\n }\n\n // IO functions\n function writeBits(bs) {\n var value = bs[0];\n var posval = bs[1] - 1;\n while (posval >= 0) {\n if (value & (1 << posval)) {\n bytenew |= 1 << bytepos;\n }\n posval--;\n bytepos--;\n if (bytepos < 0) {\n if (bytenew == 0xff) {\n writeByte(0xff);\n writeByte(0);\n } else {\n writeByte(bytenew);\n }\n bytepos = 7;\n bytenew = 0;\n }\n }\n }\n\n function writeByte(value) {\n //byteout.push(clt[value]); // write char directly instead of converting later\n byteout.push(value);\n }\n\n function writeWord(value) {\n writeByte((value >> 8) & 0xff);\n writeByte(value & 0xff);\n }\n\n // DCT & quantization core\n function fDCTQuant(data, fdtbl) {\n var d0, d1, d2, d3, d4, d5, d6, d7;\n /* Pass 1: process rows. */\n var dataOff = 0;\n var i;\n var I8 = 8;\n var I64 = 64;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 1];\n d2 = data[dataOff + 2];\n d3 = data[dataOff + 3];\n d4 = data[dataOff + 4];\n d5 = data[dataOff + 5];\n d6 = data[dataOff + 6];\n d7 = data[dataOff + 7];\n\n var tmp0 = d0 + d7;\n var tmp7 = d0 - d7;\n var tmp1 = d1 + d6;\n var tmp6 = d1 - d6;\n var tmp2 = d2 + d5;\n var tmp5 = d2 - d5;\n var tmp3 = d3 + d4;\n var tmp4 = d3 - d4;\n\n /* Even part */\n var tmp10 = tmp0 + tmp3; /* phase 2 */\n var tmp13 = tmp0 - tmp3;\n var tmp11 = tmp1 + tmp2;\n var tmp12 = tmp1 - tmp2;\n\n data[dataOff] = tmp10 + tmp11; /* phase 3 */\n data[dataOff + 4] = tmp10 - tmp11;\n\n var z1 = (tmp12 + tmp13) * 0.707106781; /* c4 */\n data[dataOff + 2] = tmp13 + z1; /* phase 5 */\n data[dataOff + 6] = tmp13 - z1;\n\n /* Odd part */\n tmp10 = tmp4 + tmp5; /* phase 2 */\n tmp11 = tmp5 + tmp6;\n tmp12 = tmp6 + tmp7;\n\n /* The rotator is modified from fig 4-8 to avoid extra negations. */\n var z5 = (tmp10 - tmp12) * 0.382683433; /* c6 */\n var z2 = 0.5411961 * tmp10 + z5; /* c2-c6 */\n var z4 = 1.306562965 * tmp12 + z5; /* c2+c6 */\n var z3 = tmp11 * 0.707106781; /* c4 */\n\n var z11 = tmp7 + z3; /* phase 5 */\n var z13 = tmp7 - z3;\n\n data[dataOff + 5] = z13 + z2; /* phase 6 */\n data[dataOff + 3] = z13 - z2;\n data[dataOff + 1] = z11 + z4;\n data[dataOff + 7] = z11 - z4;\n\n dataOff += 8; /* advance pointer to next row */\n }\n\n /* Pass 2: process columns. */\n dataOff = 0;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 8];\n d2 = data[dataOff + 16];\n d3 = data[dataOff + 24];\n d4 = data[dataOff + 32];\n d5 = data[dataOff + 40];\n d6 = data[dataOff + 48];\n d7 = data[dataOff + 56];\n\n var tmp0p2 = d0 + d7;\n var tmp7p2 = d0 - d7;\n var tmp1p2 = d1 + d6;\n var tmp6p2 = d1 - d6;\n var tmp2p2 = d2 + d5;\n var tmp5p2 = d2 - d5;\n var tmp3p2 = d3 + d4;\n var tmp4p2 = d3 - d4;\n\n /* Even part */\n var tmp10p2 = tmp0p2 + tmp3p2; /* phase 2 */\n var tmp13p2 = tmp0p2 - tmp3p2;\n var tmp11p2 = tmp1p2 + tmp2p2;\n var tmp12p2 = tmp1p2 - tmp2p2;\n\n data[dataOff] = tmp10p2 + tmp11p2; /* phase 3 */\n data[dataOff + 32] = tmp10p2 - tmp11p2;\n\n var z1p2 = (tmp12p2 + tmp13p2) * 0.707106781; /* c4 */\n data[dataOff + 16] = tmp13p2 + z1p2; /* phase 5 */\n data[dataOff + 48] = tmp13p2 - z1p2;\n\n /* Odd part */\n tmp10p2 = tmp4p2 + tmp5p2; /* phase 2 */\n tmp11p2 = tmp5p2 + tmp6p2;\n tmp12p2 = tmp6p2 + tmp7p2;\n\n /* The rotator is modified from fig 4-8 to avoid extra negations. */\n var z5p2 = (tmp10p2 - tmp12p2) * 0.382683433; /* c6 */\n var z2p2 = 0.5411961 * tmp10p2 + z5p2; /* c2-c6 */\n var z4p2 = 1.306562965 * tmp12p2 + z5p2; /* c2+c6 */\n var z3p2 = tmp11p2 * 0.707106781; /* c4 */\n\n var z11p2 = tmp7p2 + z3p2; /* phase 5 */\n var z13p2 = tmp7p2 - z3p2;\n\n data[dataOff + 40] = z13p2 + z2p2; /* phase 6 */\n data[dataOff + 24] = z13p2 - z2p2;\n data[dataOff + 8] = z11p2 + z4p2;\n data[dataOff + 56] = z11p2 - z4p2;\n\n dataOff++; /* advance pointer to next column */\n }\n\n // Quantize/descale the coefficients\n var fDCTQuant;\n for (i = 0; i < I64; ++i) {\n // Apply the quantization and scaling factor & Round to nearest integer\n fDCTQuant = data[i] * fdtbl[i];\n outputfDCTQuant[i] =\n fDCTQuant > 0.0 ? (fDCTQuant + 0.5) | 0 : (fDCTQuant - 0.5) | 0;\n //outputfDCTQuant[i] = fround(fDCTQuant);\n }\n return outputfDCTQuant;\n }\n\n function writeAPP0() {\n writeWord(0xffe0); // marker\n writeWord(16); // length\n writeByte(0x4a); // J\n writeByte(0x46); // F\n writeByte(0x49); // I\n writeByte(0x46); // F\n writeByte(0); // = \"JFIF\",'\\0'\n writeByte(1); // versionhi\n writeByte(1); // versionlo\n writeByte(0); // xyunits\n writeWord(1); // xdensity\n writeWord(1); // ydensity\n writeByte(0); // thumbnwidth\n writeByte(0); // thumbnheight\n }\n\n function writeSOF0(width, height) {\n writeWord(0xffc0); // marker\n writeWord(17); // length, truecolor YUV JPG\n writeByte(8); // precision\n writeWord(height);\n writeWord(width);\n writeByte(3); // nrofcomponents\n writeByte(1); // IdY\n writeByte(0x11); // HVY\n writeByte(0); // QTY\n writeByte(2); // IdU\n writeByte(0x11); // HVU\n writeByte(1); // QTU\n writeByte(3); // IdV\n writeByte(0x11); // HVV\n writeByte(1); // QTV\n }\n\n function writeDQT() {\n writeWord(0xffdb); // marker\n writeWord(132); // length\n writeByte(0);\n for (var i = 0; i < 64; i++) {\n writeByte(YTable[i]);\n }\n writeByte(1);\n for (var j = 0; j < 64; j++) {\n writeByte(UVTable[j]);\n }\n }\n\n function writeDHT() {\n writeWord(0xffc4); // marker\n writeWord(0x01a2); // length\n\n writeByte(0); // HTYDCinfo\n for (var i = 0; i < 16; i++) {\n writeByte(std_dc_luminance_nrcodes[i + 1]);\n }\n for (var j = 0; j <= 11; j++) {\n writeByte(std_dc_luminance_values[j]);\n }\n\n writeByte(0x10); // HTYACinfo\n for (var k = 0; k < 16; k++) {\n writeByte(std_ac_luminance_nrcodes[k + 1]);\n }\n for (var l = 0; l <= 161; l++) {\n writeByte(std_ac_luminance_values[l]);\n }\n\n writeByte(1); // HTUDCinfo\n for (var m = 0; m < 16; m++) {\n writeByte(std_dc_chrominance_nrcodes[m + 1]);\n }\n for (var n = 0; n <= 11; n++) {\n writeByte(std_dc_chrominance_values[n]);\n }\n\n writeByte(0x11); // HTUACinfo\n for (var o = 0; o < 16; o++) {\n writeByte(std_ac_chrominance_nrcodes[o + 1]);\n }\n for (var p = 0; p <= 161; p++) {\n writeByte(std_ac_chrominance_values[p]);\n }\n }\n\n function writeSOS() {\n writeWord(0xffda); // marker\n writeWord(12); // length\n writeByte(3); // nrofcomponents\n writeByte(1); // IdY\n writeByte(0); // HTY\n writeByte(2); // IdU\n writeByte(0x11); // HTU\n writeByte(3); // IdV\n writeByte(0x11); // HTV\n writeByte(0); // Ss\n writeByte(0x3f); // Se\n writeByte(0); // Bf\n }\n\n function processDU(CDU, fdtbl, DC, HTDC, HTAC) {\n var EOB = HTAC[0x00];\n var M16zeroes = HTAC[0xf0];\n var pos;\n var I16 = 16;\n var I63 = 63;\n var I64 = 64;\n var DU_DCT = fDCTQuant(CDU, fdtbl);\n //ZigZag reorder\n for (var j = 0; j < I64; ++j) {\n DU[ZigZag[j]] = DU_DCT[j];\n }\n var Diff = DU[0] - DC;\n DC = DU[0];\n //Encode DC\n if (Diff == 0) {\n writeBits(HTDC[0]); // Diff might be 0\n } else {\n pos = 32767 + Diff;\n writeBits(HTDC[category[pos]]);\n writeBits(bitcode[pos]);\n }\n //Encode ACs\n var end0pos = 63; // was const... which is crazy\n while (end0pos > 0 && DU[end0pos] == 0) {\n end0pos--;\n }\n //end0pos = first element in reverse order !=0\n if (end0pos == 0) {\n writeBits(EOB);\n return DC;\n }\n var i = 1;\n var lng;\n while (i <= end0pos) {\n var startpos = i;\n while (DU[i] == 0 && i <= end0pos) {\n ++i;\n }\n var nrzeroes = i - startpos;\n if (nrzeroes >= I16) {\n lng = nrzeroes >> 4;\n for (var nrmarker = 1; nrmarker <= lng; ++nrmarker)\n writeBits(M16zeroes);\n nrzeroes = nrzeroes & 0xf;\n }\n pos = 32767 + DU[i];\n writeBits(HTAC[(nrzeroes << 4) + category[pos]]);\n writeBits(bitcode[pos]);\n i++;\n }\n if (end0pos != I63) {\n writeBits(EOB);\n }\n return DC;\n }\n\n function initCharLookupTable() {\n var sfcc = String.fromCharCode;\n for (var i = 0; i < 256; i++) {\n ///// ACHTUNG // 255\n clt[i] = sfcc(i);\n }\n }\n\n this.encode = function(\n image,\n quality // image data object\n ) {\n if (quality) setQuality(quality);\n\n // Initialize bit writer\n byteout = new Array();\n bytenew = 0;\n bytepos = 7;\n\n // Add JPEG headers\n writeWord(0xffd8); // SOI\n writeAPP0();\n writeDQT();\n writeSOF0(image.width, image.height);\n writeDHT();\n writeSOS();\n\n // Encode 8x8 macroblocks\n var DCY = 0;\n var DCU = 0;\n var DCV = 0;\n\n bytenew = 0;\n bytepos = 7;\n\n this.encode.displayName = \"_encode_\";\n\n var imageData = image.data;\n var width = image.width;\n var height = image.height;\n\n var quadWidth = width * 4;\n\n var x,\n y = 0;\n var r, g, b;\n var start, p, col, row, pos;\n while (y < height) {\n x = 0;\n while (x < quadWidth) {\n start = quadWidth * y + x;\n col = -1;\n row = 0;\n\n for (pos = 0; pos < 64; pos++) {\n row = pos >> 3; // /8\n col = (pos & 7) * 4; // %8\n p = start + row * quadWidth + col;\n\n if (y + row >= height) {\n // padding bottom\n p -= quadWidth * (y + 1 + row - height);\n }\n\n if (x + col >= quadWidth) {\n // padding right\n p -= x + col - quadWidth + 4;\n }\n\n r = imageData[p++];\n g = imageData[p++];\n b = imageData[p++];\n\n /* // calculate YUV values dynamically\n\t\t\t\t\tYDU[pos]=((( 0.29900)*r+( 0.58700)*g+( 0.11400)*b))-128; //-0x80\n\t\t\t\t\tUDU[pos]=(((-0.16874)*r+(-0.33126)*g+( 0.50000)*b));\n\t\t\t\t\tVDU[pos]=((( 0.50000)*r+(-0.41869)*g+(-0.08131)*b));\n\t\t\t\t\t*/\n\n // use lookup table (slightly faster)\n YDU[pos] =\n ((RGB_YUV_TABLE[r] +\n RGB_YUV_TABLE[(g + 256) >> 0] +\n RGB_YUV_TABLE[(b + 512) >> 0]) >>\n 16) -\n 128;\n UDU[pos] =\n ((RGB_YUV_TABLE[(r + 768) >> 0] +\n RGB_YUV_TABLE[(g + 1024) >> 0] +\n RGB_YUV_TABLE[(b + 1280) >> 0]) >>\n 16) -\n 128;\n VDU[pos] =\n ((RGB_YUV_TABLE[(r + 1280) >> 0] +\n RGB_YUV_TABLE[(g + 1536) >> 0] +\n RGB_YUV_TABLE[(b + 1792) >> 0]) >>\n 16) -\n 128;\n }\n\n DCY = processDU(YDU, fdtbl_Y, DCY, YDC_HT, YAC_HT);\n DCU = processDU(UDU, fdtbl_UV, DCU, UVDC_HT, UVAC_HT);\n DCV = processDU(VDU, fdtbl_UV, DCV, UVDC_HT, UVAC_HT);\n x += 32;\n }\n y += 8;\n }\n\n ////////////////////////////////////////////////////////////////\n\n // Do the bit alignment of the EOI marker\n if (bytepos >= 0) {\n var fillbits = [];\n fillbits[1] = bytepos + 1;\n fillbits[0] = (1 << (bytepos + 1)) - 1;\n writeBits(fillbits);\n }\n\n writeWord(0xffd9); //EOI\n\n return new Uint8Array(byteout);\n };\n\n function setQuality(quality) {\n quality = Math.min(Math.max(quality, 1), 100);\n\n if (currentQuality == quality) return; // don't recalc if unchanged\n\n var sf =\n quality < 50 ? Math.floor(5000 / quality) : Math.floor(200 - quality * 2);\n\n initQuantTables(sf);\n currentQuality = quality;\n //console.log('Quality set to: '+quality +'%');\n }\n\n function init() {\n quality = quality || 50;\n // Create tables\n initCharLookupTable();\n initHuffmanTbl();\n initCategoryNumber();\n initRGBYUVTable();\n\n setQuality(quality);\n }\n init();\n}\n\nexport { JPEGEncoder };\n","/**\n * @author shaozilee\n *\n * Bmp format decoder,support 1bit 4bit 8bit 24bit bmp\n *\n */\n\nimport { console } from \"./console.js\";\n\nfunction BmpDecoder(buffer, is_with_alpha) {\n this.pos = 0;\n this.buffer = buffer;\n this.datav = new DataView(buffer.buffer);\n this.is_with_alpha = !!is_with_alpha;\n this.bottom_up = true;\n this.flag =\n String.fromCharCode(this.buffer[0]) + String.fromCharCode(this.buffer[1]);\n this.pos += 2;\n if ([\"BM\", \"BA\", \"CI\", \"CP\", \"IC\", \"PT\"].indexOf(this.flag) === -1)\n throw new Error(\"Invalid BMP File\");\n this.parseHeader();\n this.parseBGR();\n}\n\nBmpDecoder.prototype.parseHeader = function() {\n this.fileSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.reserved = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.offset = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.headerSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.width = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.height = this.datav.getInt32(this.pos, true);\n this.pos += 4;\n this.planes = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n this.bitPP = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n this.compress = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.rawSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.hr = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.vr = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.colors = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.importantColors = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n\n if (this.bitPP === 16 && this.is_with_alpha) {\n this.bitPP = 15;\n }\n if (this.bitPP < 15) {\n var len = this.colors === 0 ? 1 << this.bitPP : this.colors;\n this.palette = new Array(len);\n for (var i = 0; i < len; i++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var quad = this.datav.getUint8(this.pos++, true);\n this.palette[i] = {\n red: red,\n green: green,\n blue: blue,\n quad: quad\n };\n }\n }\n if (this.height < 0) {\n this.height *= -1;\n this.bottom_up = false;\n }\n};\n\nBmpDecoder.prototype.parseBGR = function() {\n this.pos = this.offset;\n try {\n var bitn = \"bit\" + this.bitPP;\n var len = this.width * this.height * 4;\n this.data = new Uint8Array(len);\n\n this[bitn]();\n } catch (e) {\n console.log(\"bit decode error:\" + e);\n }\n};\n\nBmpDecoder.prototype.bit1 = function() {\n var xlen = Math.ceil(this.width / 8);\n var mode = xlen % 4;\n var y;\n for (y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < xlen; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 8 * 4;\n for (var i = 0; i < 8; i++) {\n if (x * 8 + i < this.width) {\n var rgb = this.palette[(b >> (7 - i)) & 0x1];\n this.data[location + i * 4] = rgb.blue;\n this.data[location + i * 4 + 1] = rgb.green;\n this.data[location + i * 4 + 2] = rgb.red;\n this.data[location + i * 4 + 3] = 0xff;\n } else {\n break;\n }\n }\n }\n\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit4 = function() {\n var xlen = Math.ceil(this.width / 2);\n var mode = xlen % 4;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < xlen; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 2 * 4;\n\n var before = b >> 4;\n var after = b & 0x0f;\n\n var rgb = this.palette[before];\n this.data[location] = rgb.blue;\n this.data[location + 1] = rgb.green;\n this.data[location + 2] = rgb.red;\n this.data[location + 3] = 0xff;\n\n if (x * 2 + 1 >= this.width) break;\n\n rgb = this.palette[after];\n this.data[location + 4] = rgb.blue;\n this.data[location + 4 + 1] = rgb.green;\n this.data[location + 4 + 2] = rgb.red;\n this.data[location + 4 + 3] = 0xff;\n }\n\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit8 = function() {\n var mode = this.width % 4;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n if (b < this.palette.length) {\n var rgb = this.palette[b];\n this.data[location] = rgb.red;\n this.data[location + 1] = rgb.green;\n this.data[location + 2] = rgb.blue;\n this.data[location + 3] = 0xff;\n } else {\n this.data[location] = 0xff;\n this.data[location + 1] = 0xff;\n this.data[location + 2] = 0xff;\n this.data[location + 3] = 0xff;\n }\n }\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit15 = function() {\n var dif_w = this.width % 3;\n var _11111 = parseInt(\"11111\", 2),\n _1_5 = _11111;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var B = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n var blue = (((B & _1_5) / _1_5) * 255) | 0;\n var green = ((((B >> 5) & _1_5) / _1_5) * 255) | 0;\n var red = ((((B >> 10) & _1_5) / _1_5) * 255) | 0;\n var alpha = B >> 15 ? 0xff : 0x00;\n\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n this.pos += dif_w;\n }\n};\n\nBmpDecoder.prototype.bit16 = function() {\n var dif_w = this.width % 3;\n var _11111 = parseInt(\"11111\", 2),\n _1_5 = _11111;\n var _111111 = parseInt(\"111111\", 2),\n _1_6 = _111111;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var B = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n var alpha = 0xff;\n var blue = (((B & _1_5) / _1_5) * 255) | 0;\n var green = ((((B >> 5) & _1_6) / _1_6) * 255) | 0;\n var red = (((B >> 11) / _1_5) * 255) | 0;\n\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n this.pos += dif_w;\n }\n};\n\nBmpDecoder.prototype.bit24 = function() {\n //when height > 0\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = 0xff;\n }\n //skip extra bytes\n this.pos += this.width % 4;\n }\n};\n\n/**\n * add 32bit decode func\n * @author soubok\n */\nBmpDecoder.prototype.bit32 = function() {\n //when height > 0\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var alpha = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n //this.pos += (this.width % 4);\n }\n};\n\nBmpDecoder.prototype.getData = function() {\n return this.data;\n};\n\nexport { BmpDecoder };\n","function WebPDecoder(imageData) {\n /** @license\n * Copyright 2011 Google Inc.\n *\n * This code is licensed under the same terms as WebM:\n * Software License Agreement: http://www.webmproject.org/license/software/\n * Additional IP Rights Grant: http://www.webmproject.org/license/additional/\n * -----------------------------------------------------------------------------\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\n * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\n * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n * -----------------------------------------------------------------------------\n *\n * Copyright 2011-2017 Dominik Homberger\n * Libwebp Javascript / libwebpjs - the libwebp implementation in javascript (v0.6.0)\n *\n * Author: Dominik Homberger (dominik.homberger@gmail.com)\n */\n\n var self = this;\n var UpsampleRgbLinePair,\n UpsampleBgrLinePair,\n UpsampleRgbaLinePair,\n UpsampleBgraLinePair,\n UpsampleArgbLinePair,\n UpsampleArgbLinePair,\n UpsampleRgba4444LinePair,\n UpsampleRgb565LinePair;\n\n function x(F) {\n if (!F) throw Error(\"assert :P\");\n }\n function fa(F, L, J) {\n for (var H = 0; 4 > H; H++) if (F[L + H] != J.charCodeAt(H)) return !0;\n return !1;\n }\n function I(F, L, J, H, Z) {\n for (var O = 0; O < Z; O++) F[L + O] = J[H + O];\n }\n function M(F, L, J, H) {\n for (var Z = 0; Z < H; Z++) F[L + Z] = J;\n }\n function V(F) {\n return new Int32Array(F);\n }\n function wa(F, L) {\n for (var J = [], H = 0; H < F; H++) J.push(new L());\n return J;\n }\n function wb() {\n function F(J, H, Z) {\n for (var O = Z[H], L = 0; L < O; L++) {\n J.push(Z.length > H + 1 ? [] : 0);\n if (Z.length < H + 1) break;\n F(J[L], H + 1, Z);\n }\n }\n var L = [];\n F(L, 0, [3, 11]);\n return L;\n }\n function Ed(F, L) {\n function J(H, O, F) {\n for (var Z = F[O], ma = 0; ma < Z; ma++) {\n H.push(F.length > O + 1 ? [] : new L());\n if (F.length < O + 1) break;\n J(H[ma], O + 1, F);\n }\n }\n var H = [];\n J(H, 0, F);\n return H;\n }\n var _WebPDecoder = function() {\n var self = this;\n function F() {\n V(55);\n }\n function L(a, b) {\n for (var c = (1 << (b - 1)) >>> 0; a & c; ) c >>>= 1;\n return c ? (a & (c - 1)) + c : a;\n }\n function J(a, b, c, d, e) {\n x(!(d % c));\n do (d -= c), (a[b + d] = e);\n while (0 < d);\n }\n function H(a, b, c, d, e, f) {\n var g = b,\n h = 1 << c,\n k,\n l,\n m = V(16),\n n = V(16);\n x(0 != e);\n x(null != d);\n x(null != a);\n x(0 < c);\n for (l = 0; l < e; ++l) {\n if (15 < d[l]) return 0;\n ++m[d[l]];\n }\n if (m[0] == e) return 0;\n n[1] = 0;\n for (k = 1; 15 > k; ++k) {\n if (m[k] > 1 << k) return 0;\n n[k + 1] = n[k] + m[k];\n }\n for (l = 0; l < e; ++l) (k = d[l]), 0 < d[l] && (f[n[k]++] = l);\n if (1 == n[15])\n return (d = new O()), (d.g = 0), (d.value = f[0]), J(a, g, 1, h, d), h;\n var r = -1,\n q = h - 1,\n t = 0,\n v = 1,\n p = 1,\n u,\n w = 1 << c;\n l = 0;\n k = 1;\n for (e = 2; k <= c; ++k, e <<= 1) {\n p <<= 1;\n v += p;\n p -= m[k];\n if (0 > p) return 0;\n for (; 0 < m[k]; --m[k])\n (d = new O()),\n (d.g = k),\n (d.value = f[l++]),\n J(a, g + t, e, w, d),\n (t = L(t, k));\n }\n k = c + 1;\n for (e = 2; 15 >= k; ++k, e <<= 1) {\n p <<= 1;\n v += p;\n p -= m[k];\n if (0 > p) return 0;\n for (; 0 < m[k]; --m[k]) {\n d = new O();\n if ((t & q) != r) {\n g += w;\n r = k;\n for (u = 1 << (r - c); 15 > r; ) {\n u -= m[r];\n if (0 >= u) break;\n ++r;\n u <<= 1;\n }\n u = r - c;\n w = 1 << u;\n h += w;\n r = t & q;\n a[b + r].g = u + c;\n a[b + r].value = g - b - r;\n }\n d.g = k - c;\n d.value = f[l++];\n J(a, g + (t >> c), e, w, d);\n t = L(t, k);\n }\n }\n return v != 2 * n[15] - 1 ? 0 : h;\n }\n function Z(a, b, c, d, e) {\n x(2328 >= e);\n if (512 >= e) var f = V(512);\n else if (((f = V(e)), null == f)) return 0;\n return H(a, b, c, d, e, f);\n }\n function O() {\n this.value = this.g = 0;\n }\n function Fd() {\n this.value = this.g = 0;\n }\n function Ub() {\n this.G = wa(5, O);\n this.H = V(5);\n this.jc = this.Qb = this.qb = this.nd = 0;\n this.pd = wa(xb, Fd);\n }\n function ma(a, b, c, d) {\n x(null != a);\n x(null != b);\n x(2147483648 > d);\n a.Ca = 254;\n a.I = 0;\n a.b = -8;\n a.Ka = 0;\n a.oa = b;\n a.pa = c;\n a.Jd = b;\n a.Yc = c + d;\n a.Zc = 4 <= d ? c + d - 4 + 1 : c;\n Qa(a);\n }\n function na(a, b) {\n for (var c = 0; 0 < b--; ) c |= K(a, 128) << b;\n return c;\n }\n function ca(a, b) {\n var c = na(a, b);\n return G(a) ? -c : c;\n }\n function cb(a, b, c, d) {\n var e,\n f = 0;\n x(null != a);\n x(null != b);\n x(4294967288 > d);\n a.Sb = d;\n a.Ra = 0;\n a.u = 0;\n a.h = 0;\n 4 < d && (d = 4);\n for (e = 0; e < d; ++e) f += b[c + e] << (8 * e);\n a.Ra = f;\n a.bb = d;\n a.oa = b;\n a.pa = c;\n }\n function Vb(a) {\n for (; 8 <= a.u && a.bb < a.Sb; )\n (a.Ra >>>= 8),\n (a.Ra += (a.oa[a.pa + a.bb] << (ob - 8)) >>> 0),\n ++a.bb,\n (a.u -= 8);\n db(a) && ((a.h = 1), (a.u = 0));\n }\n function D(a, b) {\n x(0 <= b);\n if (!a.h && b <= Gd) {\n var c = pb(a) & Hd[b];\n a.u += b;\n Vb(a);\n return c;\n }\n a.h = 1;\n return (a.u = 0);\n }\n function Wb() {\n this.b = this.Ca = this.I = 0;\n this.oa = [];\n this.pa = 0;\n this.Jd = [];\n this.Yc = 0;\n this.Zc = [];\n this.Ka = 0;\n }\n function Ra() {\n this.Ra = 0;\n this.oa = [];\n this.h = this.u = this.bb = this.Sb = this.pa = 0;\n }\n function pb(a) {\n return (a.Ra >>> (a.u & (ob - 1))) >>> 0;\n }\n function db(a) {\n x(a.bb <= a.Sb);\n return a.h || (a.bb == a.Sb && a.u > ob);\n }\n function qb(a, b) {\n a.u = b;\n a.h = db(a);\n }\n function Sa(a) {\n a.u >= Xb && (x(a.u >= Xb), Vb(a));\n }\n function Qa(a) {\n x(null != a && null != a.oa);\n a.pa < a.Zc\n ? ((a.I = (a.oa[a.pa++] | (a.I << 8)) >>> 0), (a.b += 8))\n : (x(null != a && null != a.oa),\n a.pa < a.Yc\n ? ((a.b += 8), (a.I = a.oa[a.pa++] | (a.I << 8)))\n : a.Ka\n ? (a.b = 0)\n : ((a.I <<= 8), (a.b += 8), (a.Ka = 1)));\n }\n function G(a) {\n return na(a, 1);\n }\n function K(a, b) {\n var c = a.Ca;\n 0 > a.b && Qa(a);\n var d = a.b,\n e = (c * b) >>> 8,\n f = (a.I >>> d > e) + 0;\n f ? ((c -= e), (a.I -= ((e + 1) << d) >>> 0)) : (c = e + 1);\n d = c;\n for (e = 0; 256 <= d; ) (e += 8), (d >>= 8);\n d = 7 ^ (e + Id[d]);\n a.b -= d;\n a.Ca = (c << d) - 1;\n return f;\n }\n function ra(a, b, c) {\n a[b + 0] = (c >> 24) & 255;\n a[b + 1] = (c >> 16) & 255;\n a[b + 2] = (c >> 8) & 255;\n a[b + 3] = (c >> 0) & 255;\n }\n function Ta(a, b) {\n return (a[b + 0] << 0) | (a[b + 1] << 8);\n }\n function Yb(a, b) {\n return Ta(a, b) | (a[b + 2] << 16);\n }\n function Ha(a, b) {\n return Ta(a, b) | (Ta(a, b + 2) << 16);\n }\n function Zb(a, b) {\n var c = 1 << b;\n x(null != a);\n x(0 < b);\n a.X = V(c);\n if (null == a.X) return 0;\n a.Mb = 32 - b;\n a.Xa = b;\n return 1;\n }\n function $b(a, b) {\n x(null != a);\n x(null != b);\n x(a.Xa == b.Xa);\n I(b.X, 0, a.X, 0, 1 << b.Xa);\n }\n function ac() {\n this.X = [];\n this.Xa = this.Mb = 0;\n }\n function bc(a, b, c, d) {\n x(null != c);\n x(null != d);\n var e = c[0],\n f = d[0];\n 0 == e && (e = (a * f + b / 2) / b);\n 0 == f && (f = (b * e + a / 2) / a);\n if (0 >= e || 0 >= f) return 0;\n c[0] = e;\n d[0] = f;\n return 1;\n }\n function xa(a, b) {\n return (a + (1 << b) - 1) >>> b;\n }\n function yb(a, b) {\n return (\n (((((a & 4278255360) + (b & 4278255360)) >>> 0) & 4278255360) +\n ((((a & 16711935) + (b & 16711935)) >>> 0) & 16711935)) >>>\n 0\n );\n }\n function X(a, b) {\n self[b] = function(b, d, e, f, g, h, k) {\n var c;\n for (c = 0; c < g; ++c) {\n var m = self[a](h[k + c - 1], e, f + c);\n h[k + c] = yb(b[d + c], m);\n }\n };\n }\n function Jd() {\n this.ud = this.hd = this.jd = 0;\n }\n function aa(a, b) {\n return ((((a ^ b) & 4278124286) >>> 1) + (a & b)) >>> 0;\n }\n function sa(a) {\n if (0 <= a && 256 > a) return a;\n if (0 > a) return 0;\n if (255 < a) return 255;\n }\n function eb(a, b) {\n return sa(a + ((a - b + 0.5) >> 1));\n }\n function Ia(a, b, c) {\n return Math.abs(b - c) - Math.abs(a - c);\n }\n function cc(a, b, c, d, e, f, g) {\n d = f[g - 1];\n for (c = 0; c < e; ++c) f[g + c] = d = yb(a[b + c], d);\n }\n function Kd(a, b, c, d, e) {\n var f;\n for (f = 0; f < c; ++f) {\n var g = a[b + f],\n h = (g >> 8) & 255,\n k = g & 16711935,\n k = k + ((h << 16) + h),\n k = k & 16711935;\n d[e + f] = ((g & 4278255360) + k) >>> 0;\n }\n }\n function dc(a, b) {\n b.jd = (a >> 0) & 255;\n b.hd = (a >> 8) & 255;\n b.ud = (a >> 16) & 255;\n }\n function Ld(a, b, c, d, e, f) {\n var g;\n for (g = 0; g < d; ++g) {\n var h = b[c + g],\n k = h >>> 8,\n l = h >>> 16,\n m = h,\n l = l + ((((a.jd << 24) >> 24) * ((k << 24) >> 24)) >>> 5),\n l = l & 255,\n m = m + ((((a.hd << 24) >> 24) * ((k << 24) >> 24)) >>> 5),\n m = m + ((((a.ud << 24) >> 24) * ((l << 24) >> 24)) >>> 5),\n m = m & 255;\n e[f + g] = (h & 4278255360) + (l << 16) + m;\n }\n }\n function ec(a, b, c, d, e) {\n self[b] = function(a, b, c, k, l, m, n, r, q) {\n for (k = n; k < r; ++k)\n for (n = 0; n < q; ++n) l[m++] = e(c[d(a[b++])]);\n };\n self[a] = function(a, b, h, k, l, m, n) {\n var f = 8 >> a.b,\n g = a.Ea,\n t = a.K[0],\n v = a.w;\n if (8 > f)\n for (a = (1 << a.b) - 1, v = (1 << f) - 1; b < h; ++b) {\n var p = 0,\n u;\n for (u = 0; u < g; ++u)\n u & a || (p = d(k[l++])), (m[n++] = e(t[p & v])), (p >>= f);\n }\n else self[\"VP8LMapColor\" + c](k, l, t, v, m, n, b, h, g);\n };\n }\n function Md(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 16) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 0) & 255;\n }\n }\n function Nd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 16) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 0) & 255;\n d[e++] = (f >> 24) & 255;\n }\n }\n function Od(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++],\n g = ((f >> 16) & 240) | ((f >> 12) & 15),\n f = ((f >> 0) & 240) | ((f >> 28) & 15);\n d[e++] = g;\n d[e++] = f;\n }\n }\n function Pd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++],\n g = ((f >> 16) & 248) | ((f >> 13) & 7),\n f = ((f >> 5) & 224) | ((f >> 3) & 31);\n d[e++] = g;\n d[e++] = f;\n }\n }\n function Qd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 0) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 16) & 255;\n }\n }\n function fb(a, b, c, d, e, f) {\n if (0 == f)\n for (c = b + c; b < c; )\n (f = a[b++]),\n ra(\n d,\n ((f[0] >> 24) |\n ((f[1] >> 8) & 65280) |\n ((f[2] << 8) & 16711680) |\n (f[3] << 24)) >>>\n 0\n ),\n (e += 32);\n else I(d, e, a, b, c);\n }\n function gb(a, b) {\n self[b][0] = self[a + \"0\"];\n self[b][1] = self[a + \"1\"];\n self[b][2] = self[a + \"2\"];\n self[b][3] = self[a + \"3\"];\n self[b][4] = self[a + \"4\"];\n self[b][5] = self[a + \"5\"];\n self[b][6] = self[a + \"6\"];\n self[b][7] = self[a + \"7\"];\n self[b][8] = self[a + \"8\"];\n self[b][9] = self[a + \"9\"];\n self[b][10] = self[a + \"10\"];\n self[b][11] = self[a + \"11\"];\n self[b][12] = self[a + \"12\"];\n self[b][13] = self[a + \"13\"];\n self[b][14] = self[a + \"0\"];\n self[b][15] = self[a + \"0\"];\n }\n function hb(a) {\n return a == zb || a == Ab || a == Ja || a == Bb;\n }\n function Rd() {\n this.eb = [];\n this.size = this.A = this.fb = 0;\n }\n function Sd() {\n this.y = [];\n this.f = [];\n this.ea = [];\n this.F = [];\n this.Tc = this.Ed = this.Cd = this.Fd = this.lb = this.Db = this.Ab = this.fa = this.J = this.W = this.N = this.O = 0;\n }\n function Cb() {\n this.Rd = this.height = this.width = this.S = 0;\n this.f = {};\n this.f.RGBA = new Rd();\n this.f.kb = new Sd();\n this.sd = null;\n }\n function Td() {\n this.width = [0];\n this.height = [0];\n this.Pd = [0];\n this.Qd = [0];\n this.format = [0];\n }\n function Ud() {\n this.Id = this.fd = this.Md = this.hb = this.ib = this.da = this.bd = this.cd = this.j = this.v = this.Da = this.Sd = this.ob = 0;\n }\n function Vd(a) {\n alert(\"todo:WebPSamplerProcessPlane\");\n return a.T;\n }\n function Wd(a, b) {\n var c = a.T,\n d = b.ba.f.RGBA,\n e = d.eb,\n f = d.fb + a.ka * d.A,\n g = P[b.ba.S],\n h = a.y,\n k = a.O,\n l = a.f,\n m = a.N,\n n = a.ea,\n r = a.W,\n q = b.cc,\n t = b.dc,\n v = b.Mc,\n p = b.Nc,\n u = a.ka,\n w = a.ka + a.T,\n y = a.U,\n A = (y + 1) >> 1;\n 0 == u\n ? g(h, k, null, null, l, m, n, r, l, m, n, r, e, f, null, null, y)\n : (g(b.ec, b.fc, h, k, q, t, v, p, l, m, n, r, e, f - d.A, e, f, y),\n ++c);\n for (; u + 2 < w; u += 2)\n (q = l),\n (t = m),\n (v = n),\n (p = r),\n (m += a.Rc),\n (r += a.Rc),\n (f += 2 * d.A),\n (k += 2 * a.fa),\n g(h, k - a.fa, h, k, q, t, v, p, l, m, n, r, e, f - d.A, e, f, y);\n k += a.fa;\n a.j + w < a.o\n ? (I(b.ec, b.fc, h, k, y),\n I(b.cc, b.dc, l, m, A),\n I(b.Mc, b.Nc, n, r, A),\n c--)\n : w & 1 ||\n g(\n h,\n k,\n null,\n null,\n l,\n m,\n n,\n r,\n l,\n m,\n n,\n r,\n e,\n f + d.A,\n null,\n null,\n y\n );\n return c;\n }\n function Xd(a, b, c) {\n var d = a.F,\n e = [a.J];\n if (null != d) {\n var f = a.U,\n g = b.ba.S,\n h = g == ya || g == Ja;\n b = b.ba.f.RGBA;\n var k = [0],\n l = a.ka;\n k[0] = a.T;\n a.Kb &&\n (0 == l ? --k[0] : (--l, (e[0] -= a.width)),\n a.j + a.ka + a.T == a.o && (k[0] = a.o - a.j - l));\n var m = b.eb,\n l = b.fb + l * b.A;\n a = fc(d, e[0], a.width, f, k, m, l + (h ? 0 : 3), b.A);\n x(c == k);\n a && hb(g) && za(m, l, h, f, k, b.A);\n }\n return 0;\n }\n function gc(a) {\n var b = a.ma,\n c = b.ba.S,\n d = 11 > c,\n e = c == Ua || c == Va || c == ya || c == Db || 12 == c || hb(c);\n b.memory = null;\n b.Ib = null;\n b.Jb = null;\n b.Nd = null;\n if (!hc(b.Oa, a, e ? 11 : 12)) return 0;\n e && hb(c) && ic();\n if (a.da) alert(\"todo:use_scaling\");\n else {\n if (d) {\n if (((b.Ib = Vd), a.Kb)) {\n c = (a.U + 1) >> 1;\n b.memory = V(a.U + 2 * c);\n if (null == b.memory) return 0;\n b.ec = b.memory;\n b.fc = 0;\n b.cc = b.ec;\n b.dc = b.fc + a.U;\n b.Mc = b.cc;\n b.Nc = b.dc + c;\n b.Ib = Wd;\n ic();\n }\n } else alert(\"todo:EmitYUV\");\n e && ((b.Jb = Xd), d && Aa());\n }\n if (d && !jc) {\n for (a = 0; 256 > a; ++a)\n (Yd[a] = (89858 * (a - 128) + Ba) >> Wa),\n (Zd[a] = -22014 * (a - 128) + Ba),\n ($d[a] = -45773 * (a - 128)),\n (ae[a] = (113618 * (a - 128) + Ba) >> Wa);\n for (a = ta; a < Eb; ++a)\n (b = (76283 * (a - 16) + Ba) >> Wa),\n (be[a - ta] = ga(b, 255)),\n (ce[a - ta] = ga((b + 8) >> 4, 15));\n jc = 1;\n }\n return 1;\n }\n function kc(a) {\n var b = a.ma,\n c = a.U,\n d = a.T;\n x(!(a.ka & 1));\n if (0 >= c || 0 >= d) return 0;\n c = b.Ib(a, b);\n null != b.Jb && b.Jb(a, b, c);\n b.Dc += c;\n return 1;\n }\n function lc(a) {\n a.ma.memory = null;\n }\n function mc(a, b, c, d) {\n if (47 != D(a, 8)) return 0;\n b[0] = D(a, 14) + 1;\n c[0] = D(a, 14) + 1;\n d[0] = D(a, 1);\n return 0 != D(a, 3) ? 0 : !a.h;\n }\n function ib(a, b) {\n if (4 > a) return a + 1;\n var c = (a - 2) >> 1;\n return ((2 + (a & 1)) << c) + D(b, c) + 1;\n }\n function nc(a, b) {\n if (120 < b) return b - 120;\n var c = de[b - 1],\n c = (c >> 4) * a + (8 - (c & 15));\n return 1 <= c ? c : 1;\n }\n function ua(a, b, c) {\n var d = pb(c);\n b += d & 255;\n var e = a[b].g - 8;\n 0 < e &&\n (qb(c, c.u + 8),\n (d = pb(c)),\n (b += a[b].value),\n (b += d & ((1 << e) - 1)));\n qb(c, c.u + a[b].g);\n return a[b].value;\n }\n function ub(a, b, c) {\n c.g += a.g;\n c.value += (a.value << b) >>> 0;\n x(8 >= c.g);\n return a.g;\n }\n function ha(a, b, c) {\n var d = a.xc;\n b = 0 == d ? 0 : a.vc[a.md * (c >> d) + (b >> d)];\n x(b < a.Wb);\n return a.Ya[b];\n }\n function oc(a, b, c, d) {\n var e = a.ab,\n f = a.c * b,\n g = a.C;\n b = g + b;\n var h = c,\n k = d;\n d = a.Ta;\n for (c = a.Ua; 0 < e--; ) {\n var l = a.gc[e],\n m = g,\n n = b,\n r = h,\n q = k,\n k = d,\n h = c,\n t = l.Ea;\n x(m < n);\n x(n <= l.nc);\n switch (l.hc) {\n case 2:\n pc(r, q, (n - m) * t, k, h);\n break;\n case 0:\n var v = l,\n p = m,\n u = n,\n w = k,\n y = h,\n A = v.Ea;\n 0 == p &&\n (ee(r, q, null, null, 1, w, y),\n cc(r, q + 1, 0, 0, A - 1, w, y + 1),\n (q += A),\n (y += A),\n ++p);\n for (\n var E = 1 << v.b,\n B = E - 1,\n C = xa(A, v.b),\n N = v.K,\n v = v.w + (p >> v.b) * C;\n p < u;\n\n ) {\n var z = N,\n Q = v,\n S = 1;\n for (fe(r, q, w, y - A, 1, w, y); S < A; ) {\n var K = qc[(z[Q++] >> 8) & 15],\n D = (S & ~B) + E;\n D > A && (D = A);\n K(r, q + +S, w, y + S - A, D - S, w, y + S);\n S = D;\n }\n q += A;\n y += A;\n ++p;\n p & B || (v += C);\n }\n n != l.nc && I(k, h - t, k, h + (n - m - 1) * t, t);\n break;\n case 1:\n t = r;\n u = q;\n r = l.Ea;\n q = 1 << l.b;\n w = q - 1;\n y = r & ~w;\n A = r - y;\n p = xa(r, l.b);\n E = l.K;\n for (l = l.w + (m >> l.b) * p; m < n; ) {\n B = E;\n C = l;\n N = new Jd();\n v = u + y;\n for (z = u + r; u < v; )\n dc(B[C++], N), Fb(N, t, u, q, k, h), (u += q), (h += q);\n u < z &&\n (dc(B[C++], N), Fb(N, t, u, A, k, h), (u += A), (h += A));\n ++m;\n m & w || (l += p);\n }\n break;\n case 3:\n if (r == k && q == h && 0 < l.b) {\n y = (n - m) * xa(l.Ea, l.b);\n t = h + (n - m) * t - y;\n u = k;\n r = t;\n q = k;\n w = h;\n A = y;\n p = [];\n for (y = A - 1; 0 <= y; --y) p[y] = q[w + y];\n for (y = A - 1; 0 <= y; --y) u[r + y] = p[y];\n rc(l, m, n, k, t, k, h);\n } else rc(l, m, n, r, q, k, h);\n }\n h = d;\n k = c;\n }\n k != c && I(d, c, h, k, f);\n }\n function ge(a, b) {\n var c = a.V,\n d = a.Ba + a.c * a.C,\n e = b - a.C;\n x(b <= a.l.o);\n x(16 >= e);\n if (0 < e) {\n var f = a.l,\n g = a.Ta,\n h = a.Ua,\n k = f.width;\n oc(a, e, c, d);\n h = [h];\n c = a.C;\n d = b;\n e = h;\n x(c < d);\n x(f.v < f.va);\n d > f.o && (d = f.o);\n if (c < f.j) {\n var l = f.j - c,\n c = f.j;\n e[0] += l * k;\n }\n c >= d\n ? (c = 0)\n : ((e[0] += 4 * f.v),\n (f.ka = c - f.j),\n (f.U = f.va - f.v),\n (f.T = d - c),\n (c = 1));\n if (c) {\n h = h[0];\n c = a.ca;\n if (11 > c.S) {\n for (\n var m = c.f.RGBA,\n d = c.S,\n e = f.U,\n f = f.T,\n l = m.eb,\n n = m.A,\n r = f,\n m = m.fb + a.Ma * m.A;\n 0 < r--;\n\n ) {\n var q = g,\n t = h,\n v = e,\n p = l,\n u = m;\n switch (d) {\n case Ca:\n sc(q, t, v, p, u);\n break;\n case Ua:\n Gb(q, t, v, p, u);\n break;\n case zb:\n Gb(q, t, v, p, u);\n za(p, u, 0, v, 1, 0);\n break;\n case tc:\n uc(q, t, v, p, u);\n break;\n case Va:\n fb(q, t, v, p, u, 1);\n break;\n case Ab:\n fb(q, t, v, p, u, 1);\n za(p, u, 0, v, 1, 0);\n break;\n case ya:\n fb(q, t, v, p, u, 0);\n break;\n case Ja:\n fb(q, t, v, p, u, 0);\n za(p, u, 1, v, 1, 0);\n break;\n case Db:\n Hb(q, t, v, p, u);\n break;\n case Bb:\n Hb(q, t, v, p, u);\n vc(p, u, v, 1, 0);\n break;\n case wc:\n xc(q, t, v, p, u);\n break;\n default:\n x(0);\n }\n h += k;\n m += n;\n }\n a.Ma += f;\n } else alert(\"todo:EmitRescaledRowsYUVA\");\n x(a.Ma <= c.height);\n }\n }\n a.C = b;\n x(a.C <= a.i);\n }\n function yc(a) {\n var b;\n if (0 < a.ua) return 0;\n for (b = 0; b < a.Wb; ++b) {\n var c = a.Ya[b].G,\n d = a.Ya[b].H;\n if (\n 0 < c[1][d[1] + 0].g ||\n 0 < c[2][d[2] + 0].g ||\n 0 < c[3][d[3] + 0].g\n )\n return 0;\n }\n return 1;\n }\n function zc(a, b, c, d, e, f) {\n if (0 != a.Z) {\n var g = a.qd,\n h = a.rd;\n for (x(null != ia[a.Z]); b < c; ++b)\n ia[a.Z](g, h, d, e, d, e, f), (g = d), (h = e), (e += f);\n a.qd = g;\n a.rd = h;\n }\n }\n function Ib(a, b) {\n var c = a.l.ma,\n d = 0 == c.Z || 1 == c.Z ? a.l.j : a.C,\n d = a.C < d ? d : a.C;\n x(b <= a.l.o);\n if (b > d) {\n var e = a.l.width,\n f = c.ca,\n g = c.tb + e * d,\n h = a.V,\n k = a.Ba + a.c * d,\n l = a.gc;\n x(1 == a.ab);\n x(3 == l[0].hc);\n he(l[0], d, b, h, k, f, g);\n zc(c, d, b, f, g, e);\n }\n a.C = a.Ma = b;\n }\n function Jb(a, b, c, d, e, f, g) {\n var h = a.$ / d,\n k = a.$ % d,\n l = a.m,\n m = a.s,\n n = c + a.$,\n r = n;\n e = c + d * e;\n var q = c + d * f,\n t = 280 + m.ua,\n v = a.Pb ? h : 16777216,\n p = 0 < m.ua ? m.Wa : null,\n u = m.wc,\n w = n < q ? ha(m, k, h) : null;\n x(a.C < f);\n x(q <= e);\n var y = !1;\n a: for (;;) {\n for (; y || n < q; ) {\n var A = 0;\n if (h >= v) {\n var v = a,\n E = n - c;\n x(v.Pb);\n v.wd = v.m;\n v.xd = E;\n 0 < v.s.ua && $b(v.s.Wa, v.s.vb);\n v = h + ie;\n }\n k & u || (w = ha(m, k, h));\n x(null != w);\n w.Qb && ((b[n] = w.qb), (y = !0));\n if (!y)\n if ((Sa(l), w.jc)) {\n var A = l,\n E = b,\n B = n,\n C = w.pd[pb(A) & (xb - 1)];\n x(w.jc);\n 256 > C.g\n ? (qb(A, A.u + C.g), (E[B] = C.value), (A = 0))\n : (qb(A, A.u + C.g - 256), x(256 <= C.value), (A = C.value));\n 0 == A && (y = !0);\n } else A = ua(w.G[0], w.H[0], l);\n if (l.h) break;\n if (y || 256 > A) {\n if (!y)\n if (w.nd) b[n] = (w.qb | (A << 8)) >>> 0;\n else {\n Sa(l);\n y = ua(w.G[1], w.H[1], l);\n Sa(l);\n E = ua(w.G[2], w.H[2], l);\n B = ua(w.G[3], w.H[3], l);\n if (l.h) break;\n b[n] = ((B << 24) | (y << 16) | (A << 8) | E) >>> 0;\n }\n y = !1;\n ++n;\n ++k;\n if (\n k >= d &&\n ((k = 0),\n ++h,\n null != g && h <= f && !(h % 16) && g(a, h),\n null != p)\n )\n for (; r < n; )\n (A = b[r++]),\n (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n } else if (280 > A) {\n A = ib(A - 256, l);\n E = ua(w.G[4], w.H[4], l);\n Sa(l);\n E = ib(E, l);\n E = nc(d, E);\n if (l.h) break;\n if (n - c < E || e - n < A) break a;\n else for (B = 0; B < A; ++B) b[n + B] = b[n + B - E];\n n += A;\n for (k += A; k >= d; )\n (k -= d), ++h, null != g && h <= f && !(h % 16) && g(a, h);\n x(n <= e);\n k & u && (w = ha(m, k, h));\n if (null != p)\n for (; r < n; )\n (A = b[r++]),\n (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n } else if (A < t) {\n y = A - 280;\n for (x(null != p); r < n; )\n (A = b[r++]), (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n A = n;\n E = p;\n x(!(y >>> E.Xa));\n b[A] = E.X[y];\n y = !0;\n } else break a;\n y || x(l.h == db(l));\n }\n if (a.Pb && l.h && n < e)\n x(a.m.h),\n (a.a = 5),\n (a.m = a.wd),\n (a.$ = a.xd),\n 0 < a.s.ua && $b(a.s.vb, a.s.Wa);\n else if (l.h) break a;\n else null != g && g(a, h > f ? f : h), (a.a = 0), (a.$ = n - c);\n return 1;\n }\n a.a = 3;\n return 0;\n }\n function Ac(a) {\n x(null != a);\n a.vc = null;\n a.yc = null;\n a.Ya = null;\n var b = a.Wa;\n null != b && (b.X = null);\n a.vb = null;\n x(null != a);\n }\n function Bc() {\n var a = new je();\n if (null == a) return null;\n a.a = 0;\n a.xb = Cc;\n gb(\"Predictor\", \"VP8LPredictors\");\n gb(\"Predictor\", \"VP8LPredictors_C\");\n gb(\"PredictorAdd\", \"VP8LPredictorsAdd\");\n gb(\"PredictorAdd\", \"VP8LPredictorsAdd_C\");\n pc = Kd;\n Fb = Ld;\n sc = Md;\n Gb = Nd;\n Hb = Od;\n xc = Pd;\n uc = Qd;\n self.VP8LMapColor32b = ke;\n self.VP8LMapColor8b = le;\n return a;\n }\n function rb(a, b, c, d, e) {\n var f = 1,\n g = [a],\n h = [b],\n k = d.m,\n l = d.s,\n m = null,\n n = 0;\n a: for (;;) {\n if (c)\n for (; f && D(k, 1); ) {\n var r = g,\n q = h,\n t = d,\n v = 1,\n p = t.m,\n u = t.gc[t.ab],\n w = D(p, 2);\n if (t.Oc & (1 << w)) f = 0;\n else {\n t.Oc |= 1 << w;\n u.hc = w;\n u.Ea = r[0];\n u.nc = q[0];\n u.K = [null];\n ++t.ab;\n x(4 >= t.ab);\n switch (w) {\n case 0:\n case 1:\n u.b = D(p, 3) + 2;\n v = rb(xa(u.Ea, u.b), xa(u.nc, u.b), 0, t, u.K);\n u.K = u.K[0];\n break;\n case 3:\n var y = D(p, 8) + 1,\n A = 16 < y ? 0 : 4 < y ? 1 : 2 < y ? 2 : 3;\n r[0] = xa(u.Ea, A);\n u.b = A;\n var v = rb(y, 1, 0, t, u.K),\n E;\n if ((E = v)) {\n var B,\n C = y,\n N = u,\n z = 1 << (8 >> N.b),\n Q = V(z);\n if (null == Q) E = 0;\n else {\n var S = N.K[0],\n K = N.w;\n Q[0] = N.K[0][0];\n for (B = 1; B < 1 * C; ++B) Q[B] = yb(S[K + B], Q[B - 1]);\n for (; B < 4 * z; ++B) Q[B] = 0;\n N.K[0] = null;\n N.K[0] = Q;\n E = 1;\n }\n }\n v = E;\n break;\n case 2:\n break;\n default:\n x(0);\n }\n f = v;\n }\n }\n g = g[0];\n h = h[0];\n if (f && D(k, 1) && ((n = D(k, 4)), (f = 1 <= n && 11 >= n), !f)) {\n d.a = 3;\n break a;\n }\n var H;\n if ((H = f))\n b: {\n var F = d,\n G = g,\n L = h,\n J = n,\n T = c,\n Da,\n ba,\n X = F.m,\n R = F.s,\n P = [null],\n U,\n W = 1,\n aa = 0,\n na = me[J];\n c: for (;;) {\n if (T && D(X, 1)) {\n var ca = D(X, 3) + 2,\n ga = xa(G, ca),\n ka = xa(L, ca),\n qa = ga * ka;\n if (!rb(ga, ka, 0, F, P)) break c;\n P = P[0];\n R.xc = ca;\n for (Da = 0; Da < qa; ++Da) {\n var ia = (P[Da] >> 8) & 65535;\n P[Da] = ia;\n ia >= W && (W = ia + 1);\n }\n }\n if (X.h) break c;\n for (ba = 0; 5 > ba; ++ba) {\n var Y = Dc[ba];\n !ba && 0 < J && (Y += 1 << J);\n aa < Y && (aa = Y);\n }\n var ma = wa(W * na, O);\n var ua = W,\n va = wa(ua, Ub);\n if (null == va) var la = null;\n else x(65536 >= ua), (la = va);\n var ha = V(aa);\n if (null == la || null == ha || null == ma) {\n F.a = 1;\n break c;\n }\n var pa = ma;\n for (Da = U = 0; Da < W; ++Da) {\n var ja = la[Da],\n da = ja.G,\n ea = ja.H,\n Fa = 0,\n ra = 1,\n Ha = 0;\n for (ba = 0; 5 > ba; ++ba) {\n Y = Dc[ba];\n da[ba] = pa;\n ea[ba] = U;\n !ba && 0 < J && (Y += 1 << J);\n d: {\n var sa,\n za = Y,\n ta = F,\n oa = ha,\n db = pa,\n eb = U,\n Ia = 0,\n Ka = ta.m,\n fb = D(Ka, 1);\n M(oa, 0, 0, za);\n if (fb) {\n var gb = D(Ka, 1) + 1,\n hb = D(Ka, 1),\n Ja = D(Ka, 0 == hb ? 1 : 8);\n oa[Ja] = 1;\n 2 == gb && ((Ja = D(Ka, 8)), (oa[Ja] = 1));\n var ya = 1;\n } else {\n var Ua = V(19),\n Va = D(Ka, 4) + 4;\n if (19 < Va) {\n ta.a = 3;\n var Aa = 0;\n break d;\n }\n for (sa = 0; sa < Va; ++sa) Ua[ne[sa]] = D(Ka, 3);\n var Ba = void 0,\n sb = void 0,\n Wa = ta,\n ib = Ua,\n Ca = za,\n Xa = oa,\n Oa = 0,\n La = Wa.m,\n Ya = 8,\n Za = wa(128, O);\n e: for (;;) {\n if (!Z(Za, 0, 7, ib, 19)) break e;\n if (D(La, 1)) {\n var kb = 2 + 2 * D(La, 3),\n Ba = 2 + D(La, kb);\n if (Ba > Ca) break e;\n } else Ba = Ca;\n for (sb = 0; sb < Ca && Ba--; ) {\n Sa(La);\n var $a = Za[0 + (pb(La) & 127)];\n qb(La, La.u + $a.g);\n var jb = $a.value;\n if (16 > jb) (Xa[sb++] = jb), 0 != jb && (Ya = jb);\n else {\n var lb = 16 == jb,\n ab = jb - 16,\n mb = oe[ab],\n bb = D(La, pe[ab]) + mb;\n if (sb + bb > Ca) break e;\n else\n for (var nb = lb ? Ya : 0; 0 < bb--; )\n Xa[sb++] = nb;\n }\n }\n Oa = 1;\n break e;\n }\n Oa || (Wa.a = 3);\n ya = Oa;\n }\n (ya = ya && !Ka.h) && (Ia = Z(db, eb, 8, oa, za));\n ya && 0 != Ia ? (Aa = Ia) : ((ta.a = 3), (Aa = 0));\n }\n if (0 == Aa) break c;\n ra && 1 == qe[ba] && (ra = 0 == pa[U].g);\n Fa += pa[U].g;\n U += Aa;\n if (3 >= ba) {\n var Pa = ha[0],\n tb;\n for (tb = 1; tb < Y; ++tb) ha[tb] > Pa && (Pa = ha[tb]);\n Ha += Pa;\n }\n }\n ja.nd = ra;\n ja.Qb = 0;\n ra &&\n ((ja.qb =\n ((da[3][ea[3] + 0].value << 24) |\n (da[1][ea[1] + 0].value << 16) |\n da[2][ea[2] + 0].value) >>>\n 0),\n 0 == Fa &&\n 256 > da[0][ea[0] + 0].value &&\n ((ja.Qb = 1), (ja.qb += da[0][ea[0] + 0].value << 8)));\n ja.jc = !ja.Qb && 6 > Ha;\n if (ja.jc) {\n var Ga,\n Ea = ja;\n for (Ga = 0; Ga < xb; ++Ga) {\n var Ma = Ga,\n Na = Ea.pd[Ma],\n vb = Ea.G[0][Ea.H[0] + Ma];\n 256 <= vb.value\n ? ((Na.g = vb.g + 256), (Na.value = vb.value))\n : ((Na.g = 0),\n (Na.value = 0),\n (Ma >>= ub(vb, 8, Na)),\n (Ma >>= ub(Ea.G[1][Ea.H[1] + Ma], 16, Na)),\n (Ma >>= ub(Ea.G[2][Ea.H[2] + Ma], 0, Na)),\n ub(Ea.G[3][Ea.H[3] + Ma], 24, Na));\n }\n }\n }\n R.vc = P;\n R.Wb = W;\n R.Ya = la;\n R.yc = ma;\n H = 1;\n break b;\n }\n H = 0;\n }\n f = H;\n if (!f) {\n d.a = 3;\n break a;\n }\n if (0 < n) {\n if (((l.ua = 1 << n), !Zb(l.Wa, n))) {\n d.a = 1;\n f = 0;\n break a;\n }\n } else l.ua = 0;\n var Qa = d,\n cb = g,\n ob = h,\n Ra = Qa.s,\n Ta = Ra.xc;\n Qa.c = cb;\n Qa.i = ob;\n Ra.md = xa(cb, Ta);\n Ra.wc = 0 == Ta ? -1 : (1 << Ta) - 1;\n if (c) {\n d.xb = re;\n break a;\n }\n m = V(g * h);\n if (null == m) {\n d.a = 1;\n f = 0;\n break a;\n }\n f = (f = Jb(d, m, 0, g, h, h, null)) && !k.h;\n break a;\n }\n f\n ? (null != e ? (e[0] = m) : (x(null == m), x(c)), (d.$ = 0), c || Ac(l))\n : Ac(l);\n return f;\n }\n function Ec(a, b) {\n var c = a.c * a.i,\n d = c + b + 16 * b;\n x(a.c <= b);\n a.V = V(d);\n if (null == a.V) return (a.Ta = null), (a.Ua = 0), (a.a = 1), 0;\n a.Ta = a.V;\n a.Ua = a.Ba + c + b;\n return 1;\n }\n function se(a, b) {\n var c = a.C,\n d = b - c,\n e = a.V,\n f = a.Ba + a.c * c;\n for (x(b <= a.l.o); 0 < d; ) {\n var g = 16 < d ? 16 : d,\n h = a.l.ma,\n k = a.l.width,\n l = k * g,\n m = h.ca,\n n = h.tb + k * c,\n r = a.Ta,\n q = a.Ua;\n oc(a, g, e, f);\n Fc(r, q, m, n, l);\n zc(h, c, c + g, m, n, k);\n d -= g;\n e += g * a.c;\n c += g;\n }\n x(c == b);\n a.C = a.Ma = b;\n }\n function te(a, b) {\n var c = [0],\n d = [0],\n e = [0];\n a: for (;;) {\n if (null == a) return 0;\n if (null == b) return (a.a = 2), 0;\n a.l = b;\n a.a = 0;\n cb(a.m, b.data, b.w, b.ha);\n if (!mc(a.m, c, d, e)) {\n a.a = 3;\n break a;\n }\n a.xb = Cc;\n b.width = c[0];\n b.height = d[0];\n if (!rb(c[0], d[0], 1, a, null)) break a;\n return 1;\n }\n x(0 != a.a);\n return 0;\n }\n function ue() {\n this.ub = this.yd = this.td = this.Rb = 0;\n }\n function ve() {\n this.Kd = this.Ld = this.Ud = this.Td = this.i = this.c = 0;\n }\n function we() {\n this.Fb = this.Bb = this.Cb = 0;\n this.Zb = V(4);\n this.Lb = V(4);\n }\n function Gc() {\n this.Yb = wb();\n }\n function xe() {\n this.jb = V(3);\n this.Wc = Ed([4, 8], Gc);\n this.Xc = Ed([4, 17], Gc);\n }\n function ye() {\n this.Pc = this.wb = this.Tb = this.zd = 0;\n this.vd = new V(4);\n this.od = new V(4);\n }\n function Xa() {\n this.ld = this.La = this.dd = this.tc = 0;\n }\n function Hc() {\n this.Na = this.la = 0;\n }\n function ze() {\n this.Sc = [0, 0];\n this.Eb = [0, 0];\n this.Qc = [0, 0];\n this.ia = this.lc = 0;\n }\n function Kb() {\n this.ad = V(384);\n this.Za = 0;\n this.Ob = V(16);\n this.$b = this.Ad = this.ia = this.Gc = this.Hc = this.Dd = 0;\n }\n function Ae() {\n this.uc = this.M = this.Nb = 0;\n this.wa = Array(new Xa());\n this.Y = 0;\n this.ya = Array(new Kb());\n this.aa = 0;\n this.l = new Oa();\n }\n function Ic() {\n this.y = V(16);\n this.f = V(8);\n this.ea = V(8);\n }\n function Be() {\n this.cb = this.a = 0;\n this.sc = \"\";\n this.m = new Wb();\n this.Od = new ue();\n this.Kc = new ve();\n this.ed = new ye();\n this.Qa = new we();\n this.Ic = this.$c = this.Aa = 0;\n this.D = new Ae();\n this.Xb = this.Va = this.Hb = this.zb = this.yb = this.Ub = this.za = 0;\n this.Jc = wa(8, Wb);\n this.ia = 0;\n new F();\n this.pb = wa(4, ze);\n this.Pa = new xe();\n this.Bd = this.kc = 0;\n this.Ac = [];\n this.Bc = 0;\n this.zc = [0, 0, 0, 0];\n this.Gd = Array(new Ic());\n this.Hd = 0;\n this.rb = Array(new Hc());\n this.sb = 0;\n this.wa = Array(new Xa());\n this.Y = 0;\n this.oc = [];\n this.pc = 0;\n this.sa = [];\n this.ta = 0;\n this.qa = [];\n this.ra = 0;\n this.Ha = [];\n this.B = this.R = this.Ia = 0;\n this.Ec = [];\n this.M = this.ja = this.Vb = this.Fc = 0;\n this.ya = Array(new Kb());\n this.L = this.aa = 0;\n this.gd = Ed([4, 2], Xa);\n this.ga = null;\n this.Fa = [];\n this.Cc = this.qc = this.P = 0;\n this.Gb = [];\n this.Uc = 0;\n this.mb = [];\n this.nb = 0;\n this.rc = [];\n this.Ga = this.Vc = 0;\n }\n function ga(a, b) {\n return 0 > a ? 0 : a > b ? b : a;\n }\n function Oa() {\n this.T = this.U = this.ka = this.height = this.width = 0;\n this.y = [];\n this.f = [];\n this.ea = [];\n this.Rc = this.fa = this.W = this.N = this.O = 0;\n this.ma = \"void\";\n this.put = \"VP8IoPutHook\";\n this.ac = \"VP8IoSetupHook\";\n this.bc = \"VP8IoTeardownHook\";\n this.ha = this.Kb = 0;\n this.data = [];\n this.hb = this.ib = this.da = this.o = this.j = this.va = this.v = this.Da = this.ob = this.w = 0;\n this.F = [];\n this.J = 0;\n }\n function Ce() {\n var a = new Be();\n null != a &&\n ((a.a = 0), (a.sc = \"OK\"), (a.cb = 0), (a.Xb = 0), oa || (oa = De));\n return a;\n }\n function T(a, b, c) {\n 0 == a.a && ((a.a = b), (a.sc = c), (a.cb = 0));\n return 0;\n }\n function Jc(a, b, c) {\n return 3 <= c && 157 == a[b + 0] && 1 == a[b + 1] && 42 == a[b + 2];\n }\n function Kc(a, b) {\n if (null == a) return 0;\n a.a = 0;\n a.sc = \"OK\";\n if (null == b) return T(a, 2, \"null VP8Io passed to VP8GetHeaders()\");\n var c = b.data;\n var d = b.w;\n var e = b.ha;\n if (4 > e) return T(a, 7, \"Truncated header.\");\n var f = c[d + 0] | (c[d + 1] << 8) | (c[d + 2] << 16);\n var g = a.Od;\n g.Rb = !(f & 1);\n g.td = (f >> 1) & 7;\n g.yd = (f >> 4) & 1;\n g.ub = f >> 5;\n if (3 < g.td) return T(a, 3, \"Incorrect keyframe parameters.\");\n if (!g.yd) return T(a, 4, \"Frame not displayable.\");\n d += 3;\n e -= 3;\n var h = a.Kc;\n if (g.Rb) {\n if (7 > e) return T(a, 7, \"cannot parse picture header\");\n if (!Jc(c, d, e)) return T(a, 3, \"Bad code word\");\n h.c = ((c[d + 4] << 8) | c[d + 3]) & 16383;\n h.Td = c[d + 4] >> 6;\n h.i = ((c[d + 6] << 8) | c[d + 5]) & 16383;\n h.Ud = c[d + 6] >> 6;\n d += 7;\n e -= 7;\n a.za = (h.c + 15) >> 4;\n a.Ub = (h.i + 15) >> 4;\n b.width = h.c;\n b.height = h.i;\n b.Da = 0;\n b.j = 0;\n b.v = 0;\n b.va = b.width;\n b.o = b.height;\n b.da = 0;\n b.ib = b.width;\n b.hb = b.height;\n b.U = b.width;\n b.T = b.height;\n f = a.Pa;\n M(f.jb, 0, 255, f.jb.length);\n f = a.Qa;\n x(null != f);\n f.Cb = 0;\n f.Bb = 0;\n f.Fb = 1;\n M(f.Zb, 0, 0, f.Zb.length);\n M(f.Lb, 0, 0, f.Lb);\n }\n if (g.ub > e) return T(a, 7, \"bad partition length\");\n f = a.m;\n ma(f, c, d, g.ub);\n d += g.ub;\n e -= g.ub;\n g.Rb && ((h.Ld = G(f)), (h.Kd = G(f)));\n h = a.Qa;\n var k = a.Pa,\n l;\n x(null != f);\n x(null != h);\n h.Cb = G(f);\n if (h.Cb) {\n h.Bb = G(f);\n if (G(f)) {\n h.Fb = G(f);\n for (l = 0; 4 > l; ++l) h.Zb[l] = G(f) ? ca(f, 7) : 0;\n for (l = 0; 4 > l; ++l) h.Lb[l] = G(f) ? ca(f, 6) : 0;\n }\n if (h.Bb) for (l = 0; 3 > l; ++l) k.jb[l] = G(f) ? na(f, 8) : 255;\n } else h.Bb = 0;\n if (f.Ka) return T(a, 3, \"cannot parse segment header\");\n h = a.ed;\n h.zd = G(f);\n h.Tb = na(f, 6);\n h.wb = na(f, 3);\n h.Pc = G(f);\n if (h.Pc && G(f)) {\n for (k = 0; 4 > k; ++k) G(f) && (h.vd[k] = ca(f, 6));\n for (k = 0; 4 > k; ++k) G(f) && (h.od[k] = ca(f, 6));\n }\n a.L = 0 == h.Tb ? 0 : h.zd ? 1 : 2;\n if (f.Ka) return T(a, 3, \"cannot parse filter header\");\n l = d;\n var m = e;\n e = l;\n d = l + m;\n h = m;\n a.Xb = (1 << na(a.m, 2)) - 1;\n k = a.Xb;\n if (m < 3 * k) c = 7;\n else {\n l += 3 * k;\n h -= 3 * k;\n for (m = 0; m < k; ++m) {\n var n = c[e + 0] | (c[e + 1] << 8) | (c[e + 2] << 16);\n n > h && (n = h);\n ma(a.Jc[+m], c, l, n);\n l += n;\n h -= n;\n e += 3;\n }\n ma(a.Jc[+k], c, l, h);\n c = l < d ? 0 : 5;\n }\n if (0 != c) return T(a, c, \"cannot parse partitions\");\n l = a.m;\n c = na(l, 7);\n e = G(l) ? ca(l, 4) : 0;\n d = G(l) ? ca(l, 4) : 0;\n h = G(l) ? ca(l, 4) : 0;\n k = G(l) ? ca(l, 4) : 0;\n l = G(l) ? ca(l, 4) : 0;\n m = a.Qa;\n for (n = 0; 4 > n; ++n) {\n if (m.Cb) {\n var r = m.Zb[n];\n m.Fb || (r += c);\n } else if (0 < n) {\n a.pb[n] = a.pb[0];\n continue;\n } else r = c;\n var q = a.pb[n];\n q.Sc[0] = Lb[ga(r + e, 127)];\n q.Sc[1] = Mb[ga(r + 0, 127)];\n q.Eb[0] = 2 * Lb[ga(r + d, 127)];\n q.Eb[1] = (101581 * Mb[ga(r + h, 127)]) >> 16;\n 8 > q.Eb[1] && (q.Eb[1] = 8);\n q.Qc[0] = Lb[ga(r + k, 117)];\n q.Qc[1] = Mb[ga(r + l, 127)];\n q.lc = r + l;\n }\n if (!g.Rb) return T(a, 4, \"Not a key frame.\");\n G(f);\n g = a.Pa;\n for (c = 0; 4 > c; ++c) {\n for (e = 0; 8 > e; ++e)\n for (d = 0; 3 > d; ++d)\n for (h = 0; 11 > h; ++h)\n (k = K(f, Ee[c][e][d][h]) ? na(f, 8) : Fe[c][e][d][h]),\n (g.Wc[c][e].Yb[d][h] = k);\n for (e = 0; 17 > e; ++e) g.Xc[c][e] = g.Wc[c][Ge[e]];\n }\n a.kc = G(f);\n a.kc && (a.Bd = na(f, 8));\n return (a.cb = 1);\n }\n function De(a, b, c, d, e, f, g) {\n var h = b[e].Yb[c];\n for (c = 0; 16 > e; ++e) {\n if (!K(a, h[c + 0])) return e;\n for (; !K(a, h[c + 1]); )\n if (((h = b[++e].Yb[0]), (c = 0), 16 == e)) return 16;\n var k = b[e + 1].Yb;\n if (K(a, h[c + 2])) {\n var l = a,\n m = h,\n n = c;\n var r = 0;\n if (K(l, m[n + 3]))\n if (K(l, m[n + 6])) {\n h = 0;\n r = K(l, m[n + 8]);\n m = K(l, m[n + 9 + r]);\n n = 2 * r + m;\n r = 0;\n for (m = He[n]; m[h]; ++h) r += r + K(l, m[h]);\n r += 3 + (8 << n);\n } else\n K(l, m[n + 7])\n ? ((r = 7 + 2 * K(l, 165)), (r += K(l, 145)))\n : (r = 5 + K(l, 159));\n else K(l, m[n + 4]) ? (r = 3 + K(l, m[n + 5])) : (r = 2);\n h = k[2];\n } else (r = 1), (h = k[1]);\n k = g + Ie[e];\n l = a;\n 0 > l.b && Qa(l);\n var m = l.b,\n n = l.Ca >> 1,\n q = (n - (l.I >> m)) >> 31;\n --l.b;\n l.Ca += q;\n l.Ca |= 1;\n l.I -= ((n + 1) & q) << m;\n f[k] = ((r ^ q) - q) * d[(0 < e) + 0];\n }\n return 16;\n }\n function Lc(a) {\n var b = a.rb[a.sb - 1];\n b.la = 0;\n b.Na = 0;\n M(a.zc, 0, 0, a.zc.length);\n a.ja = 0;\n }\n function Je(a, b) {\n for (a.M = 0; a.M < a.Va; ++a.M) {\n var c = a.Jc[a.M & a.Xb],\n d = a.m,\n e = a,\n f;\n for (f = 0; f < e.za; ++f) {\n var g = d;\n var h = e;\n var k = h.Ac,\n l = h.Bc + 4 * f,\n m = h.zc,\n n = h.ya[h.aa + f];\n h.Qa.Bb\n ? (n.$b = K(g, h.Pa.jb[0])\n ? 2 + K(g, h.Pa.jb[2])\n : K(g, h.Pa.jb[1]))\n : (n.$b = 0);\n h.kc && (n.Ad = K(g, h.Bd));\n n.Za = !K(g, 145) + 0;\n if (n.Za) {\n var r = n.Ob,\n q = 0;\n for (h = 0; 4 > h; ++h) {\n var t = m[0 + h];\n var v;\n for (v = 0; 4 > v; ++v) {\n t = Ke[k[l + v]][t];\n for (var p = Mc[K(g, t[0])]; 0 < p; )\n p = Mc[2 * p + K(g, t[p])];\n t = -p;\n k[l + v] = t;\n }\n I(r, q, k, l, 4);\n q += 4;\n m[0 + h] = t;\n }\n } else\n (t = K(g, 156) ? (K(g, 128) ? 1 : 3) : K(g, 163) ? 2 : 0),\n (n.Ob[0] = t),\n M(k, l, t, 4),\n M(m, 0, t, 4);\n n.Dd = K(g, 142) ? (K(g, 114) ? (K(g, 183) ? 1 : 3) : 2) : 0;\n }\n if (e.m.Ka) return T(a, 7, \"Premature end-of-partition0 encountered.\");\n for (; a.ja < a.za; ++a.ja) {\n d = a;\n e = c;\n g = d.rb[d.sb - 1];\n k = d.rb[d.sb + d.ja];\n f = d.ya[d.aa + d.ja];\n if ((l = d.kc ? f.Ad : 0))\n (g.la = k.la = 0),\n f.Za || (g.Na = k.Na = 0),\n (f.Hc = 0),\n (f.Gc = 0),\n (f.ia = 0);\n else {\n var u,\n w,\n g = k,\n k = e,\n l = d.Pa.Xc,\n m = d.ya[d.aa + d.ja],\n n = d.pb[m.$b];\n h = m.ad;\n r = 0;\n q = d.rb[d.sb - 1];\n t = v = 0;\n M(h, r, 0, 384);\n if (m.Za) {\n var y = 0;\n var A = l[3];\n } else {\n p = V(16);\n var E = g.Na + q.Na;\n E = oa(k, l[1], E, n.Eb, 0, p, 0);\n g.Na = q.Na = (0 < E) + 0;\n if (1 < E) Nc(p, 0, h, r);\n else {\n var B = (p[0] + 3) >> 3;\n for (p = 0; 256 > p; p += 16) h[r + p] = B;\n }\n y = 1;\n A = l[0];\n }\n var C = g.la & 15;\n var N = q.la & 15;\n for (p = 0; 4 > p; ++p) {\n var z = N & 1;\n for (B = w = 0; 4 > B; ++B)\n (E = z + (C & 1)),\n (E = oa(k, A, E, n.Sc, y, h, r)),\n (z = E > y),\n (C = (C >> 1) | (z << 7)),\n (w = (w << 2) | (3 < E ? 3 : 1 < E ? 2 : 0 != h[r + 0])),\n (r += 16);\n C >>= 4;\n N = (N >> 1) | (z << 7);\n v = ((v << 8) | w) >>> 0;\n }\n A = C;\n y = N >> 4;\n for (u = 0; 4 > u; u += 2) {\n w = 0;\n C = g.la >> (4 + u);\n N = q.la >> (4 + u);\n for (p = 0; 2 > p; ++p) {\n z = N & 1;\n for (B = 0; 2 > B; ++B)\n (E = z + (C & 1)),\n (E = oa(k, l[2], E, n.Qc, 0, h, r)),\n (z = 0 < E),\n (C = (C >> 1) | (z << 3)),\n (w = (w << 2) | (3 < E ? 3 : 1 < E ? 2 : 0 != h[r + 0])),\n (r += 16);\n C >>= 2;\n N = (N >> 1) | (z << 5);\n }\n t |= w << (4 * u);\n A |= (C << 4) << u;\n y |= (N & 240) << u;\n }\n g.la = A;\n q.la = y;\n m.Hc = v;\n m.Gc = t;\n m.ia = t & 43690 ? 0 : n.ia;\n l = !(v | t);\n }\n 0 < d.L &&\n ((d.wa[d.Y + d.ja] = d.gd[f.$b][f.Za]),\n (d.wa[d.Y + d.ja].La |= !l));\n if (e.Ka) return T(a, 7, \"Premature end-of-file encountered.\");\n }\n Lc(a);\n c = a;\n d = b;\n e = 1;\n f = c.D;\n g = 0 < c.L && c.M >= c.zb && c.M <= c.Va;\n if (0 == c.Aa)\n a: {\n (f.M = c.M), (f.uc = g), Oc(c, f), (e = 1);\n w = c.D;\n f = w.Nb;\n t = Ya[c.L];\n g = t * c.R;\n k = (t / 2) * c.B;\n p = 16 * f * c.R;\n B = 8 * f * c.B;\n l = c.sa;\n m = c.ta - g + p;\n n = c.qa;\n h = c.ra - k + B;\n r = c.Ha;\n q = c.Ia - k + B;\n C = w.M;\n N = 0 == C;\n v = C >= c.Va - 1;\n 2 == c.Aa && Oc(c, w);\n if (w.uc)\n for (E = c, z = E.D.M, x(E.D.uc), w = E.yb; w < E.Hb; ++w) {\n var Q = E;\n y = w;\n A = z;\n var S = Q.D,\n D = S.Nb;\n u = Q.R;\n var S = S.wa[S.Y + y],\n F = Q.sa,\n H = Q.ta + 16 * D * u + 16 * y,\n J = S.dd,\n G = S.tc;\n if (0 != G)\n if ((x(3 <= G), 1 == Q.L))\n 0 < y && Pc(F, H, u, G + 4),\n S.La && Qc(F, H, u, G),\n 0 < A && Rc(F, H, u, G + 4),\n S.La && Sc(F, H, u, G);\n else {\n var L = Q.B,\n O = Q.qa,\n P = Q.ra + 8 * D * L + 8 * y,\n R = Q.Ha,\n Q = Q.Ia + 8 * D * L + 8 * y,\n D = S.ld;\n 0 < y &&\n (Tc(F, H, u, G + 4, J, D),\n Uc(O, P, R, Q, L, G + 4, J, D));\n S.La && (Vc(F, H, u, G, J, D), Wc(O, P, R, Q, L, G, J, D));\n 0 < A &&\n (Xc(F, H, u, G + 4, J, D),\n Yc(O, P, R, Q, L, G + 4, J, D));\n S.La && (Zc(F, H, u, G, J, D), $c(O, P, R, Q, L, G, J, D));\n }\n }\n c.ia && alert(\"todo:DitherRow\");\n if (null != d.put) {\n w = 16 * C;\n C = 16 * (C + 1);\n N\n ? ((d.y = c.sa),\n (d.O = c.ta + p),\n (d.f = c.qa),\n (d.N = c.ra + B),\n (d.ea = c.Ha),\n (d.W = c.Ia + B))\n : ((w -= t),\n (d.y = l),\n (d.O = m),\n (d.f = n),\n (d.N = h),\n (d.ea = r),\n (d.W = q));\n v || (C -= t);\n C > d.o && (C = d.o);\n d.F = null;\n d.J = null;\n if (\n null != c.Fa &&\n 0 < c.Fa.length &&\n w < C &&\n ((d.J = Le(c, d, w, C - w)),\n (d.F = c.mb),\n null == d.F && 0 == d.F.length)\n ) {\n e = T(c, 3, \"Could not decode alpha data.\");\n break a;\n }\n w < d.j &&\n ((t = d.j - w),\n (w = d.j),\n x(!(t & 1)),\n (d.O += c.R * t),\n (d.N += c.B * (t >> 1)),\n (d.W += c.B * (t >> 1)),\n null != d.F && (d.J += d.width * t));\n w < C &&\n ((d.O += d.v),\n (d.N += d.v >> 1),\n (d.W += d.v >> 1),\n null != d.F && (d.J += d.v),\n (d.ka = w - d.j),\n (d.U = d.va - d.v),\n (d.T = C - w),\n (e = d.put(d)));\n }\n f + 1 != c.Ic ||\n v ||\n (I(c.sa, c.ta - g, l, m + 16 * c.R, g),\n I(c.qa, c.ra - k, n, h + 8 * c.B, k),\n I(c.Ha, c.Ia - k, r, q + 8 * c.B, k));\n }\n if (!e) return T(a, 6, \"Output aborted.\");\n }\n return 1;\n }\n function Me(a, b) {\n if (null == a) return 0;\n if (null == b) return T(a, 2, \"NULL VP8Io parameter in VP8Decode().\");\n if (!a.cb && !Kc(a, b)) return 0;\n x(a.cb);\n if (null == b.ac || b.ac(b)) {\n b.ob && (a.L = 0);\n var c = Ya[a.L];\n 2 == a.L\n ? ((a.yb = 0), (a.zb = 0))\n : ((a.yb = (b.v - c) >> 4),\n (a.zb = (b.j - c) >> 4),\n 0 > a.yb && (a.yb = 0),\n 0 > a.zb && (a.zb = 0));\n a.Va = (b.o + 15 + c) >> 4;\n a.Hb = (b.va + 15 + c) >> 4;\n a.Hb > a.za && (a.Hb = a.za);\n a.Va > a.Ub && (a.Va = a.Ub);\n if (0 < a.L) {\n var d = a.ed;\n for (c = 0; 4 > c; ++c) {\n var e;\n if (a.Qa.Cb) {\n var f = a.Qa.Lb[c];\n a.Qa.Fb || (f += d.Tb);\n } else f = d.Tb;\n for (e = 0; 1 >= e; ++e) {\n var g = a.gd[c][e],\n h = f;\n d.Pc && ((h += d.vd[0]), e && (h += d.od[0]));\n h = 0 > h ? 0 : 63 < h ? 63 : h;\n if (0 < h) {\n var k = h;\n 0 < d.wb &&\n ((k = 4 < d.wb ? k >> 2 : k >> 1),\n k > 9 - d.wb && (k = 9 - d.wb));\n 1 > k && (k = 1);\n g.dd = k;\n g.tc = 2 * h + k;\n g.ld = 40 <= h ? 2 : 15 <= h ? 1 : 0;\n } else g.tc = 0;\n g.La = e;\n }\n }\n }\n c = 0;\n } else T(a, 6, \"Frame setup failed\"), (c = a.a);\n if ((c = 0 == c)) {\n if (c) {\n a.$c = 0;\n 0 < a.Aa || (a.Ic = Ne);\n b: {\n c = a.Ic;\n var k = a.za,\n d = 4 * k,\n l = 32 * k,\n m = k + 1,\n n = 0 < a.L ? k * (0 < a.Aa ? 2 : 1) : 0,\n r = (2 == a.Aa ? 2 : 1) * k;\n e = ((3 * (16 * c + Ya[a.L])) / 2) * l;\n f = null != a.Fa && 0 < a.Fa.length ? a.Kc.c * a.Kc.i : 0;\n g = d + 832 + e + f;\n if (g != g) c = 0;\n else {\n if (g > a.Vb) {\n a.Vb = 0;\n a.Ec = V(g);\n a.Fc = 0;\n if (null == a.Ec) {\n c = T(a, 1, \"no memory during frame initialization.\");\n break b;\n }\n a.Vb = g;\n }\n g = a.Ec;\n h = a.Fc;\n a.Ac = g;\n a.Bc = h;\n h += d;\n a.Gd = wa(l, Ic);\n a.Hd = 0;\n a.rb = wa(m + 1, Hc);\n a.sb = 1;\n a.wa = n ? wa(n, Xa) : null;\n a.Y = 0;\n a.D.Nb = 0;\n a.D.wa = a.wa;\n a.D.Y = a.Y;\n 0 < a.Aa && (a.D.Y += k);\n x(!0);\n a.oc = g;\n a.pc = h;\n h += 832;\n a.ya = wa(r, Kb);\n a.aa = 0;\n a.D.ya = a.ya;\n a.D.aa = a.aa;\n 2 == a.Aa && (a.D.aa += k);\n a.R = 16 * k;\n a.B = 8 * k;\n l = Ya[a.L];\n k = l * a.R;\n l = (l / 2) * a.B;\n a.sa = g;\n a.ta = h + k;\n a.qa = a.sa;\n a.ra = a.ta + 16 * c * a.R + l;\n a.Ha = a.qa;\n a.Ia = a.ra + 8 * c * a.B + l;\n a.$c = 0;\n h += e;\n a.mb = f ? g : null;\n a.nb = f ? h : null;\n x(h + f <= a.Fc + a.Vb);\n Lc(a);\n M(a.Ac, a.Bc, 0, d);\n c = 1;\n }\n }\n if (c) {\n b.ka = 0;\n b.y = a.sa;\n b.O = a.ta;\n b.f = a.qa;\n b.N = a.ra;\n b.ea = a.Ha;\n b.Vd = a.Ia;\n b.fa = a.R;\n b.Rc = a.B;\n b.F = null;\n b.J = 0;\n if (!ad) {\n for (c = -255; 255 >= c; ++c) bd[255 + c] = 0 > c ? -c : c;\n for (c = -1020; 1020 >= c; ++c)\n cd[1020 + c] = -128 > c ? -128 : 127 < c ? 127 : c;\n for (c = -112; 112 >= c; ++c)\n dd[112 + c] = -16 > c ? -16 : 15 < c ? 15 : c;\n for (c = -255; 510 >= c; ++c)\n ed[255 + c] = 0 > c ? 0 : 255 < c ? 255 : c;\n ad = 1;\n }\n Nc = Oe;\n Za = Pe;\n Nb = Qe;\n pa = Re;\n Ob = Se;\n fd = Te;\n Xc = Ue;\n Tc = Ve;\n Yc = We;\n Uc = Xe;\n Zc = Ye;\n Vc = Ze;\n $c = $e;\n Wc = af;\n Rc = gd;\n Pc = hd;\n Sc = bf;\n Qc = cf;\n W[0] = df;\n W[1] = ef;\n W[2] = ff;\n W[3] = gf;\n W[4] = hf;\n W[5] = jf;\n W[6] = kf;\n W[7] = lf;\n W[8] = mf;\n W[9] = nf;\n Y[0] = of;\n Y[1] = pf;\n Y[2] = qf;\n Y[3] = rf;\n Y[4] = sf;\n Y[5] = tf;\n Y[6] = uf;\n ka[0] = vf;\n ka[1] = wf;\n ka[2] = xf;\n ka[3] = yf;\n ka[4] = zf;\n ka[5] = Af;\n ka[6] = Bf;\n c = 1;\n } else c = 0;\n }\n c && (c = Je(a, b));\n null != b.bc && b.bc(b);\n c &= 1;\n }\n if (!c) return 0;\n a.cb = 0;\n return c;\n }\n function qa(a, b, c, d, e) {\n e = a[b + c + 32 * d] + (e >> 3);\n a[b + c + 32 * d] = e & -256 ? (0 > e ? 0 : 255) : e;\n }\n function kb(a, b, c, d, e, f) {\n qa(a, b, 0, c, d + e);\n qa(a, b, 1, c, d + f);\n qa(a, b, 2, c, d - f);\n qa(a, b, 3, c, d - e);\n }\n function da(a) {\n return ((20091 * a) >> 16) + a;\n }\n function id(a, b, c, d) {\n var e = 0,\n f;\n var g = V(16);\n for (f = 0; 4 > f; ++f) {\n var h = a[b + 0] + a[b + 8];\n var k = a[b + 0] - a[b + 8];\n var l = ((35468 * a[b + 4]) >> 16) - da(a[b + 12]);\n var m = da(a[b + 4]) + ((35468 * a[b + 12]) >> 16);\n g[e + 0] = h + m;\n g[e + 1] = k + l;\n g[e + 2] = k - l;\n g[e + 3] = h - m;\n e += 4;\n b++;\n }\n for (f = e = 0; 4 > f; ++f)\n (a = g[e + 0] + 4),\n (h = a + g[e + 8]),\n (k = a - g[e + 8]),\n (l = ((35468 * g[e + 4]) >> 16) - da(g[e + 12])),\n (m = da(g[e + 4]) + ((35468 * g[e + 12]) >> 16)),\n qa(c, d, 0, 0, h + m),\n qa(c, d, 1, 0, k + l),\n qa(c, d, 2, 0, k - l),\n qa(c, d, 3, 0, h - m),\n e++,\n (d += 32);\n }\n function Te(a, b, c, d) {\n var e = a[b + 0] + 4,\n f = (35468 * a[b + 4]) >> 16,\n g = da(a[b + 4]),\n h = (35468 * a[b + 1]) >> 16;\n a = da(a[b + 1]);\n kb(c, d, 0, e + g, a, h);\n kb(c, d, 1, e + f, a, h);\n kb(c, d, 2, e - f, a, h);\n kb(c, d, 3, e - g, a, h);\n }\n function Pe(a, b, c, d, e) {\n id(a, b, c, d);\n e && id(a, b + 16, c, d + 4);\n }\n function Qe(a, b, c, d) {\n Za(a, b + 0, c, d, 1);\n Za(a, b + 32, c, d + 128, 1);\n }\n function Re(a, b, c, d) {\n a = a[b + 0] + 4;\n var e;\n for (e = 0; 4 > e; ++e) for (b = 0; 4 > b; ++b) qa(c, d, b, e, a);\n }\n function Se(a, b, c, d) {\n a[b + 0] && pa(a, b + 0, c, d);\n a[b + 16] && pa(a, b + 16, c, d + 4);\n a[b + 32] && pa(a, b + 32, c, d + 128);\n a[b + 48] && pa(a, b + 48, c, d + 128 + 4);\n }\n function Oe(a, b, c, d) {\n var e = V(16),\n f;\n for (f = 0; 4 > f; ++f) {\n var g = a[b + 0 + f] + a[b + 12 + f];\n var h = a[b + 4 + f] + a[b + 8 + f];\n var k = a[b + 4 + f] - a[b + 8 + f];\n var l = a[b + 0 + f] - a[b + 12 + f];\n e[0 + f] = g + h;\n e[8 + f] = g - h;\n e[4 + f] = l + k;\n e[12 + f] = l - k;\n }\n for (f = 0; 4 > f; ++f)\n (a = e[0 + 4 * f] + 3),\n (g = a + e[3 + 4 * f]),\n (h = e[1 + 4 * f] + e[2 + 4 * f]),\n (k = e[1 + 4 * f] - e[2 + 4 * f]),\n (l = a - e[3 + 4 * f]),\n (c[d + 0] = (g + h) >> 3),\n (c[d + 16] = (l + k) >> 3),\n (c[d + 32] = (g - h) >> 3),\n (c[d + 48] = (l - k) >> 3),\n (d += 64);\n }\n function Pb(a, b, c) {\n var d = b - 32,\n e = R,\n f = 255 - a[d - 1],\n g;\n for (g = 0; g < c; ++g) {\n var h = e,\n k = f + a[b - 1],\n l;\n for (l = 0; l < c; ++l) a[b + l] = h[k + a[d + l]];\n b += 32;\n }\n }\n function ef(a, b) {\n Pb(a, b, 4);\n }\n function wf(a, b) {\n Pb(a, b, 8);\n }\n function pf(a, b) {\n Pb(a, b, 16);\n }\n function qf(a, b) {\n var c;\n for (c = 0; 16 > c; ++c) I(a, b + 32 * c, a, b - 32, 16);\n }\n function rf(a, b) {\n var c;\n for (c = 16; 0 < c; --c) M(a, b, a[b - 1], 16), (b += 32);\n }\n function $a(a, b, c) {\n var d;\n for (d = 0; 16 > d; ++d) M(b, c + 32 * d, a, 16);\n }\n function of(a, b) {\n var c = 16,\n d;\n for (d = 0; 16 > d; ++d) c += a[b - 1 + 32 * d] + a[b + d - 32];\n $a(c >> 5, a, b);\n }\n function sf(a, b) {\n var c = 8,\n d;\n for (d = 0; 16 > d; ++d) c += a[b - 1 + 32 * d];\n $a(c >> 4, a, b);\n }\n function tf(a, b) {\n var c = 8,\n d;\n for (d = 0; 16 > d; ++d) c += a[b + d - 32];\n $a(c >> 4, a, b);\n }\n function uf(a, b) {\n $a(128, a, b);\n }\n function z(a, b, c) {\n return (a + 2 * b + c + 2) >> 2;\n }\n function ff(a, b) {\n var c = b - 32,\n c = new Uint8Array([\n z(a[c - 1], a[c + 0], a[c + 1]),\n z(a[c + 0], a[c + 1], a[c + 2]),\n z(a[c + 1], a[c + 2], a[c + 3]),\n z(a[c + 2], a[c + 3], a[c + 4])\n ]),\n d;\n for (d = 0; 4 > d; ++d) I(a, b + 32 * d, c, 0, c.length);\n }\n function gf(a, b) {\n var c = a[b - 1],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96];\n ra(a, b + 0, 16843009 * z(a[b - 1 - 32], c, d));\n ra(a, b + 32, 16843009 * z(c, d, e));\n ra(a, b + 64, 16843009 * z(d, e, f));\n ra(a, b + 96, 16843009 * z(e, f, f));\n }\n function df(a, b) {\n var c = 4,\n d;\n for (d = 0; 4 > d; ++d) c += a[b + d - 32] + a[b - 1 + 32 * d];\n c >>= 3;\n for (d = 0; 4 > d; ++d) M(a, b + 32 * d, c, 4);\n }\n function hf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 - 32],\n g = a[b + 0 - 32],\n h = a[b + 1 - 32],\n k = a[b + 2 - 32],\n l = a[b + 3 - 32];\n a[b + 0 + 96] = z(d, e, a[b - 1 + 96]);\n a[b + 1 + 96] = a[b + 0 + 64] = z(c, d, e);\n a[b + 2 + 96] = a[b + 1 + 64] = a[b + 0 + 32] = z(f, c, d);\n a[b + 3 + 96] = a[b + 2 + 64] = a[b + 1 + 32] = a[b + 0 + 0] = z(g, f, c);\n a[b + 3 + 64] = a[b + 2 + 32] = a[b + 1 + 0] = z(h, g, f);\n a[b + 3 + 32] = a[b + 2 + 0] = z(k, h, g);\n a[b + 3 + 0] = z(l, k, h);\n }\n function kf(a, b) {\n var c = a[b + 1 - 32],\n d = a[b + 2 - 32],\n e = a[b + 3 - 32],\n f = a[b + 4 - 32],\n g = a[b + 5 - 32],\n h = a[b + 6 - 32],\n k = a[b + 7 - 32];\n a[b + 0 + 0] = z(a[b + 0 - 32], c, d);\n a[b + 1 + 0] = a[b + 0 + 32] = z(c, d, e);\n a[b + 2 + 0] = a[b + 1 + 32] = a[b + 0 + 64] = z(d, e, f);\n a[b + 3 + 0] = a[b + 2 + 32] = a[b + 1 + 64] = a[b + 0 + 96] = z(e, f, g);\n a[b + 3 + 32] = a[b + 2 + 64] = a[b + 1 + 96] = z(f, g, h);\n a[b + 3 + 64] = a[b + 2 + 96] = z(g, h, k);\n a[b + 3 + 96] = z(h, k, k);\n }\n function jf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 - 32],\n g = a[b + 0 - 32],\n h = a[b + 1 - 32],\n k = a[b + 2 - 32],\n l = a[b + 3 - 32];\n a[b + 0 + 0] = a[b + 1 + 64] = (f + g + 1) >> 1;\n a[b + 1 + 0] = a[b + 2 + 64] = (g + h + 1) >> 1;\n a[b + 2 + 0] = a[b + 3 + 64] = (h + k + 1) >> 1;\n a[b + 3 + 0] = (k + l + 1) >> 1;\n a[b + 0 + 96] = z(e, d, c);\n a[b + 0 + 64] = z(d, c, f);\n a[b + 0 + 32] = a[b + 1 + 96] = z(c, f, g);\n a[b + 1 + 32] = a[b + 2 + 96] = z(f, g, h);\n a[b + 2 + 32] = a[b + 3 + 96] = z(g, h, k);\n a[b + 3 + 32] = z(h, k, l);\n }\n function lf(a, b) {\n var c = a[b + 0 - 32],\n d = a[b + 1 - 32],\n e = a[b + 2 - 32],\n f = a[b + 3 - 32],\n g = a[b + 4 - 32],\n h = a[b + 5 - 32],\n k = a[b + 6 - 32],\n l = a[b + 7 - 32];\n a[b + 0 + 0] = (c + d + 1) >> 1;\n a[b + 1 + 0] = a[b + 0 + 64] = (d + e + 1) >> 1;\n a[b + 2 + 0] = a[b + 1 + 64] = (e + f + 1) >> 1;\n a[b + 3 + 0] = a[b + 2 + 64] = (f + g + 1) >> 1;\n a[b + 0 + 32] = z(c, d, e);\n a[b + 1 + 32] = a[b + 0 + 96] = z(d, e, f);\n a[b + 2 + 32] = a[b + 1 + 96] = z(e, f, g);\n a[b + 3 + 32] = a[b + 2 + 96] = z(f, g, h);\n a[b + 3 + 64] = z(g, h, k);\n a[b + 3 + 96] = z(h, k, l);\n }\n function nf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96];\n a[b + 0 + 0] = (c + d + 1) >> 1;\n a[b + 2 + 0] = a[b + 0 + 32] = (d + e + 1) >> 1;\n a[b + 2 + 32] = a[b + 0 + 64] = (e + f + 1) >> 1;\n a[b + 1 + 0] = z(c, d, e);\n a[b + 3 + 0] = a[b + 1 + 32] = z(d, e, f);\n a[b + 3 + 32] = a[b + 1 + 64] = z(e, f, f);\n a[b + 3 + 64] = a[b + 2 + 64] = a[b + 0 + 96] = a[b + 1 + 96] = a[\n b + 2 + 96\n ] = a[b + 3 + 96] = f;\n }\n function mf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96],\n g = a[b - 1 - 32],\n h = a[b + 0 - 32],\n k = a[b + 1 - 32],\n l = a[b + 2 - 32];\n a[b + 0 + 0] = a[b + 2 + 32] = (c + g + 1) >> 1;\n a[b + 0 + 32] = a[b + 2 + 64] = (d + c + 1) >> 1;\n a[b + 0 + 64] = a[b + 2 + 96] = (e + d + 1) >> 1;\n a[b + 0 + 96] = (f + e + 1) >> 1;\n a[b + 3 + 0] = z(h, k, l);\n a[b + 2 + 0] = z(g, h, k);\n a[b + 1 + 0] = a[b + 3 + 32] = z(c, g, h);\n a[b + 1 + 32] = a[b + 3 + 64] = z(d, c, g);\n a[b + 1 + 64] = a[b + 3 + 96] = z(e, d, c);\n a[b + 1 + 96] = z(f, e, d);\n }\n function xf(a, b) {\n var c;\n for (c = 0; 8 > c; ++c) I(a, b + 32 * c, a, b - 32, 8);\n }\n function yf(a, b) {\n var c;\n for (c = 0; 8 > c; ++c) M(a, b, a[b - 1], 8), (b += 32);\n }\n function lb(a, b, c) {\n var d;\n for (d = 0; 8 > d; ++d) M(b, c + 32 * d, a, 8);\n }\n function vf(a, b) {\n var c = 8,\n d;\n for (d = 0; 8 > d; ++d) c += a[b + d - 32] + a[b - 1 + 32 * d];\n lb(c >> 4, a, b);\n }\n function Af(a, b) {\n var c = 4,\n d;\n for (d = 0; 8 > d; ++d) c += a[b + d - 32];\n lb(c >> 3, a, b);\n }\n function zf(a, b) {\n var c = 4,\n d;\n for (d = 0; 8 > d; ++d) c += a[b - 1 + 32 * d];\n lb(c >> 3, a, b);\n }\n function Bf(a, b) {\n lb(128, a, b);\n }\n function ab(a, b, c) {\n var d = a[b - c],\n e = a[b + 0],\n f = 3 * (e - d) + Qb[1020 + a[b - 2 * c] - a[b + c]],\n g = mb[112 + ((f + 4) >> 3)];\n a[b - c] = R[255 + d + mb[112 + ((f + 3) >> 3)]];\n a[b + 0] = R[255 + e - g];\n }\n function jd(a, b, c, d) {\n var e = a[b + 0],\n f = a[b + c];\n return U[255 + a[b - 2 * c] - a[b - c]] > d || U[255 + f - e] > d;\n }\n function kd(a, b, c, d) {\n return (\n 4 * U[255 + a[b - c] - a[b + 0]] + U[255 + a[b - 2 * c] - a[b + c]] <= d\n );\n }\n function ld(a, b, c, d, e) {\n var f = a[b - 3 * c],\n g = a[b - 2 * c],\n h = a[b - c],\n k = a[b + 0],\n l = a[b + c],\n m = a[b + 2 * c],\n n = a[b + 3 * c];\n return 4 * U[255 + h - k] + U[255 + g - l] > d\n ? 0\n : U[255 + a[b - 4 * c] - f] <= e &&\n U[255 + f - g] <= e &&\n U[255 + g - h] <= e &&\n U[255 + n - m] <= e &&\n U[255 + m - l] <= e &&\n U[255 + l - k] <= e;\n }\n function gd(a, b, c, d) {\n var e = 2 * d + 1;\n for (d = 0; 16 > d; ++d) kd(a, b + d, c, e) && ab(a, b + d, c);\n }\n function hd(a, b, c, d) {\n var e = 2 * d + 1;\n for (d = 0; 16 > d; ++d) kd(a, b + d * c, 1, e) && ab(a, b + d * c, 1);\n }\n function bf(a, b, c, d) {\n var e;\n for (e = 3; 0 < e; --e) (b += 4 * c), gd(a, b, c, d);\n }\n function cf(a, b, c, d) {\n var e;\n for (e = 3; 0 < e; --e) (b += 4), hd(a, b, c, d);\n }\n function ea(a, b, c, d, e, f, g, h) {\n for (f = 2 * f + 1; 0 < e--; ) {\n if (ld(a, b, c, f, g))\n if (jd(a, b, c, h)) ab(a, b, c);\n else {\n var k = a,\n l = b,\n m = c,\n n = k[l - 2 * m],\n r = k[l - m],\n q = k[l + 0],\n t = k[l + m],\n v = k[l + 2 * m],\n p = Qb[1020 + 3 * (q - r) + Qb[1020 + n - t]],\n u = (27 * p + 63) >> 7,\n w = (18 * p + 63) >> 7,\n p = (9 * p + 63) >> 7;\n k[l - 3 * m] = R[255 + k[l - 3 * m] + p];\n k[l - 2 * m] = R[255 + n + w];\n k[l - m] = R[255 + r + u];\n k[l + 0] = R[255 + q - u];\n k[l + m] = R[255 + t - w];\n k[l + 2 * m] = R[255 + v - p];\n }\n b += d;\n }\n }\n function Fa(a, b, c, d, e, f, g, h) {\n for (f = 2 * f + 1; 0 < e--; ) {\n if (ld(a, b, c, f, g))\n if (jd(a, b, c, h)) ab(a, b, c);\n else {\n var k = a,\n l = b,\n m = c,\n n = k[l - m],\n r = k[l + 0],\n q = k[l + m],\n t = 3 * (r - n),\n v = mb[112 + ((t + 4) >> 3)],\n t = mb[112 + ((t + 3) >> 3)],\n p = (v + 1) >> 1;\n k[l - 2 * m] = R[255 + k[l - 2 * m] + p];\n k[l - m] = R[255 + n + t];\n k[l + 0] = R[255 + r - v];\n k[l + m] = R[255 + q - p];\n }\n b += d;\n }\n }\n function Ue(a, b, c, d, e, f) {\n ea(a, b, c, 1, 16, d, e, f);\n }\n function Ve(a, b, c, d, e, f) {\n ea(a, b, 1, c, 16, d, e, f);\n }\n function Ye(a, b, c, d, e, f) {\n var g;\n for (g = 3; 0 < g; --g) (b += 4 * c), Fa(a, b, c, 1, 16, d, e, f);\n }\n function Ze(a, b, c, d, e, f) {\n var g;\n for (g = 3; 0 < g; --g) (b += 4), Fa(a, b, 1, c, 16, d, e, f);\n }\n function We(a, b, c, d, e, f, g, h) {\n ea(a, b, e, 1, 8, f, g, h);\n ea(c, d, e, 1, 8, f, g, h);\n }\n function Xe(a, b, c, d, e, f, g, h) {\n ea(a, b, 1, e, 8, f, g, h);\n ea(c, d, 1, e, 8, f, g, h);\n }\n function $e(a, b, c, d, e, f, g, h) {\n Fa(a, b + 4 * e, e, 1, 8, f, g, h);\n Fa(c, d + 4 * e, e, 1, 8, f, g, h);\n }\n function af(a, b, c, d, e, f, g, h) {\n Fa(a, b + 4, 1, e, 8, f, g, h);\n Fa(c, d + 4, 1, e, 8, f, g, h);\n }\n function Cf() {\n this.ba = new Cb();\n this.ec = [];\n this.cc = [];\n this.Mc = [];\n this.Dc = this.Nc = this.dc = this.fc = 0;\n this.Oa = new Ud();\n this.memory = 0;\n this.Ib = \"OutputFunc\";\n this.Jb = \"OutputAlphaFunc\";\n this.Nd = \"OutputRowFunc\";\n }\n function md() {\n this.data = [];\n this.offset = this.kd = this.ha = this.w = 0;\n this.na = [];\n this.xa = this.gb = this.Ja = this.Sa = this.P = 0;\n }\n function Df() {\n this.nc = this.Ea = this.b = this.hc = 0;\n this.K = [];\n this.w = 0;\n }\n function Ef() {\n this.ua = 0;\n this.Wa = new ac();\n this.vb = new ac();\n this.md = this.xc = this.wc = 0;\n this.vc = [];\n this.Wb = 0;\n this.Ya = new Ub();\n this.yc = new O();\n }\n function je() {\n this.xb = this.a = 0;\n this.l = new Oa();\n this.ca = new Cb();\n this.V = [];\n this.Ba = 0;\n this.Ta = [];\n this.Ua = 0;\n this.m = new Ra();\n this.Pb = 0;\n this.wd = new Ra();\n this.Ma = this.$ = this.C = this.i = this.c = this.xd = 0;\n this.s = new Ef();\n this.ab = 0;\n this.gc = wa(4, Df);\n this.Oc = 0;\n }\n function Ff() {\n this.Lc = this.Z = this.$a = this.i = this.c = 0;\n this.l = new Oa();\n this.ic = 0;\n this.ca = [];\n this.tb = 0;\n this.qd = null;\n this.rd = 0;\n }\n function Rb(a, b, c, d, e, f, g) {\n a = null == a ? 0 : a[b + 0];\n for (b = 0; b < g; ++b) (e[f + b] = (a + c[d + b]) & 255), (a = e[f + b]);\n }\n function Gf(a, b, c, d, e, f, g) {\n if (null == a) Rb(null, null, c, d, e, f, g);\n else {\n var h;\n for (h = 0; h < g; ++h) e[f + h] = (a[b + h] + c[d + h]) & 255;\n }\n }\n function Hf(a, b, c, d, e, f, g) {\n if (null == a) Rb(null, null, c, d, e, f, g);\n else {\n var h = a[b + 0],\n k = h,\n l = h,\n m;\n for (m = 0; m < g; ++m)\n (h = a[b + m]),\n (k = l + h - k),\n (l = (c[d + m] + (k & -256 ? (0 > k ? 0 : 255) : k)) & 255),\n (k = h),\n (e[f + m] = l);\n }\n }\n function Le(a, b, c, d) {\n var e = b.width,\n f = b.o;\n x(null != a && null != b);\n if (0 > c || 0 >= d || c + d > f) return null;\n if (!a.Cc) {\n if (null == a.ga) {\n a.ga = new Ff();\n var g;\n (g = null == a.ga) ||\n ((g = b.width * b.o),\n x(0 == a.Gb.length),\n (a.Gb = V(g)),\n (a.Uc = 0),\n null == a.Gb\n ? (g = 0)\n : ((a.mb = a.Gb), (a.nb = a.Uc), (a.rc = null), (g = 1)),\n (g = !g));\n if (!g) {\n g = a.ga;\n var h = a.Fa,\n k = a.P,\n l = a.qc,\n m = a.mb,\n n = a.nb,\n r = k + 1,\n q = l - 1,\n t = g.l;\n x(null != h && null != m && null != b);\n ia[0] = null;\n ia[1] = Rb;\n ia[2] = Gf;\n ia[3] = Hf;\n g.ca = m;\n g.tb = n;\n g.c = b.width;\n g.i = b.height;\n x(0 < g.c && 0 < g.i);\n if (1 >= l) b = 0;\n else if (\n ((g.$a = (h[k + 0] >> 0) & 3),\n (g.Z = (h[k + 0] >> 2) & 3),\n (g.Lc = (h[k + 0] >> 4) & 3),\n (k = (h[k + 0] >> 6) & 3),\n 0 > g.$a || 1 < g.$a || 4 <= g.Z || 1 < g.Lc || k)\n )\n b = 0;\n else if (\n ((t.put = kc),\n (t.ac = gc),\n (t.bc = lc),\n (t.ma = g),\n (t.width = b.width),\n (t.height = b.height),\n (t.Da = b.Da),\n (t.v = b.v),\n (t.va = b.va),\n (t.j = b.j),\n (t.o = b.o),\n g.$a)\n )\n b: {\n x(1 == g.$a), (b = Bc());\n c: for (;;) {\n if (null == b) {\n b = 0;\n break b;\n }\n x(null != g);\n g.mc = b;\n b.c = g.c;\n b.i = g.i;\n b.l = g.l;\n b.l.ma = g;\n b.l.width = g.c;\n b.l.height = g.i;\n b.a = 0;\n cb(b.m, h, r, q);\n if (!rb(g.c, g.i, 1, b, null)) break c;\n 1 == b.ab && 3 == b.gc[0].hc && yc(b.s)\n ? ((g.ic = 1),\n (h = b.c * b.i),\n (b.Ta = null),\n (b.Ua = 0),\n (b.V = V(h)),\n (b.Ba = 0),\n null == b.V ? ((b.a = 1), (b = 0)) : (b = 1))\n : ((g.ic = 0), (b = Ec(b, g.c)));\n if (!b) break c;\n b = 1;\n break b;\n }\n g.mc = null;\n b = 0;\n }\n else b = q >= g.c * g.i;\n g = !b;\n }\n if (g) return null;\n 1 != a.ga.Lc ? (a.Ga = 0) : (d = f - c);\n }\n x(null != a.ga);\n x(c + d <= f);\n a: {\n h = a.ga;\n b = h.c;\n f = h.l.o;\n if (0 == h.$a) {\n r = a.rc;\n q = a.Vc;\n t = a.Fa;\n k = a.P + 1 + c * b;\n l = a.mb;\n m = a.nb + c * b;\n x(k <= a.P + a.qc);\n if (0 != h.Z)\n for (x(null != ia[h.Z]), g = 0; g < d; ++g)\n ia[h.Z](r, q, t, k, l, m, b),\n (r = l),\n (q = m),\n (m += b),\n (k += b);\n else\n for (g = 0; g < d; ++g)\n I(l, m, t, k, b), (r = l), (q = m), (m += b), (k += b);\n a.rc = r;\n a.Vc = q;\n } else {\n x(null != h.mc);\n b = c + d;\n g = h.mc;\n x(null != g);\n x(b <= g.i);\n if (g.C >= b) b = 1;\n else if ((h.ic || Aa(), h.ic)) {\n var h = g.V,\n r = g.Ba,\n q = g.c,\n v = g.i,\n t = 1,\n k = g.$ / q,\n l = g.$ % q,\n m = g.m,\n n = g.s,\n p = g.$,\n u = q * v,\n w = q * b,\n y = n.wc,\n A = p < w ? ha(n, l, k) : null;\n x(p <= u);\n x(b <= v);\n x(yc(n));\n c: for (;;) {\n for (; !m.h && p < w; ) {\n l & y || (A = ha(n, l, k));\n x(null != A);\n Sa(m);\n v = ua(A.G[0], A.H[0], m);\n if (256 > v)\n (h[r + p] = v),\n ++p,\n ++l,\n l >= q && ((l = 0), ++k, k <= b && !(k % 16) && Ib(g, k));\n else if (280 > v) {\n var v = ib(v - 256, m);\n var E = ua(A.G[4], A.H[4], m);\n Sa(m);\n E = ib(E, m);\n E = nc(q, E);\n if (p >= E && u - p >= v) {\n var B;\n for (B = 0; B < v; ++B) h[r + p + B] = h[r + p + B - E];\n } else {\n t = 0;\n break c;\n }\n p += v;\n for (l += v; l >= q; )\n (l -= q), ++k, k <= b && !(k % 16) && Ib(g, k);\n p < w && l & y && (A = ha(n, l, k));\n } else {\n t = 0;\n break c;\n }\n x(m.h == db(m));\n }\n Ib(g, k > b ? b : k);\n break c;\n }\n !t || (m.h && p < u) ? ((t = 0), (g.a = m.h ? 5 : 3)) : (g.$ = p);\n b = t;\n } else b = Jb(g, g.V, g.Ba, g.c, g.i, b, se);\n if (!b) {\n d = 0;\n break a;\n }\n }\n c + d >= f && (a.Cc = 1);\n d = 1;\n }\n if (!d) return null;\n if (\n a.Cc &&\n ((d = a.ga), null != d && (d.mc = null), (a.ga = null), 0 < a.Ga)\n )\n return alert(\"todo:WebPDequantizeLevels\"), null;\n }\n return a.nb + c * e;\n }\n function If(a, b, c, d, e, f) {\n for (; 0 < e--; ) {\n var g = a,\n h = b + (c ? 1 : 0),\n k = a,\n l = b + (c ? 0 : 3),\n m;\n for (m = 0; m < d; ++m) {\n var n = k[l + 4 * m];\n 255 != n &&\n ((n *= 32897),\n (g[h + 4 * m + 0] = (g[h + 4 * m + 0] * n) >> 23),\n (g[h + 4 * m + 1] = (g[h + 4 * m + 1] * n) >> 23),\n (g[h + 4 * m + 2] = (g[h + 4 * m + 2] * n) >> 23));\n }\n b += f;\n }\n }\n function Jf(a, b, c, d, e) {\n for (; 0 < d--; ) {\n var f;\n for (f = 0; f < c; ++f) {\n var g = a[b + 2 * f + 0],\n h = a[b + 2 * f + 1],\n k = h & 15,\n l = 4369 * k,\n h = (((h & 240) | (h >> 4)) * l) >> 16;\n a[b + 2 * f + 0] =\n (((((g & 240) | (g >> 4)) * l) >> 16) & 240) |\n ((((((g & 15) | (g << 4)) * l) >> 16) >> 4) & 15);\n a[b + 2 * f + 1] = (h & 240) | k;\n }\n b += e;\n }\n }\n function Kf(a, b, c, d, e, f, g, h) {\n var k = 255,\n l,\n m;\n for (m = 0; m < e; ++m) {\n for (l = 0; l < d; ++l) {\n var n = a[b + l];\n f[g + 4 * l] = n;\n k &= n;\n }\n b += c;\n g += h;\n }\n return 255 != k;\n }\n function Lf(a, b, c, d, e) {\n var f;\n for (f = 0; f < e; ++f) c[d + f] = a[b + f] >> 8;\n }\n function Aa() {\n za = If;\n vc = Jf;\n fc = Kf;\n Fc = Lf;\n }\n function va(a, b, c) {\n self[a] = function(a, e, f, g, h, k, l, m, n, r, q, t, v, p, u, w, y) {\n var d,\n E = (y - 1) >> 1;\n var B = h[k + 0] | (l[m + 0] << 16);\n var C = n[r + 0] | (q[t + 0] << 16);\n x(null != a);\n var z = (3 * B + C + 131074) >> 2;\n b(a[e + 0], z & 255, z >> 16, v, p);\n null != f &&\n ((z = (3 * C + B + 131074) >> 2),\n b(f[g + 0], z & 255, z >> 16, u, w));\n for (d = 1; d <= E; ++d) {\n var D = h[k + d] | (l[m + d] << 16);\n var G = n[r + d] | (q[t + d] << 16);\n var F = B + D + C + G + 524296;\n var H = (F + 2 * (D + C)) >> 3;\n F = (F + 2 * (B + G)) >> 3;\n z = (H + B) >> 1;\n B = (F + D) >> 1;\n b(a[e + 2 * d - 1], z & 255, z >> 16, v, p + (2 * d - 1) * c);\n b(a[e + 2 * d - 0], B & 255, B >> 16, v, p + (2 * d - 0) * c);\n null != f &&\n ((z = (F + C) >> 1),\n (B = (H + G) >> 1),\n b(f[g + 2 * d - 1], z & 255, z >> 16, u, w + (2 * d - 1) * c),\n b(f[g + 2 * d + 0], B & 255, B >> 16, u, w + (2 * d + 0) * c));\n B = D;\n C = G;\n }\n y & 1 ||\n ((z = (3 * B + C + 131074) >> 2),\n b(a[e + y - 1], z & 255, z >> 16, v, p + (y - 1) * c),\n null != f &&\n ((z = (3 * C + B + 131074) >> 2),\n b(f[g + y - 1], z & 255, z >> 16, u, w + (y - 1) * c)));\n };\n }\n function ic() {\n P[Ca] = Mf;\n P[Ua] = nd;\n P[tc] = Nf;\n P[Va] = od;\n P[ya] = pd;\n P[Db] = qd;\n P[wc] = Of;\n P[zb] = nd;\n P[Ab] = od;\n P[Ja] = pd;\n P[Bb] = qd;\n }\n function Sb(a) {\n return a & ~Pf ? (0 > a ? 0 : 255) : a >> rd;\n }\n function bb(a, b) {\n return Sb(((19077 * a) >> 8) + ((26149 * b) >> 8) - 14234);\n }\n function nb(a, b, c) {\n return Sb(\n ((19077 * a) >> 8) - ((6419 * b) >> 8) - ((13320 * c) >> 8) + 8708\n );\n }\n function Pa(a, b) {\n return Sb(((19077 * a) >> 8) + ((33050 * b) >> 8) - 17685);\n }\n function Ga(a, b, c, d, e) {\n d[e + 0] = bb(a, c);\n d[e + 1] = nb(a, b, c);\n d[e + 2] = Pa(a, b);\n }\n function Tb(a, b, c, d, e) {\n d[e + 0] = Pa(a, b);\n d[e + 1] = nb(a, b, c);\n d[e + 2] = bb(a, c);\n }\n function sd(a, b, c, d, e) {\n var f = nb(a, b, c);\n b = ((f << 3) & 224) | (Pa(a, b) >> 3);\n d[e + 0] = (bb(a, c) & 248) | (f >> 5);\n d[e + 1] = b;\n }\n function td(a, b, c, d, e) {\n var f = (Pa(a, b) & 240) | 15;\n d[e + 0] = (bb(a, c) & 240) | (nb(a, b, c) >> 4);\n d[e + 1] = f;\n }\n function ud(a, b, c, d, e) {\n d[e + 0] = 255;\n Ga(a, b, c, d, e + 1);\n }\n function vd(a, b, c, d, e) {\n Tb(a, b, c, d, e);\n d[e + 3] = 255;\n }\n function wd(a, b, c, d, e) {\n Ga(a, b, c, d, e);\n d[e + 3] = 255;\n }\n function ga(a, b) {\n return 0 > a ? 0 : a > b ? b : a;\n }\n function la(a, b, c) {\n self[a] = function(a, e, f, g, h, k, l, m, n) {\n for (var d = m + (n & -2) * c; m != d; )\n b(a[e + 0], f[g + 0], h[k + 0], l, m),\n b(a[e + 1], f[g + 0], h[k + 0], l, m + c),\n (e += 2),\n ++g,\n ++k,\n (m += 2 * c);\n n & 1 && b(a[e + 0], f[g + 0], h[k + 0], l, m);\n };\n }\n function xd(a, b, c) {\n return 0 == c ? (0 == a ? (0 == b ? 6 : 5) : 0 == b ? 4 : 0) : c;\n }\n function yd(a, b, c, d, e) {\n switch (a >>> 30) {\n case 3:\n Za(b, c, d, e, 0);\n break;\n case 2:\n fd(b, c, d, e);\n break;\n case 1:\n pa(b, c, d, e);\n }\n }\n function Oc(a, b) {\n var c,\n d,\n e = b.M,\n f = b.Nb,\n g = a.oc,\n h = a.pc + 40,\n k = a.oc,\n l = a.pc + 584,\n m = a.oc,\n n = a.pc + 600;\n for (c = 0; 16 > c; ++c) g[h + 32 * c - 1] = 129;\n for (c = 0; 8 > c; ++c)\n (k[l + 32 * c - 1] = 129), (m[n + 32 * c - 1] = 129);\n 0 < e\n ? (g[h - 1 - 32] = k[l - 1 - 32] = m[n - 1 - 32] = 129)\n : (M(g, h - 32 - 1, 127, 21),\n M(k, l - 32 - 1, 127, 9),\n M(m, n - 32 - 1, 127, 9));\n for (d = 0; d < a.za; ++d) {\n var r = b.ya[b.aa + d];\n if (0 < d) {\n for (c = -1; 16 > c; ++c) I(g, h + 32 * c - 4, g, h + 32 * c + 12, 4);\n for (c = -1; 8 > c; ++c)\n I(k, l + 32 * c - 4, k, l + 32 * c + 4, 4),\n I(m, n + 32 * c - 4, m, n + 32 * c + 4, 4);\n }\n var q = a.Gd,\n t = a.Hd + d,\n v = r.ad,\n p = r.Hc;\n 0 < e &&\n (I(g, h - 32, q[t].y, 0, 16),\n I(k, l - 32, q[t].f, 0, 8),\n I(m, n - 32, q[t].ea, 0, 8));\n if (r.Za) {\n var u = g;\n var w = h - 32 + 16;\n 0 < e &&\n (d >= a.za - 1\n ? M(u, w, q[t].y[15], 4)\n : I(u, w, q[t + 1].y, 0, 4));\n for (c = 0; 4 > c; c++)\n u[w + 128 + c] = u[w + 256 + c] = u[w + 384 + c] = u[w + 0 + c];\n for (c = 0; 16 > c; ++c, p <<= 2)\n (u = g), (w = h + zd[c]), W[r.Ob[c]](u, w), yd(p, v, 16 * +c, u, w);\n } else if (((u = xd(d, e, r.Ob[0])), Y[u](g, h), 0 != p))\n for (c = 0; 16 > c; ++c, p <<= 2) yd(p, v, 16 * +c, g, h + zd[c]);\n c = r.Gc;\n u = xd(d, e, r.Dd);\n ka[u](k, l);\n ka[u](m, n);\n r = c >> 0;\n p = v;\n u = k;\n w = l;\n r & 255 && (r & 170 ? Nb(p, 256, u, w) : Ob(p, 256, u, w));\n c >>= 8;\n r = m;\n p = n;\n c & 255 && (c & 170 ? Nb(v, 320, r, p) : Ob(v, 320, r, p));\n e < a.Ub - 1 &&\n (I(q[t].y, 0, g, h + 480, 16),\n I(q[t].f, 0, k, l + 224, 8),\n I(q[t].ea, 0, m, n + 224, 8));\n c = 8 * f * a.B;\n q = a.sa;\n t = a.ta + 16 * d + 16 * f * a.R;\n v = a.qa;\n r = a.ra + 8 * d + c;\n p = a.Ha;\n u = a.Ia + 8 * d + c;\n for (c = 0; 16 > c; ++c) I(q, t + c * a.R, g, h + 32 * c, 16);\n for (c = 0; 8 > c; ++c)\n I(v, r + c * a.B, k, l + 32 * c, 8),\n I(p, u + c * a.B, m, n + 32 * c, 8);\n }\n }\n function Ad(a, b, c, d, e, f, g, h, k) {\n var l = [0],\n m = [0],\n n = 0,\n r = null != k ? k.kd : 0,\n q = null != k ? k : new md();\n if (null == a || 12 > c) return 7;\n q.data = a;\n q.w = b;\n q.ha = c;\n b = [b];\n c = [c];\n q.gb = [q.gb];\n a: {\n var t = b;\n var v = c;\n var p = q.gb;\n x(null != a);\n x(null != v);\n x(null != p);\n p[0] = 0;\n if (12 <= v[0] && !fa(a, t[0], \"RIFF\")) {\n if (fa(a, t[0] + 8, \"WEBP\")) {\n p = 3;\n break a;\n }\n var u = Ha(a, t[0] + 4);\n if (12 > u || 4294967286 < u) {\n p = 3;\n break a;\n }\n if (r && u > v[0] - 8) {\n p = 7;\n break a;\n }\n p[0] = u;\n t[0] += 12;\n v[0] -= 12;\n }\n p = 0;\n }\n if (0 != p) return p;\n u = 0 < q.gb[0];\n for (c = c[0]; ; ) {\n t = [0];\n n = [n];\n a: {\n var w = a;\n v = b;\n p = c;\n var y = n,\n A = l,\n z = m,\n B = t;\n y[0] = 0;\n if (8 > p[0]) p = 7;\n else {\n if (!fa(w, v[0], \"VP8X\")) {\n if (10 != Ha(w, v[0] + 4)) {\n p = 3;\n break a;\n }\n if (18 > p[0]) {\n p = 7;\n break a;\n }\n var C = Ha(w, v[0] + 8);\n var D = 1 + Yb(w, v[0] + 12);\n w = 1 + Yb(w, v[0] + 15);\n if (2147483648 <= D * w) {\n p = 3;\n break a;\n }\n null != B && (B[0] = C);\n null != A && (A[0] = D);\n null != z && (z[0] = w);\n v[0] += 18;\n p[0] -= 18;\n y[0] = 1;\n }\n p = 0;\n }\n }\n n = n[0];\n t = t[0];\n if (0 != p) return p;\n v = !!(t & 2);\n if (!u && n) return 3;\n null != f && (f[0] = !!(t & 16));\n null != g && (g[0] = v);\n null != h && (h[0] = 0);\n g = l[0];\n t = m[0];\n if (n && v && null == k) {\n p = 0;\n break;\n }\n if (4 > c) {\n p = 7;\n break;\n }\n if ((u && n) || (!u && !n && !fa(a, b[0], \"ALPH\"))) {\n c = [c];\n q.na = [q.na];\n q.P = [q.P];\n q.Sa = [q.Sa];\n a: {\n C = a;\n p = b;\n u = c;\n var y = q.gb,\n A = q.na,\n z = q.P,\n B = q.Sa;\n D = 22;\n x(null != C);\n x(null != u);\n w = p[0];\n var F = u[0];\n x(null != A);\n x(null != B);\n A[0] = null;\n z[0] = null;\n for (B[0] = 0; ; ) {\n p[0] = w;\n u[0] = F;\n if (8 > F) {\n p = 7;\n break a;\n }\n var G = Ha(C, w + 4);\n if (4294967286 < G) {\n p = 3;\n break a;\n }\n var H = (8 + G + 1) & -2;\n D += H;\n if (0 < y && D > y) {\n p = 3;\n break a;\n }\n if (!fa(C, w, \"VP8 \") || !fa(C, w, \"VP8L\")) {\n p = 0;\n break a;\n }\n if (F[0] < H) {\n p = 7;\n break a;\n }\n fa(C, w, \"ALPH\") || ((A[0] = C), (z[0] = w + 8), (B[0] = G));\n w += H;\n F -= H;\n }\n }\n c = c[0];\n q.na = q.na[0];\n q.P = q.P[0];\n q.Sa = q.Sa[0];\n if (0 != p) break;\n }\n c = [c];\n q.Ja = [q.Ja];\n q.xa = [q.xa];\n a: if (\n ((y = a),\n (p = b),\n (u = c),\n (A = q.gb[0]),\n (z = q.Ja),\n (B = q.xa),\n (C = p[0]),\n (w = !fa(y, C, \"VP8 \")),\n (D = !fa(y, C, \"VP8L\")),\n x(null != y),\n x(null != u),\n x(null != z),\n x(null != B),\n 8 > u[0])\n )\n p = 7;\n else {\n if (w || D) {\n y = Ha(y, C + 4);\n if (12 <= A && y > A - 12) {\n p = 3;\n break a;\n }\n if (r && y > u[0] - 8) {\n p = 7;\n break a;\n }\n z[0] = y;\n p[0] += 8;\n u[0] -= 8;\n B[0] = D;\n } else\n (B[0] = 5 <= u[0] && 47 == y[C + 0] && !(y[C + 4] >> 5)),\n (z[0] = u[0]);\n p = 0;\n }\n c = c[0];\n q.Ja = q.Ja[0];\n q.xa = q.xa[0];\n b = b[0];\n if (0 != p) break;\n if (4294967286 < q.Ja) return 3;\n null == h || v || (h[0] = q.xa ? 2 : 1);\n g = [g];\n t = [t];\n if (q.xa) {\n if (5 > c) {\n p = 7;\n break;\n }\n h = g;\n r = t;\n v = f;\n null == a || 5 > c\n ? (a = 0)\n : 5 <= c && 47 == a[b + 0] && !(a[b + 4] >> 5)\n ? ((u = [0]),\n (y = [0]),\n (A = [0]),\n (z = new Ra()),\n cb(z, a, b, c),\n mc(z, u, y, A)\n ? (null != h && (h[0] = u[0]),\n null != r && (r[0] = y[0]),\n null != v && (v[0] = A[0]),\n (a = 1))\n : (a = 0))\n : (a = 0);\n } else {\n if (10 > c) {\n p = 7;\n break;\n }\n h = t;\n null == a || 10 > c || !Jc(a, b + 3, c - 3)\n ? (a = 0)\n : ((r = a[b + 0] | (a[b + 1] << 8) | (a[b + 2] << 16)),\n (v = ((a[b + 7] << 8) | a[b + 6]) & 16383),\n (a = ((a[b + 9] << 8) | a[b + 8]) & 16383),\n r & 1 ||\n 3 < ((r >> 1) & 7) ||\n !((r >> 4) & 1) ||\n r >> 5 >= q.Ja ||\n !v ||\n !a\n ? (a = 0)\n : (g && (g[0] = v), h && (h[0] = a), (a = 1)));\n }\n if (!a) return 3;\n g = g[0];\n t = t[0];\n if (n && (l[0] != g || m[0] != t)) return 3;\n null != k &&\n ((k[0] = q),\n (k.offset = b - k.w),\n x(4294967286 > b - k.w),\n x(k.offset == k.ha - c));\n break;\n }\n return 0 == p || (7 == p && n && null == k)\n ? (null != f && (f[0] |= null != q.na && 0 < q.na.length),\n null != d && (d[0] = g),\n null != e && (e[0] = t),\n 0)\n : p;\n }\n function hc(a, b, c) {\n var d = b.width,\n e = b.height,\n f = 0,\n g = 0,\n h = d,\n k = e;\n b.Da = null != a && 0 < a.Da;\n if (\n b.Da &&\n ((h = a.cd),\n (k = a.bd),\n (f = a.v),\n (g = a.j),\n 11 > c || ((f &= -2), (g &= -2)),\n 0 > f || 0 > g || 0 >= h || 0 >= k || f + h > d || g + k > e)\n )\n return 0;\n b.v = f;\n b.j = g;\n b.va = f + h;\n b.o = g + k;\n b.U = h;\n b.T = k;\n b.da = null != a && 0 < a.da;\n if (b.da) {\n c = [a.ib];\n f = [a.hb];\n if (!bc(h, k, c, f)) return 0;\n b.ib = c[0];\n b.hb = f[0];\n }\n b.ob = null != a && a.ob;\n b.Kb = null == a || !a.Sd;\n b.da && ((b.ob = b.ib < (3 * d) / 4 && b.hb < (3 * e) / 4), (b.Kb = 0));\n return 1;\n }\n function Bd(a) {\n if (null == a) return 2;\n if (11 > a.S) {\n var b = a.f.RGBA;\n b.fb += (a.height - 1) * b.A;\n b.A = -b.A;\n } else\n (b = a.f.kb),\n (a = a.height),\n (b.O += (a - 1) * b.fa),\n (b.fa = -b.fa),\n (b.N += ((a - 1) >> 1) * b.Ab),\n (b.Ab = -b.Ab),\n (b.W += ((a - 1) >> 1) * b.Db),\n (b.Db = -b.Db),\n null != b.F && ((b.J += (a - 1) * b.lb), (b.lb = -b.lb));\n return 0;\n }\n function Cd(a, b, c, d) {\n if (null == d || 0 >= a || 0 >= b) return 2;\n if (null != c) {\n if (c.Da) {\n var e = c.cd,\n f = c.bd,\n g = c.v & -2,\n h = c.j & -2;\n if (0 > g || 0 > h || 0 >= e || 0 >= f || g + e > a || h + f > b)\n return 2;\n a = e;\n b = f;\n }\n if (c.da) {\n e = [c.ib];\n f = [c.hb];\n if (!bc(a, b, e, f)) return 2;\n a = e[0];\n b = f[0];\n }\n }\n d.width = a;\n d.height = b;\n a: {\n var k = d.width;\n var l = d.height;\n a = d.S;\n if (0 >= k || 0 >= l || !(a >= Ca && 13 > a)) a = 2;\n else {\n if (0 >= d.Rd && null == d.sd) {\n var g = (f = e = b = 0),\n h = k * Dd[a],\n m = h * l;\n 11 > a ||\n ((b = (k + 1) / 2),\n (f = ((l + 1) / 2) * b),\n 12 == a && ((e = k), (g = e * l)));\n l = V(m + 2 * f + g);\n if (null == l) {\n a = 1;\n break a;\n }\n d.sd = l;\n 11 > a\n ? ((k = d.f.RGBA),\n (k.eb = l),\n (k.fb = 0),\n (k.A = h),\n (k.size = m))\n : ((k = d.f.kb),\n (k.y = l),\n (k.O = 0),\n (k.fa = h),\n (k.Fd = m),\n (k.f = l),\n (k.N = 0 + m),\n (k.Ab = b),\n (k.Cd = f),\n (k.ea = l),\n (k.W = 0 + m + f),\n (k.Db = b),\n (k.Ed = f),\n 12 == a && ((k.F = l), (k.J = 0 + m + 2 * f)),\n (k.Tc = g),\n (k.lb = e));\n }\n b = 1;\n e = d.S;\n f = d.width;\n g = d.height;\n if (e >= Ca && 13 > e)\n if (11 > e)\n (a = d.f.RGBA),\n (h = Math.abs(a.A)),\n (b &= h * (g - 1) + f <= a.size),\n (b &= h >= f * Dd[e]),\n (b &= null != a.eb);\n else {\n a = d.f.kb;\n h = (f + 1) / 2;\n m = (g + 1) / 2;\n k = Math.abs(a.fa);\n var l = Math.abs(a.Ab),\n n = Math.abs(a.Db),\n r = Math.abs(a.lb),\n q = r * (g - 1) + f;\n b &= k * (g - 1) + f <= a.Fd;\n b &= l * (m - 1) + h <= a.Cd;\n b &= n * (m - 1) + h <= a.Ed;\n b = b & (k >= f) & (l >= h) & (n >= h);\n b &= null != a.y;\n b &= null != a.f;\n b &= null != a.ea;\n 12 == e && ((b &= r >= f), (b &= q <= a.Tc), (b &= null != a.F));\n }\n else b = 0;\n a = b ? 0 : 2;\n }\n }\n if (0 != a) return a;\n null != c && c.fd && (a = Bd(d));\n return a;\n }\n var xb = 64,\n Hd = [\n 0,\n 1,\n 3,\n 7,\n 15,\n 31,\n 63,\n 127,\n 255,\n 511,\n 1023,\n 2047,\n 4095,\n 8191,\n 16383,\n 32767,\n 65535,\n 131071,\n 262143,\n 524287,\n 1048575,\n 2097151,\n 4194303,\n 8388607,\n 16777215\n ],\n Gd = 24,\n ob = 32,\n Xb = 8,\n Id = [\n 0,\n 0,\n 1,\n 1,\n 2,\n 2,\n 2,\n 2,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7\n ];\n X(\"Predictor0\", \"PredictorAdd0\");\n self.Predictor0 = function() {\n return 4278190080;\n };\n self.Predictor1 = function(a) {\n return a;\n };\n self.Predictor2 = function(a, b, c) {\n return b[c + 0];\n };\n self.Predictor3 = function(a, b, c) {\n return b[c + 1];\n };\n self.Predictor4 = function(a, b, c) {\n return b[c - 1];\n };\n self.Predictor5 = function(a, b, c) {\n return aa(aa(a, b[c + 1]), b[c + 0]);\n };\n self.Predictor6 = function(a, b, c) {\n return aa(a, b[c - 1]);\n };\n self.Predictor7 = function(a, b, c) {\n return aa(a, b[c + 0]);\n };\n self.Predictor8 = function(a, b, c) {\n return aa(b[c - 1], b[c + 0]);\n };\n self.Predictor9 = function(a, b, c) {\n return aa(b[c + 0], b[c + 1]);\n };\n self.Predictor10 = function(a, b, c) {\n return aa(aa(a, b[c - 1]), aa(b[c + 0], b[c + 1]));\n };\n self.Predictor11 = function(a, b, c) {\n var d = b[c + 0];\n b = b[c - 1];\n return 0 >=\n Ia((d >> 24) & 255, (a >> 24) & 255, (b >> 24) & 255) +\n Ia((d >> 16) & 255, (a >> 16) & 255, (b >> 16) & 255) +\n Ia((d >> 8) & 255, (a >> 8) & 255, (b >> 8) & 255) +\n Ia(d & 255, a & 255, b & 255)\n ? d\n : a;\n };\n self.Predictor12 = function(a, b, c) {\n var d = b[c + 0];\n b = b[c - 1];\n return (\n ((sa(((a >> 24) & 255) + ((d >> 24) & 255) - ((b >> 24) & 255)) << 24) |\n (sa(((a >> 16) & 255) + ((d >> 16) & 255) - ((b >> 16) & 255)) <<\n 16) |\n (sa(((a >> 8) & 255) + ((d >> 8) & 255) - ((b >> 8) & 255)) << 8) |\n sa((a & 255) + (d & 255) - (b & 255))) >>>\n 0\n );\n };\n self.Predictor13 = function(a, b, c) {\n var d = b[c - 1];\n a = aa(a, b[c + 0]);\n return (\n ((eb((a >> 24) & 255, (d >> 24) & 255) << 24) |\n (eb((a >> 16) & 255, (d >> 16) & 255) << 16) |\n (eb((a >> 8) & 255, (d >> 8) & 255) << 8) |\n eb((a >> 0) & 255, (d >> 0) & 255)) >>>\n 0\n );\n };\n var ee = self.PredictorAdd0;\n self.PredictorAdd1 = cc;\n X(\"Predictor2\", \"PredictorAdd2\");\n X(\"Predictor3\", \"PredictorAdd3\");\n X(\"Predictor4\", \"PredictorAdd4\");\n X(\"Predictor5\", \"PredictorAdd5\");\n X(\"Predictor6\", \"PredictorAdd6\");\n X(\"Predictor7\", \"PredictorAdd7\");\n X(\"Predictor8\", \"PredictorAdd8\");\n X(\"Predictor9\", \"PredictorAdd9\");\n X(\"Predictor10\", \"PredictorAdd10\");\n X(\"Predictor11\", \"PredictorAdd11\");\n X(\"Predictor12\", \"PredictorAdd12\");\n X(\"Predictor13\", \"PredictorAdd13\");\n var fe = self.PredictorAdd2;\n ec(\n \"ColorIndexInverseTransform\",\n \"MapARGB\",\n \"32b\",\n function(a) {\n return (a >> 8) & 255;\n },\n function(a) {\n return a;\n }\n );\n ec(\n \"VP8LColorIndexInverseTransformAlpha\",\n \"MapAlpha\",\n \"8b\",\n function(a) {\n return a;\n },\n function(a) {\n return (a >> 8) & 255;\n }\n );\n var rc = self.ColorIndexInverseTransform,\n ke = self.MapARGB,\n he = self.VP8LColorIndexInverseTransformAlpha,\n le = self.MapAlpha,\n pc,\n qc = (self.VP8LPredictorsAdd = []);\n qc.length = 16;\n (self.VP8LPredictors = []).length = 16;\n (self.VP8LPredictorsAdd_C = []).length = 16;\n (self.VP8LPredictors_C = []).length = 16;\n var Fb,\n sc,\n Gb,\n Hb,\n xc,\n uc,\n bd = V(511),\n cd = V(2041),\n dd = V(225),\n ed = V(767),\n ad = 0,\n Qb = cd,\n mb = dd,\n R = ed,\n U = bd,\n Ca = 0,\n Ua = 1,\n tc = 2,\n Va = 3,\n ya = 4,\n Db = 5,\n wc = 6,\n zb = 7,\n Ab = 8,\n Ja = 9,\n Bb = 10,\n pe = [2, 3, 7],\n oe = [3, 3, 11],\n Dc = [280, 256, 256, 256, 40],\n qe = [0, 1, 1, 1, 0],\n ne = [17, 18, 0, 1, 2, 3, 4, 5, 16, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],\n de = [\n 24,\n 7,\n 23,\n 25,\n 40,\n 6,\n 39,\n 41,\n 22,\n 26,\n 38,\n 42,\n 56,\n 5,\n 55,\n 57,\n 21,\n 27,\n 54,\n 58,\n 37,\n 43,\n 72,\n 4,\n 71,\n 73,\n 20,\n 28,\n 53,\n 59,\n 70,\n 74,\n 36,\n 44,\n 88,\n 69,\n 75,\n 52,\n 60,\n 3,\n 87,\n 89,\n 19,\n 29,\n 86,\n 90,\n 35,\n 45,\n 68,\n 76,\n 85,\n 91,\n 51,\n 61,\n 104,\n 2,\n 103,\n 105,\n 18,\n 30,\n 102,\n 106,\n 34,\n 46,\n 84,\n 92,\n 67,\n 77,\n 101,\n 107,\n 50,\n 62,\n 120,\n 1,\n 119,\n 121,\n 83,\n 93,\n 17,\n 31,\n 100,\n 108,\n 66,\n 78,\n 118,\n 122,\n 33,\n 47,\n 117,\n 123,\n 49,\n 63,\n 99,\n 109,\n 82,\n 94,\n 0,\n 116,\n 124,\n 65,\n 79,\n 16,\n 32,\n 98,\n 110,\n 48,\n 115,\n 125,\n 81,\n 95,\n 64,\n 114,\n 126,\n 97,\n 111,\n 80,\n 113,\n 127,\n 96,\n 112\n ],\n me = [\n 2954,\n 2956,\n 2958,\n 2962,\n 2970,\n 2986,\n 3018,\n 3082,\n 3212,\n 3468,\n 3980,\n 5004\n ],\n ie = 8,\n Lb = [\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 16,\n 17,\n 17,\n 18,\n 19,\n 20,\n 20,\n 21,\n 21,\n 22,\n 22,\n 23,\n 23,\n 24,\n 25,\n 25,\n 26,\n 27,\n 28,\n 29,\n 30,\n 31,\n 32,\n 33,\n 34,\n 35,\n 36,\n 37,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 43,\n 44,\n 45,\n 46,\n 46,\n 47,\n 48,\n 49,\n 50,\n 51,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 59,\n 60,\n 61,\n 62,\n 63,\n 64,\n 65,\n 66,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 75,\n 76,\n 76,\n 77,\n 78,\n 79,\n 80,\n 81,\n 82,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 91,\n 93,\n 95,\n 96,\n 98,\n 100,\n 101,\n 102,\n 104,\n 106,\n 108,\n 110,\n 112,\n 114,\n 116,\n 118,\n 122,\n 124,\n 126,\n 128,\n 130,\n 132,\n 134,\n 136,\n 138,\n 140,\n 143,\n 145,\n 148,\n 151,\n 154,\n 157\n ],\n Mb = [\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 16,\n 17,\n 18,\n 19,\n 20,\n 21,\n 22,\n 23,\n 24,\n 25,\n 26,\n 27,\n 28,\n 29,\n 30,\n 31,\n 32,\n 33,\n 34,\n 35,\n 36,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 43,\n 44,\n 45,\n 46,\n 47,\n 48,\n 49,\n 50,\n 51,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 60,\n 62,\n 64,\n 66,\n 68,\n 70,\n 72,\n 74,\n 76,\n 78,\n 80,\n 82,\n 84,\n 86,\n 88,\n 90,\n 92,\n 94,\n 96,\n 98,\n 100,\n 102,\n 104,\n 106,\n 108,\n 110,\n 112,\n 114,\n 116,\n 119,\n 122,\n 125,\n 128,\n 131,\n 134,\n 137,\n 140,\n 143,\n 146,\n 149,\n 152,\n 155,\n 158,\n 161,\n 164,\n 167,\n 170,\n 173,\n 177,\n 181,\n 185,\n 189,\n 193,\n 197,\n 201,\n 205,\n 209,\n 213,\n 217,\n 221,\n 225,\n 229,\n 234,\n 239,\n 245,\n 249,\n 254,\n 259,\n 264,\n 269,\n 274,\n 279,\n 284\n ],\n oa = null,\n He = [\n [173, 148, 140, 0],\n [176, 155, 140, 135, 0],\n [180, 157, 141, 134, 130, 0],\n [254, 254, 243, 230, 196, 177, 153, 140, 133, 130, 129, 0]\n ],\n Ie = [0, 1, 4, 8, 5, 2, 3, 6, 9, 12, 13, 10, 7, 11, 14, 15],\n Mc = [-0, 1, -1, 2, -2, 3, 4, 6, -3, 5, -4, -5, -6, 7, -7, 8, -8, -9],\n Fe = [\n [\n [\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [253, 136, 254, 255, 228, 219, 128, 128, 128, 128, 128],\n [189, 129, 242, 255, 227, 213, 255, 219, 128, 128, 128],\n [106, 126, 227, 252, 214, 209, 255, 255, 128, 128, 128]\n ],\n [\n [1, 98, 248, 255, 236, 226, 255, 255, 128, 128, 128],\n [181, 133, 238, 254, 221, 234, 255, 154, 128, 128, 128],\n [78, 134, 202, 247, 198, 180, 255, 219, 128, 128, 128]\n ],\n [\n [1, 185, 249, 255, 243, 255, 128, 128, 128, 128, 128],\n [184, 150, 247, 255, 236, 224, 128, 128, 128, 128, 128],\n [77, 110, 216, 255, 236, 230, 128, 128, 128, 128, 128]\n ],\n [\n [1, 101, 251, 255, 241, 255, 128, 128, 128, 128, 128],\n [170, 139, 241, 252, 236, 209, 255, 255, 128, 128, 128],\n [37, 116, 196, 243, 228, 255, 255, 255, 128, 128, 128]\n ],\n [\n [1, 204, 254, 255, 245, 255, 128, 128, 128, 128, 128],\n [207, 160, 250, 255, 238, 128, 128, 128, 128, 128, 128],\n [102, 103, 231, 255, 211, 171, 128, 128, 128, 128, 128]\n ],\n [\n [1, 152, 252, 255, 240, 255, 128, 128, 128, 128, 128],\n [177, 135, 243, 255, 234, 225, 128, 128, 128, 128, 128],\n [80, 129, 211, 255, 194, 224, 128, 128, 128, 128, 128]\n ],\n [\n [1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [246, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [255, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [198, 35, 237, 223, 193, 187, 162, 160, 145, 155, 62],\n [131, 45, 198, 221, 172, 176, 220, 157, 252, 221, 1],\n [68, 47, 146, 208, 149, 167, 221, 162, 255, 223, 128]\n ],\n [\n [1, 149, 241, 255, 221, 224, 255, 255, 128, 128, 128],\n [184, 141, 234, 253, 222, 220, 255, 199, 128, 128, 128],\n [81, 99, 181, 242, 176, 190, 249, 202, 255, 255, 128]\n ],\n [\n [1, 129, 232, 253, 214, 197, 242, 196, 255, 255, 128],\n [99, 121, 210, 250, 201, 198, 255, 202, 128, 128, 128],\n [23, 91, 163, 242, 170, 187, 247, 210, 255, 255, 128]\n ],\n [\n [1, 200, 246, 255, 234, 255, 128, 128, 128, 128, 128],\n [109, 178, 241, 255, 231, 245, 255, 255, 128, 128, 128],\n [44, 130, 201, 253, 205, 192, 255, 255, 128, 128, 128]\n ],\n [\n [1, 132, 239, 251, 219, 209, 255, 165, 128, 128, 128],\n [94, 136, 225, 251, 218, 190, 255, 255, 128, 128, 128],\n [22, 100, 174, 245, 186, 161, 255, 199, 128, 128, 128]\n ],\n [\n [1, 182, 249, 255, 232, 235, 128, 128, 128, 128, 128],\n [124, 143, 241, 255, 227, 234, 128, 128, 128, 128, 128],\n [35, 77, 181, 251, 193, 211, 255, 205, 128, 128, 128]\n ],\n [\n [1, 157, 247, 255, 236, 231, 255, 255, 128, 128, 128],\n [121, 141, 235, 255, 225, 227, 255, 255, 128, 128, 128],\n [45, 99, 188, 251, 195, 217, 255, 224, 128, 128, 128]\n ],\n [\n [1, 1, 251, 255, 213, 255, 128, 128, 128, 128, 128],\n [203, 1, 248, 255, 255, 128, 128, 128, 128, 128, 128],\n [137, 1, 177, 255, 224, 255, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [253, 9, 248, 251, 207, 208, 255, 192, 128, 128, 128],\n [175, 13, 224, 243, 193, 185, 249, 198, 255, 255, 128],\n [73, 17, 171, 221, 161, 179, 236, 167, 255, 234, 128]\n ],\n [\n [1, 95, 247, 253, 212, 183, 255, 255, 128, 128, 128],\n [239, 90, 244, 250, 211, 209, 255, 255, 128, 128, 128],\n [155, 77, 195, 248, 188, 195, 255, 255, 128, 128, 128]\n ],\n [\n [1, 24, 239, 251, 218, 219, 255, 205, 128, 128, 128],\n [201, 51, 219, 255, 196, 186, 128, 128, 128, 128, 128],\n [69, 46, 190, 239, 201, 218, 255, 228, 128, 128, 128]\n ],\n [\n [1, 191, 251, 255, 255, 128, 128, 128, 128, 128, 128],\n [223, 165, 249, 255, 213, 255, 128, 128, 128, 128, 128],\n [141, 124, 248, 255, 255, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 16, 248, 255, 255, 128, 128, 128, 128, 128, 128],\n [190, 36, 230, 255, 236, 255, 128, 128, 128, 128, 128],\n [149, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 226, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [247, 192, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [240, 128, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 134, 252, 255, 255, 128, 128, 128, 128, 128, 128],\n [213, 62, 250, 255, 255, 128, 128, 128, 128, 128, 128],\n [55, 93, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [202, 24, 213, 235, 186, 191, 220, 160, 240, 175, 255],\n [126, 38, 182, 232, 169, 184, 228, 174, 255, 187, 128],\n [61, 46, 138, 219, 151, 178, 240, 170, 255, 216, 128]\n ],\n [\n [1, 112, 230, 250, 199, 191, 247, 159, 255, 255, 128],\n [166, 109, 228, 252, 211, 215, 255, 174, 128, 128, 128],\n [39, 77, 162, 232, 172, 180, 245, 178, 255, 255, 128]\n ],\n [\n [1, 52, 220, 246, 198, 199, 249, 220, 255, 255, 128],\n [124, 74, 191, 243, 183, 193, 250, 221, 255, 255, 128],\n [24, 71, 130, 219, 154, 170, 243, 182, 255, 255, 128]\n ],\n [\n [1, 182, 225, 249, 219, 240, 255, 224, 128, 128, 128],\n [149, 150, 226, 252, 216, 205, 255, 171, 128, 128, 128],\n [28, 108, 170, 242, 183, 194, 254, 223, 255, 255, 128]\n ],\n [\n [1, 81, 230, 252, 204, 203, 255, 192, 128, 128, 128],\n [123, 102, 209, 247, 188, 196, 255, 233, 128, 128, 128],\n [20, 95, 153, 243, 164, 173, 255, 203, 128, 128, 128]\n ],\n [\n [1, 222, 248, 255, 216, 213, 128, 128, 128, 128, 128],\n [168, 175, 246, 252, 235, 205, 255, 255, 128, 128, 128],\n [47, 116, 215, 255, 211, 212, 255, 255, 128, 128, 128]\n ],\n [\n [1, 121, 236, 253, 212, 214, 255, 255, 128, 128, 128],\n [141, 84, 213, 252, 201, 202, 255, 219, 128, 128, 128],\n [42, 80, 160, 240, 162, 185, 255, 205, 128, 128, 128]\n ],\n [\n [1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [244, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [238, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ]\n ],\n Ke = [\n [\n [231, 120, 48, 89, 115, 113, 120, 152, 112],\n [152, 179, 64, 126, 170, 118, 46, 70, 95],\n [175, 69, 143, 80, 85, 82, 72, 155, 103],\n [56, 58, 10, 171, 218, 189, 17, 13, 152],\n [114, 26, 17, 163, 44, 195, 21, 10, 173],\n [121, 24, 80, 195, 26, 62, 44, 64, 85],\n [144, 71, 10, 38, 171, 213, 144, 34, 26],\n [170, 46, 55, 19, 136, 160, 33, 206, 71],\n [63, 20, 8, 114, 114, 208, 12, 9, 226],\n [81, 40, 11, 96, 182, 84, 29, 16, 36]\n ],\n [\n [134, 183, 89, 137, 98, 101, 106, 165, 148],\n [72, 187, 100, 130, 157, 111, 32, 75, 80],\n [66, 102, 167, 99, 74, 62, 40, 234, 128],\n [41, 53, 9, 178, 241, 141, 26, 8, 107],\n [74, 43, 26, 146, 73, 166, 49, 23, 157],\n [65, 38, 105, 160, 51, 52, 31, 115, 128],\n [104, 79, 12, 27, 217, 255, 87, 17, 7],\n [87, 68, 71, 44, 114, 51, 15, 186, 23],\n [47, 41, 14, 110, 182, 183, 21, 17, 194],\n [66, 45, 25, 102, 197, 189, 23, 18, 22]\n ],\n [\n [88, 88, 147, 150, 42, 46, 45, 196, 205],\n [43, 97, 183, 117, 85, 38, 35, 179, 61],\n [39, 53, 200, 87, 26, 21, 43, 232, 171],\n [56, 34, 51, 104, 114, 102, 29, 93, 77],\n [39, 28, 85, 171, 58, 165, 90, 98, 64],\n [34, 22, 116, 206, 23, 34, 43, 166, 73],\n [107, 54, 32, 26, 51, 1, 81, 43, 31],\n [68, 25, 106, 22, 64, 171, 36, 225, 114],\n [34, 19, 21, 102, 132, 188, 16, 76, 124],\n [62, 18, 78, 95, 85, 57, 50, 48, 51]\n ],\n [\n [193, 101, 35, 159, 215, 111, 89, 46, 111],\n [60, 148, 31, 172, 219, 228, 21, 18, 111],\n [112, 113, 77, 85, 179, 255, 38, 120, 114],\n [40, 42, 1, 196, 245, 209, 10, 25, 109],\n [88, 43, 29, 140, 166, 213, 37, 43, 154],\n [61, 63, 30, 155, 67, 45, 68, 1, 209],\n [100, 80, 8, 43, 154, 1, 51, 26, 71],\n [142, 78, 78, 16, 255, 128, 34, 197, 171],\n [41, 40, 5, 102, 211, 183, 4, 1, 221],\n [51, 50, 17, 168, 209, 192, 23, 25, 82]\n ],\n [\n [138, 31, 36, 171, 27, 166, 38, 44, 229],\n [67, 87, 58, 169, 82, 115, 26, 59, 179],\n [63, 59, 90, 180, 59, 166, 93, 73, 154],\n [40, 40, 21, 116, 143, 209, 34, 39, 175],\n [47, 15, 16, 183, 34, 223, 49, 45, 183],\n [46, 17, 33, 183, 6, 98, 15, 32, 183],\n [57, 46, 22, 24, 128, 1, 54, 17, 37],\n [65, 32, 73, 115, 28, 128, 23, 128, 205],\n [40, 3, 9, 115, 51, 192, 18, 6, 223],\n [87, 37, 9, 115, 59, 77, 64, 21, 47]\n ],\n [\n [104, 55, 44, 218, 9, 54, 53, 130, 226],\n [64, 90, 70, 205, 40, 41, 23, 26, 57],\n [54, 57, 112, 184, 5, 41, 38, 166, 213],\n [30, 34, 26, 133, 152, 116, 10, 32, 134],\n [39, 19, 53, 221, 26, 114, 32, 73, 255],\n [31, 9, 65, 234, 2, 15, 1, 118, 73],\n [75, 32, 12, 51, 192, 255, 160, 43, 51],\n [88, 31, 35, 67, 102, 85, 55, 186, 85],\n [56, 21, 23, 111, 59, 205, 45, 37, 192],\n [55, 38, 70, 124, 73, 102, 1, 34, 98]\n ],\n [\n [125, 98, 42, 88, 104, 85, 117, 175, 82],\n [95, 84, 53, 89, 128, 100, 113, 101, 45],\n [75, 79, 123, 47, 51, 128, 81, 171, 1],\n [57, 17, 5, 71, 102, 57, 53, 41, 49],\n [38, 33, 13, 121, 57, 73, 26, 1, 85],\n [41, 10, 67, 138, 77, 110, 90, 47, 114],\n [115, 21, 2, 10, 102, 255, 166, 23, 6],\n [101, 29, 16, 10, 85, 128, 101, 196, 26],\n [57, 18, 10, 102, 102, 213, 34, 20, 43],\n [117, 20, 15, 36, 163, 128, 68, 1, 26]\n ],\n [\n [102, 61, 71, 37, 34, 53, 31, 243, 192],\n [69, 60, 71, 38, 73, 119, 28, 222, 37],\n [68, 45, 128, 34, 1, 47, 11, 245, 171],\n [62, 17, 19, 70, 146, 85, 55, 62, 70],\n [37, 43, 37, 154, 100, 163, 85, 160, 1],\n [63, 9, 92, 136, 28, 64, 32, 201, 85],\n [75, 15, 9, 9, 64, 255, 184, 119, 16],\n [86, 6, 28, 5, 64, 255, 25, 248, 1],\n [56, 8, 17, 132, 137, 255, 55, 116, 128],\n [58, 15, 20, 82, 135, 57, 26, 121, 40]\n ],\n [\n [164, 50, 31, 137, 154, 133, 25, 35, 218],\n [51, 103, 44, 131, 131, 123, 31, 6, 158],\n [86, 40, 64, 135, 148, 224, 45, 183, 128],\n [22, 26, 17, 131, 240, 154, 14, 1, 209],\n [45, 16, 21, 91, 64, 222, 7, 1, 197],\n [56, 21, 39, 155, 60, 138, 23, 102, 213],\n [83, 12, 13, 54, 192, 255, 68, 47, 28],\n [85, 26, 85, 85, 128, 128, 32, 146, 171],\n [18, 11, 7, 63, 144, 171, 4, 4, 246],\n [35, 27, 10, 146, 174, 171, 12, 26, 128]\n ],\n [\n [190, 80, 35, 99, 180, 80, 126, 54, 45],\n [85, 126, 47, 87, 176, 51, 41, 20, 32],\n [101, 75, 128, 139, 118, 146, 116, 128, 85],\n [56, 41, 15, 176, 236, 85, 37, 9, 62],\n [71, 30, 17, 119, 118, 255, 17, 18, 138],\n [101, 38, 60, 138, 55, 70, 43, 26, 142],\n [146, 36, 19, 30, 171, 255, 97, 27, 20],\n [138, 45, 61, 62, 219, 1, 81, 188, 64],\n [32, 41, 20, 117, 151, 142, 20, 21, 163],\n [112, 19, 12, 61, 195, 128, 48, 4, 24]\n ]\n ],\n Ee = [\n [\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [176, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [223, 241, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 244, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [234, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 246, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [239, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 253, 255, 254, 255, 255, 255, 255, 255, 255],\n [250, 255, 254, 255, 254, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [225, 252, 241, 253, 255, 255, 254, 255, 255, 255, 255],\n [234, 250, 241, 250, 253, 255, 253, 254, 255, 255, 255]\n ],\n [\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [223, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [238, 253, 254, 254, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [247, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [186, 251, 250, 255, 255, 255, 255, 255, 255, 255, 255],\n [234, 251, 244, 254, 255, 255, 255, 255, 255, 255, 255],\n [251, 251, 243, 253, 254, 255, 254, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [236, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 253, 253, 254, 254, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 254, 252, 254, 255, 255, 255, 255, 255, 255, 255],\n [248, 254, 249, 253, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [246, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 254, 251, 254, 254, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [248, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 254, 254, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [245, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 251, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ]\n ],\n Ge = [0, 1, 2, 3, 6, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 0],\n Nc,\n Y = [],\n W = [],\n ka = [],\n Za,\n fd,\n Nb,\n pa,\n Ob,\n Xc,\n Tc,\n Yc,\n Uc,\n Zc,\n Vc,\n $c,\n Wc,\n Rc,\n Pc,\n Sc,\n Qc,\n re = 1,\n Cc = 2,\n ia = [],\n za,\n vc,\n fc,\n Fc,\n P = [];\n va(\"UpsampleRgbLinePair\", Ga, 3);\n va(\"UpsampleBgrLinePair\", Tb, 3);\n va(\"UpsampleRgbaLinePair\", wd, 4);\n va(\"UpsampleBgraLinePair\", vd, 4);\n va(\"UpsampleArgbLinePair\", ud, 4);\n va(\"UpsampleRgba4444LinePair\", td, 2);\n va(\"UpsampleRgb565LinePair\", sd, 2);\n var Mf = self.UpsampleRgbLinePair,\n Nf = self.UpsampleBgrLinePair,\n nd = self.UpsampleRgbaLinePair,\n od = self.UpsampleBgraLinePair,\n pd = self.UpsampleArgbLinePair,\n qd = self.UpsampleRgba4444LinePair,\n Of = self.UpsampleRgb565LinePair,\n Wa = 16,\n Ba = 1 << (Wa - 1),\n ta = -227,\n Eb = 482,\n rd = 6,\n Pf = (256 << rd) - 1,\n jc = 0,\n Yd = V(256),\n ae = V(256),\n $d = V(256),\n Zd = V(256),\n be = V(Eb - ta),\n ce = V(Eb - ta);\n la(\"YuvToRgbRow\", Ga, 3);\n la(\"YuvToBgrRow\", Tb, 3);\n la(\"YuvToRgbaRow\", wd, 4);\n la(\"YuvToBgraRow\", vd, 4);\n la(\"YuvToArgbRow\", ud, 4);\n la(\"YuvToRgba4444Row\", td, 2);\n la(\"YuvToRgb565Row\", sd, 2);\n var zd = [\n 0,\n 4,\n 8,\n 12,\n 128,\n 132,\n 136,\n 140,\n 256,\n 260,\n 264,\n 268,\n 384,\n 388,\n 392,\n 396\n ],\n Ya = [0, 2, 8],\n Qf = [8, 7, 6, 4, 4, 2, 2, 2, 1, 1, 1, 1],\n Ne = 1;\n this.WebPDecodeRGBA = function(a, b, c, d, e) {\n var f = Ua;\n var g = new Cf(),\n h = new Cb();\n g.ba = h;\n h.S = f;\n h.width = [h.width];\n h.height = [h.height];\n var k = h.width;\n var l = h.height,\n m = new Td();\n if (null == m || null == a) var n = 2;\n else\n x(null != m),\n (n = Ad(a, b, c, m.width, m.height, m.Pd, m.Qd, m.format, null));\n 0 != n\n ? (k = 0)\n : (null != k && (k[0] = m.width[0]),\n null != l && (l[0] = m.height[0]),\n (k = 1));\n if (k) {\n h.width = h.width[0];\n h.height = h.height[0];\n null != d && (d[0] = h.width);\n null != e && (e[0] = h.height);\n b: {\n d = new Oa();\n e = new md();\n e.data = a;\n e.w = b;\n e.ha = c;\n e.kd = 1;\n b = [0];\n x(null != e);\n a = Ad(e.data, e.w, e.ha, null, null, null, b, null, e);\n (0 == a || 7 == a) && b[0] && (a = 4);\n b = a;\n if (0 == b) {\n x(null != g);\n d.data = e.data;\n d.w = e.w + e.offset;\n d.ha = e.ha - e.offset;\n d.put = kc;\n d.ac = gc;\n d.bc = lc;\n d.ma = g;\n if (e.xa) {\n a = Bc();\n if (null == a) {\n g = 1;\n break b;\n }\n if (te(a, d)) {\n b = Cd(d.width, d.height, g.Oa, g.ba);\n if ((d = 0 == b)) {\n c: {\n d = a;\n d: for (;;) {\n if (null == d) {\n d = 0;\n break c;\n }\n x(null != d.s.yc);\n x(null != d.s.Ya);\n x(0 < d.s.Wb);\n c = d.l;\n x(null != c);\n e = c.ma;\n x(null != e);\n if (0 != d.xb) {\n d.ca = e.ba;\n d.tb = e.tb;\n x(null != d.ca);\n if (!hc(e.Oa, c, Va)) {\n d.a = 2;\n break d;\n }\n if (!Ec(d, c.width)) break d;\n if (c.da) break d;\n (c.da || hb(d.ca.S)) && Aa();\n 11 > d.ca.S ||\n (alert(\"todo:WebPInitConvertARGBToYUV\"),\n null != d.ca.f.kb.F && Aa());\n if (\n d.Pb &&\n 0 < d.s.ua &&\n null == d.s.vb.X &&\n !Zb(d.s.vb, d.s.Wa.Xa)\n ) {\n d.a = 1;\n break d;\n }\n d.xb = 0;\n }\n if (!Jb(d, d.V, d.Ba, d.c, d.i, c.o, ge)) break d;\n e.Dc = d.Ma;\n d = 1;\n break c;\n }\n x(0 != d.a);\n d = 0;\n }\n d = !d;\n }\n d && (b = a.a);\n } else b = a.a;\n } else {\n a = new Ce();\n if (null == a) {\n g = 1;\n break b;\n }\n a.Fa = e.na;\n a.P = e.P;\n a.qc = e.Sa;\n if (Kc(a, d)) {\n if (((b = Cd(d.width, d.height, g.Oa, g.ba)), 0 == b)) {\n a.Aa = 0;\n c = g.Oa;\n e = a;\n x(null != e);\n if (null != c) {\n k = c.Md;\n k = 0 > k ? 0 : 100 < k ? 255 : (255 * k) / 100;\n if (0 < k) {\n for (l = m = 0; 4 > l; ++l)\n (n = e.pb[l]),\n 12 > n.lc &&\n (n.ia = (k * Qf[0 > n.lc ? 0 : n.lc]) >> 3),\n (m |= n.ia);\n m && (alert(\"todo:VP8InitRandom\"), (e.ia = 1));\n }\n e.Ga = c.Id;\n 100 < e.Ga ? (e.Ga = 100) : 0 > e.Ga && (e.Ga = 0);\n }\n Me(a, d) || (b = a.a);\n }\n } else b = a.a;\n }\n 0 == b && null != g.Oa && g.Oa.fd && (b = Bd(g.ba));\n }\n g = b;\n }\n f = 0 != g ? null : 11 > f ? h.f.RGBA.eb : h.f.kb.y;\n } else f = null;\n return f;\n };\n var Dd = [3, 4, 3, 4, 4, 2, 2, 4, 4, 4, 2, 1, 1];\n };\n new _WebPDecoder();\n\n /** @license\n * Copyright (c) 2017 Dominik Homberger\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nhttps://webpjs.appspot.com\nWebPRiffParser dominikhlbg@gmail.com\n*/\n\n function memcmp(data, data_off, str, size) {\n for (var i = 0; i < size; i++)\n if (data[data_off + i] != str.charCodeAt(i)) return true;\n return false;\n }\n\n function GetTag(data, data_off) {\n var str = \"\";\n for (var i = 0; i < 4; i++) str += String.fromCharCode(data[data_off++]);\n return str;\n }\n\n function GetLE16(data, data_off) {\n return (data[data_off + 0] << 0) | (data[data_off + 1] << 8);\n }\n\n function GetLE24(data, data_off) {\n return (\n ((data[data_off + 0] << 0) |\n (data[data_off + 1] << 8) |\n (data[data_off + 2] << 16)) >>>\n 0\n );\n }\n\n function GetLE32(data, data_off) {\n return (\n ((data[data_off + 0] << 0) |\n (data[data_off + 1] << 8) |\n (data[data_off + 2] << 16) |\n (data[data_off + 3] << 24)) >>>\n 0\n );\n }\n\n function WebPRiffParser(src, src_off) {\n var imagearray = {};\n var i = 0;\n var alpha_chunk = false;\n var alpha_size = 0;\n var alpha_offset = 0;\n imagearray[\"frames\"] = [];\n if (memcmp(src, src_off, \"RIFF\", 4)) return;\n src_off += 4;\n var riff_size = GetLE32(src, src_off) + 8;\n src_off += 8;\n\n while (src_off < src.length) {\n var fourcc = GetTag(src, src_off);\n src_off += 4;\n\n var payload_size = GetLE32(src, src_off);\n src_off += 4;\n var payload_size_padded = payload_size + (payload_size & 1);\n\n switch (fourcc) {\n case \"VP8 \":\n case \"VP8L\":\n if (typeof imagearray[\"frames\"][i] === \"undefined\")\n imagearray[\"frames\"][i] = {};\n var obj = imagearray[\"frames\"][i];\n var height = [0];\n var width = [0];\n obj[\"src_off\"] = alpha_chunk ? alpha_offset : src_off - 8;\n obj[\"src_size\"] = alpha_size + payload_size + 8;\n //var rgba = webpdecoder.WebPDecodeRGBA(src,(alpha_chunk?alpha_offset:src_off-8),alpha_size+payload_size+8,width,height);\n //imagearray[i]={'rgba':rgba,'width':width[0],'height':height[0]};\n i++;\n if (alpha_chunk) {\n alpha_chunk = false;\n alpha_size = 0;\n alpha_offset = 0;\n }\n break;\n case \"VP8X\":\n var obj = (imagearray[\"header\"] = {});\n var feature_flags = (obj[\"feature_flags\"] = src[src_off]);\n var src_off_ = src_off + 4;\n var canvas_width = (obj[\"canvas_width\"] = 1 + GetLE24(src, src_off_));\n src_off_ += 3;\n var canvas_height = (obj[\"canvas_height\"] =\n 1 + GetLE24(src, src_off_));\n src_off_ += 3;\n break;\n case \"ALPH\":\n alpha_chunk = true;\n alpha_size = payload_size_padded + 8;\n alpha_offset = src_off - 8;\n break;\n\n case \"ANIM\":\n var obj = imagearray[\"header\"];\n var bgcolor = (obj[\"bgcolor\"] = GetLE32(src, src_off));\n src_off_ = src_off + 4;\n\n var loop_count = (obj[\"loop_count\"] = GetLE16(src, src_off_));\n src_off_ += 2;\n break;\n case \"ANMF\":\n var offset_x = 0,\n offset_y = 0,\n width = 0,\n height = 0,\n duration = 0,\n blend = 0,\n dispose = 0,\n temp = 0;\n var obj = (imagearray[\"frames\"][i] = {});\n obj[\"offset_x\"] = offset_x = 2 * GetLE24(src, src_off);\n src_off += 3;\n obj[\"offset_y\"] = offset_y = 2 * GetLE24(src, src_off);\n src_off += 3;\n obj[\"width\"] = width = 1 + GetLE24(src, src_off);\n src_off += 3;\n obj[\"height\"] = height = 1 + GetLE24(src, src_off);\n src_off += 3;\n obj[\"duration\"] = duration = GetLE24(src, src_off);\n src_off += 3;\n temp = src[src_off++];\n obj[\"dispose\"] = dispose = temp & 1;\n obj[\"blend\"] = blend = (temp >> 1) & 1;\n break;\n default:\n }\n if (fourcc != \"ANMF\") src_off += payload_size_padded;\n }\n return imagearray;\n }\n\n var height = [0];\n var width = [0];\n var pixels = [];\n var webpdecoder = new _WebPDecoder();\n\n var response = imageData;\n var imagearray = WebPRiffParser(response, 0);\n imagearray[\"response\"] = response;\n imagearray[\"rgbaoutput\"] = true;\n imagearray[\"dataurl\"] = false;\n\n var header = imagearray[\"header\"] ? imagearray[\"header\"] : null;\n var frames = imagearray[\"frames\"] ? imagearray[\"frames\"] : null;\n\n if (header) {\n header[\"loop_counter\"] = header[\"loop_count\"];\n height = [header[\"canvas_height\"]];\n width = [header[\"canvas_width\"]];\n\n var blend = false;\n for (var f = 0; f < frames.length; f++)\n if (frames[f][\"blend\"] == 0) {\n blend = true;\n break;\n }\n }\n\n var frame = frames[0];\n var rgba = webpdecoder.WebPDecodeRGBA(\n response,\n frame[\"src_off\"],\n frame[\"src_size\"],\n width,\n height\n );\n frame[\"rgba\"] = rgba;\n frame[\"imgwidth\"] = width[0];\n frame[\"imgheight\"] = height[0];\n\n for (var i = 0; i < width[0] * height[0] * 4; i++) {\n pixels[i] = rgba[i];\n }\n\n this.width = width;\n this.height = height;\n this.data = pixels;\n return this;\n}\n\nWebPDecoder.prototype.getData = function() {\n return this.data;\n};\n\nexport { WebPDecoder };\n","/**\n * @license\n *\n * Copyright (c) 2014 James Robb, https://github.com/jamesbrobb\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { zlibSync } from \"../libs/fflate.js\";\nimport { PNG } from \"../libs/png.js\";\n\n/**\n * jsPDF PNG PlugIn\n * @name png_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /*\n * @see http://www.w3.org/TR/PNG-Chunks.html\n *\n Color Allowed Interpretation\n Type Bit Depths\n\n 0 1,2,4,8,16 Each pixel is a grayscale sample.\n\n 2 8,16 Each pixel is an R,G,B triple.\n\n 3 1,2,4,8 Each pixel is a palette index;\n a PLTE chunk must appear.\n\n 4 8,16 Each pixel is a grayscale sample,\n followed by an alpha sample.\n\n 6 8,16 Each pixel is an R,G,B triple,\n followed by an alpha sample.\n */\n\n /*\n * PNG filter method types\n *\n * @see http://www.w3.org/TR/PNG-Filters.html\n * @see http://www.libpng.org/pub/png/book/chapter09.html\n *\n * This is what the value 'Predictor' in decode params relates to\n *\n * 15 is \"optimal prediction\", which means the prediction algorithm can change from line to line.\n * In that case, you actually have to read the first byte off each line for the prediction algorthim (which should be 0-4, corresponding to PDF 10-14) and select the appropriate unprediction algorithm based on that byte.\n *\n 0 None\n 1 Sub\n 2 Up\n 3 Average\n 4 Paeth\n */\n\n var canCompress = function(value) {\n return value !== jsPDFAPI.image_compression.NONE && hasCompressionJS();\n };\n\n var hasCompressionJS = function() {\n return typeof zlibSync === \"function\";\n };\n var compressBytes = function(bytes, lineLength, colorsPerPixel, compression) {\n var level = 4;\n var filter_method = filterUp;\n\n switch (compression) {\n case jsPDFAPI.image_compression.FAST:\n level = 1;\n filter_method = filterSub;\n break;\n\n case jsPDFAPI.image_compression.MEDIUM:\n level = 6;\n filter_method = filterAverage;\n break;\n\n case jsPDFAPI.image_compression.SLOW:\n level = 9;\n filter_method = filterPaeth;\n break;\n }\n\n bytes = applyPngFilterMethod(\n bytes,\n lineLength,\n colorsPerPixel,\n filter_method\n );\n var dat = zlibSync(bytes, { level: level });\n return jsPDFAPI.__addimage__.arrayBufferToBinaryString(dat);\n };\n\n var applyPngFilterMethod = function(\n bytes,\n lineLength,\n colorsPerPixel,\n filter_method\n ) {\n var lines = bytes.length / lineLength,\n result = new Uint8Array(bytes.length + lines),\n filter_methods = getFilterMethods(),\n line,\n prevLine,\n offset;\n\n for (var i = 0; i < lines; i += 1) {\n offset = i * lineLength;\n line = bytes.subarray(offset, offset + lineLength);\n\n if (filter_method) {\n result.set(filter_method(line, colorsPerPixel, prevLine), offset + i);\n } else {\n var len = filter_methods.length,\n results = [];\n\n for (var j; j < len; j += 1) {\n results[j] = filter_methods[j](line, colorsPerPixel, prevLine);\n }\n\n var ind = getIndexOfSmallestSum(results.concat());\n\n result.set(results[ind], offset + i);\n }\n\n prevLine = line;\n }\n\n return result;\n };\n\n var filterNone = function(line) {\n /*var result = new Uint8Array(line.length + 1);\n result[0] = 0;\n result.set(line, 1);*/\n\n var result = Array.apply([], line);\n result.unshift(0);\n\n return result;\n };\n\n var filterSub = function(line, colorsPerPixel) {\n var result = [],\n len = line.length,\n left;\n\n result[0] = 1;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n result[i + 1] = (line[i] - left + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var filterUp = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n up;\n\n result[0] = 2;\n\n for (var i = 0; i < len; i += 1) {\n up = (prevLine && prevLine[i]) || 0;\n result[i + 1] = (line[i] - up + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var filterAverage = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n left,\n up;\n\n result[0] = 3;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n up = (prevLine && prevLine[i]) || 0;\n result[i + 1] = (line[i] + 0x0100 - ((left + up) >>> 1)) & 0xff;\n }\n\n return result;\n };\n\n var filterPaeth = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n left,\n up,\n upLeft,\n paeth;\n\n result[0] = 4;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n up = (prevLine && prevLine[i]) || 0;\n upLeft = (prevLine && prevLine[i - colorsPerPixel]) || 0;\n paeth = paethPredictor(left, up, upLeft);\n result[i + 1] = (line[i] - paeth + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var paethPredictor = function(left, up, upLeft) {\n if (left === up && up === upLeft) {\n return left;\n }\n var pLeft = Math.abs(up - upLeft),\n pUp = Math.abs(left - upLeft),\n pUpLeft = Math.abs(left + up - upLeft - upLeft);\n return pLeft <= pUp && pLeft <= pUpLeft\n ? left\n : pUp <= pUpLeft\n ? up\n : upLeft;\n };\n\n var getFilterMethods = function() {\n return [filterNone, filterSub, filterUp, filterAverage, filterPaeth];\n };\n\n var getIndexOfSmallestSum = function(arrays) {\n var sum = arrays.map(function(value) {\n return value.reduce(function(pv, cv) {\n return pv + Math.abs(cv);\n }, 0);\n });\n return sum.indexOf(Math.min.apply(null, sum));\n };\n\n var getPredictorFromCompression = function(compression) {\n var predictor;\n switch (compression) {\n case jsPDFAPI.image_compression.FAST:\n predictor = 11;\n break;\n\n case jsPDFAPI.image_compression.MEDIUM:\n predictor = 13;\n break;\n\n case jsPDFAPI.image_compression.SLOW:\n predictor = 14;\n break;\n\n default:\n predictor = 12;\n break;\n }\n return predictor;\n };\n\n /**\n * @name processPNG\n * @function\n * @ignore\n */\n jsPDFAPI.processPNG = function(imageData, index, alias, compression) {\n \"use strict\";\n\n var colorSpace,\n filter = this.decode.FLATE_DECODE,\n bitsPerComponent,\n image,\n decodeParameters = \"\",\n trns,\n colors,\n pal,\n smask,\n pixels,\n len,\n alphaData,\n imgData,\n hasColors,\n pixel,\n i,\n n;\n\n if (this.__addimage__.isArrayBuffer(imageData))\n imageData = new Uint8Array(imageData);\n\n if (this.__addimage__.isArrayBufferView(imageData)) {\n image = new PNG(imageData);\n imageData = image.imgData;\n bitsPerComponent = image.bits;\n colorSpace = image.colorSpace;\n colors = image.colors;\n\n /*\n * colorType 6 - Each pixel is an R,G,B triple, followed by an alpha sample.\n *\n * colorType 4 - Each pixel is a grayscale sample, followed by an alpha sample.\n *\n * Extract alpha to create two separate images, using the alpha as a sMask\n */\n if ([4, 6].indexOf(image.colorType) !== -1) {\n /*\n * processes 8 bit RGBA and grayscale + alpha images\n */\n if (image.bits === 8) {\n pixels =\n image.pixelBitlength == 32\n ? new Uint32Array(image.decodePixels().buffer)\n : image.pixelBitlength == 16\n ? new Uint16Array(image.decodePixels().buffer)\n : new Uint8Array(image.decodePixels().buffer);\n len = pixels.length;\n imgData = new Uint8Array(len * image.colors);\n alphaData = new Uint8Array(len);\n var pDiff = image.pixelBitlength - image.bits;\n i = 0;\n n = 0;\n var pbl;\n\n for (; i < len; i++) {\n pixel = pixels[i];\n pbl = 0;\n\n while (pbl < pDiff) {\n imgData[n++] = (pixel >>> pbl) & 0xff;\n pbl = pbl + image.bits;\n }\n\n alphaData[i] = (pixel >>> pbl) & 0xff;\n }\n }\n\n /*\n * processes 16 bit RGBA and grayscale + alpha images\n */\n if (image.bits === 16) {\n pixels = new Uint32Array(image.decodePixels().buffer);\n len = pixels.length;\n imgData = new Uint8Array(\n len * (32 / image.pixelBitlength) * image.colors\n );\n alphaData = new Uint8Array(len * (32 / image.pixelBitlength));\n hasColors = image.colors > 1;\n i = 0;\n n = 0;\n var a = 0;\n\n while (i < len) {\n pixel = pixels[i++];\n\n imgData[n++] = (pixel >>> 0) & 0xff;\n\n if (hasColors) {\n imgData[n++] = (pixel >>> 16) & 0xff;\n\n pixel = pixels[i++];\n imgData[n++] = (pixel >>> 0) & 0xff;\n }\n\n alphaData[a++] = (pixel >>> 16) & 0xff;\n }\n bitsPerComponent = 8;\n }\n\n if (canCompress(compression)) {\n imageData = compressBytes(\n imgData,\n image.width * image.colors,\n image.colors,\n compression\n );\n smask = compressBytes(alphaData, image.width, 1, compression);\n } else {\n imageData = imgData;\n smask = alphaData;\n filter = undefined;\n }\n }\n\n /*\n * Indexed png. Each pixel is a palette index.\n */\n if (image.colorType === 3) {\n colorSpace = this.color_spaces.INDEXED;\n pal = image.palette;\n\n if (image.transparency.indexed) {\n var trans = image.transparency.indexed;\n var total = 0;\n i = 0;\n len = trans.length;\n\n for (; i < len; ++i) {\n total += trans[i];\n }\n\n total = total / 255;\n\n /*\n * a single color is specified as 100% transparent (0),\n * so we set trns to use a /Mask with that index\n */\n if (total === len - 1 && trans.indexOf(0) !== -1) {\n trns = [trans.indexOf(0)];\n\n /*\n * there's more than one colour within the palette that specifies\n * a transparency value less than 255, so we unroll the pixels to create an image sMask\n */\n } else if (total !== len) {\n pixels = image.decodePixels();\n alphaData = new Uint8Array(pixels.length);\n i = 0;\n len = pixels.length;\n\n for (; i < len; i++) {\n alphaData[i] = trans[pixels[i]];\n }\n\n smask = compressBytes(alphaData, image.width, 1);\n }\n }\n }\n\n var predictor = getPredictorFromCompression(compression);\n\n if (filter === this.decode.FLATE_DECODE) {\n decodeParameters = \"/Predictor \" + predictor + \" \";\n }\n decodeParameters +=\n \"/Colors \" +\n colors +\n \" /BitsPerComponent \" +\n bitsPerComponent +\n \" /Columns \" +\n image.width;\n\n if (\n this.__addimage__.isArrayBuffer(imageData) ||\n this.__addimage__.isArrayBufferView(imageData)\n ) {\n imageData = this.__addimage__.arrayBufferToBinaryString(imageData);\n }\n\n if (\n (smask && this.__addimage__.isArrayBuffer(smask)) ||\n this.__addimage__.isArrayBufferView(smask)\n ) {\n smask = this.__addimage__.arrayBufferToBinaryString(smask);\n }\n\n return {\n alias: alias,\n data: imageData,\n index: index,\n filter: filter,\n decodeParameters: decodeParameters,\n transparency: trns,\n palette: pal,\n sMask: smask,\n predictor: predictor,\n width: image.width,\n height: image.height,\n bitsPerComponent: bitsPerComponent,\n colorSpace: colorSpace\n };\n }\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2017 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { GifReader } from \"../libs/omggif.js\";\nimport { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\n\n/**\n * jsPDF Gif Support PlugIn\n *\n * @name gif_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processGIF89A = function(imageData, index, alias, compression) {\n var reader = new GifReader(imageData);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = [];\n\n reader.decodeAndBlitFrameRGBA(0, pixels);\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n\n jsPDFAPI.processGIF87A = jsPDFAPI.processGIF89A;\n})(jsPDF.API);\n","import { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\nimport { BmpDecoder } from \"../libs/BMPDecoder.js\";\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @license\n * Copyright (c) 2018 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\n/**\n * jsPDF bmp Support PlugIn\n * @name bmp_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processBMP = function(imageData, index, alias, compression) {\n var reader = new BmpDecoder(imageData, false);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = reader.getData();\n\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2019 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\nimport { WebPDecoder } from \"../libs/WebPDecoder.js\";\n\n/**\n * jsPDF webp Support PlugIn\n *\n * @name webp_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processWEBP = function(imageData, index, alias, compression) {\n var reader = new WebPDecoder(imageData, false);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = reader.getData();\n\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n})(jsPDF.API);\n","/**\n * @license\n *\n * Copyright (c) 2021 Antti Palola, https://github.com/Pantura\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF RGBA array PlugIn\n * @name rgba_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * @name processRGBA\n * @function\n *\n * Process RGBA Array. This is a one-dimension array with pixel data [red, green, blue, alpha, red, green, ...].\n * RGBA array data can be obtained from DOM canvas getImageData.\n * @ignore\n */\n jsPDFAPI.processRGBA = function(imageData, index, alias) {\n \"use strict\";\n\n var imagePixels = imageData.data;\n var length = imagePixels.length;\n // jsPDF takes alpha data separately so extract that.\n var rgbOut = new Uint8Array((length / 4) * 3);\n var alphaOut = new Uint8Array(length / 4);\n var outIndex = 0;\n var alphaIndex = 0;\n\n for (var i = 0; i < length; i += 4) {\n var r = imagePixels[i];\n var g = imagePixels[i + 1];\n var b = imagePixels[i + 2];\n var alpha = imagePixels[i + 3];\n rgbOut[outIndex++] = r;\n rgbOut[outIndex++] = g;\n rgbOut[outIndex++] = b;\n alphaOut[alphaIndex++] = alpha;\n }\n\n var rgbData = this.__addimage__.arrayBufferToBinaryString(rgbOut);\n var alphaData = this.__addimage__.arrayBufferToBinaryString(alphaOut);\n\n return {\n alpha: alphaData,\n data: rgbData,\n index: index,\n alias: alias,\n colorSpace: \"DeviceRGB\",\n bitsPerComponent: 8,\n width: imageData.width,\n height: imageData.height\n };\n };\n})(jsPDF.API);\n","/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF setLanguage Plugin\n *\n * @name setLanguage\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * Add Language Tag to the generated PDF\n *\n * @name setLanguage\n * @function\n * @param {string} langCode The Language code as ISO-639-1 (e.g. 'en') or as country language code (e.g. 'en-GB').\n * @returns {jsPDF}\n * @example\n * var doc = new jsPDF()\n * doc.text(10, 10, 'This is a test')\n * doc.setLanguage(\"en-US\")\n * doc.save('english.pdf')\n */\n jsPDFAPI.setLanguage = function(langCode) {\n \"use strict\";\n\n var langCodes = {\n af: \"Afrikaans\",\n sq: \"Albanian\",\n ar: \"Arabic (Standard)\",\n \"ar-DZ\": \"Arabic (Algeria)\",\n \"ar-BH\": \"Arabic (Bahrain)\",\n \"ar-EG\": \"Arabic (Egypt)\",\n \"ar-IQ\": \"Arabic (Iraq)\",\n \"ar-JO\": \"Arabic (Jordan)\",\n \"ar-KW\": \"Arabic (Kuwait)\",\n \"ar-LB\": \"Arabic (Lebanon)\",\n \"ar-LY\": \"Arabic (Libya)\",\n \"ar-MA\": \"Arabic (Morocco)\",\n \"ar-OM\": \"Arabic (Oman)\",\n \"ar-QA\": \"Arabic (Qatar)\",\n \"ar-SA\": \"Arabic (Saudi Arabia)\",\n \"ar-SY\": \"Arabic (Syria)\",\n \"ar-TN\": \"Arabic (Tunisia)\",\n \"ar-AE\": \"Arabic (U.A.E.)\",\n \"ar-YE\": \"Arabic (Yemen)\",\n an: \"Aragonese\",\n hy: \"Armenian\",\n as: \"Assamese\",\n ast: \"Asturian\",\n az: \"Azerbaijani\",\n eu: \"Basque\",\n be: \"Belarusian\",\n bn: \"Bengali\",\n bs: \"Bosnian\",\n br: \"Breton\",\n bg: \"Bulgarian\",\n my: \"Burmese\",\n ca: \"Catalan\",\n ch: \"Chamorro\",\n ce: \"Chechen\",\n zh: \"Chinese\",\n \"zh-HK\": \"Chinese (Hong Kong)\",\n \"zh-CN\": \"Chinese (PRC)\",\n \"zh-SG\": \"Chinese (Singapore)\",\n \"zh-TW\": \"Chinese (Taiwan)\",\n cv: \"Chuvash\",\n co: \"Corsican\",\n cr: \"Cree\",\n hr: \"Croatian\",\n cs: \"Czech\",\n da: \"Danish\",\n nl: \"Dutch (Standard)\",\n \"nl-BE\": \"Dutch (Belgian)\",\n en: \"English\",\n \"en-AU\": \"English (Australia)\",\n \"en-BZ\": \"English (Belize)\",\n \"en-CA\": \"English (Canada)\",\n \"en-IE\": \"English (Ireland)\",\n \"en-JM\": \"English (Jamaica)\",\n \"en-NZ\": \"English (New Zealand)\",\n \"en-PH\": \"English (Philippines)\",\n \"en-ZA\": \"English (South Africa)\",\n \"en-TT\": \"English (Trinidad & Tobago)\",\n \"en-GB\": \"English (United Kingdom)\",\n \"en-US\": \"English (United States)\",\n \"en-ZW\": \"English (Zimbabwe)\",\n eo: \"Esperanto\",\n et: \"Estonian\",\n fo: \"Faeroese\",\n fj: \"Fijian\",\n fi: \"Finnish\",\n fr: \"French (Standard)\",\n \"fr-BE\": \"French (Belgium)\",\n \"fr-CA\": \"French (Canada)\",\n \"fr-FR\": \"French (France)\",\n \"fr-LU\": \"French (Luxembourg)\",\n \"fr-MC\": \"French (Monaco)\",\n \"fr-CH\": \"French (Switzerland)\",\n fy: \"Frisian\",\n fur: \"Friulian\",\n gd: \"Gaelic (Scots)\",\n \"gd-IE\": \"Gaelic (Irish)\",\n gl: \"Galacian\",\n ka: \"Georgian\",\n de: \"German (Standard)\",\n \"de-AT\": \"German (Austria)\",\n \"de-DE\": \"German (Germany)\",\n \"de-LI\": \"German (Liechtenstein)\",\n \"de-LU\": \"German (Luxembourg)\",\n \"de-CH\": \"German (Switzerland)\",\n el: \"Greek\",\n gu: \"Gujurati\",\n ht: \"Haitian\",\n he: \"Hebrew\",\n hi: \"Hindi\",\n hu: \"Hungarian\",\n is: \"Icelandic\",\n id: \"Indonesian\",\n iu: \"Inuktitut\",\n ga: \"Irish\",\n it: \"Italian (Standard)\",\n \"it-CH\": \"Italian (Switzerland)\",\n ja: \"Japanese\",\n kn: \"Kannada\",\n ks: \"Kashmiri\",\n kk: \"Kazakh\",\n km: \"Khmer\",\n ky: \"Kirghiz\",\n tlh: \"Klingon\",\n ko: \"Korean\",\n \"ko-KP\": \"Korean (North Korea)\",\n \"ko-KR\": \"Korean (South Korea)\",\n la: \"Latin\",\n lv: \"Latvian\",\n lt: \"Lithuanian\",\n lb: \"Luxembourgish\",\n mk: \"North Macedonia\",\n ms: \"Malay\",\n ml: \"Malayalam\",\n mt: \"Maltese\",\n mi: \"Maori\",\n mr: \"Marathi\",\n mo: \"Moldavian\",\n nv: \"Navajo\",\n ng: \"Ndonga\",\n ne: \"Nepali\",\n no: \"Norwegian\",\n nb: \"Norwegian (Bokmal)\",\n nn: \"Norwegian (Nynorsk)\",\n oc: \"Occitan\",\n or: \"Oriya\",\n om: \"Oromo\",\n fa: \"Persian\",\n \"fa-IR\": \"Persian/Iran\",\n pl: \"Polish\",\n pt: \"Portuguese\",\n \"pt-BR\": \"Portuguese (Brazil)\",\n pa: \"Punjabi\",\n \"pa-IN\": \"Punjabi (India)\",\n \"pa-PK\": \"Punjabi (Pakistan)\",\n qu: \"Quechua\",\n rm: \"Rhaeto-Romanic\",\n ro: \"Romanian\",\n \"ro-MO\": \"Romanian (Moldavia)\",\n ru: \"Russian\",\n \"ru-MO\": \"Russian (Moldavia)\",\n sz: \"Sami (Lappish)\",\n sg: \"Sango\",\n sa: \"Sanskrit\",\n sc: \"Sardinian\",\n sd: \"Sindhi\",\n si: \"Singhalese\",\n sr: \"Serbian\",\n sk: \"Slovak\",\n sl: \"Slovenian\",\n so: \"Somani\",\n sb: \"Sorbian\",\n es: \"Spanish\",\n \"es-AR\": \"Spanish (Argentina)\",\n \"es-BO\": \"Spanish (Bolivia)\",\n \"es-CL\": \"Spanish (Chile)\",\n \"es-CO\": \"Spanish (Colombia)\",\n \"es-CR\": \"Spanish (Costa Rica)\",\n \"es-DO\": \"Spanish (Dominican Republic)\",\n \"es-EC\": \"Spanish (Ecuador)\",\n \"es-SV\": \"Spanish (El Salvador)\",\n \"es-GT\": \"Spanish (Guatemala)\",\n \"es-HN\": \"Spanish (Honduras)\",\n \"es-MX\": \"Spanish (Mexico)\",\n \"es-NI\": \"Spanish (Nicaragua)\",\n \"es-PA\": \"Spanish (Panama)\",\n \"es-PY\": \"Spanish (Paraguay)\",\n \"es-PE\": \"Spanish (Peru)\",\n \"es-PR\": \"Spanish (Puerto Rico)\",\n \"es-ES\": \"Spanish (Spain)\",\n \"es-UY\": \"Spanish (Uruguay)\",\n \"es-VE\": \"Spanish (Venezuela)\",\n sx: \"Sutu\",\n sw: \"Swahili\",\n sv: \"Swedish\",\n \"sv-FI\": \"Swedish (Finland)\",\n \"sv-SV\": \"Swedish (Sweden)\",\n ta: \"Tamil\",\n tt: \"Tatar\",\n te: \"Teluga\",\n th: \"Thai\",\n tig: \"Tigre\",\n ts: \"Tsonga\",\n tn: \"Tswana\",\n tr: \"Turkish\",\n tk: \"Turkmen\",\n uk: \"Ukrainian\",\n hsb: \"Upper Sorbian\",\n ur: \"Urdu\",\n ve: \"Venda\",\n vi: \"Vietnamese\",\n vo: \"Volapuk\",\n wa: \"Walloon\",\n cy: \"Welsh\",\n xh: \"Xhosa\",\n ji: \"Yiddish\",\n zu: \"Zulu\"\n };\n\n if (this.internal.languageSettings === undefined) {\n this.internal.languageSettings = {};\n this.internal.languageSettings.isSubscribed = false;\n }\n\n if (langCodes[langCode] !== undefined) {\n this.internal.languageSettings.languageCode = langCode;\n if (this.internal.languageSettings.isSubscribed === false) {\n this.internal.events.subscribe(\"putCatalog\", function() {\n this.internal.write(\n \"/Lang (\" + this.internal.languageSettings.languageCode + \")\"\n );\n });\n this.internal.languageSettings.isSubscribed = true;\n }\n }\n return this;\n };\n})(jsPDF.API);\n","/** @license\n jsPDF standard_fonts_metrics plugin\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n * MIT license.\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n * \n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * This file adds the standard font metrics to jsPDF.\n *\n * Font metrics data is reprocessed derivative of contents of\n * \"Font Metrics for PDF Core 14 Fonts\" package, which exhibits the following copyright and license:\n *\n * Copyright (c) 1989, 1990, 1991, 1992, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.\n *\n * This file and the 14 PostScript(R) AFM files it accompanies may be used,\n * copied, and distributed for any purpose and without charge, with or without\n * modification, provided that all copyright notices are retained; that the AFM\n * files are not distributed without this file; that all modifications to this\n * file or any of the AFM files are prominently noted in the modified file(s);\n * and that this paragraph is not modified. Adobe Systems has no responsibility\n * or obligation to support the use of the AFM files.\n *\n * @name standard_fonts_metrics\n * @module\n */\n\n(function(API) {\n \"use strict\";\n API.__fontmetrics__ = API.__fontmetrics__ || {};\n\n var decoded = \"0123456789abcdef\",\n encoded = \"klmnopqrstuvwxyz\",\n mappingUncompress = {},\n mappingCompress = {};\n\n for (var i = 0; i < encoded.length; i++) {\n mappingUncompress[encoded[i]] = decoded[i];\n mappingCompress[decoded[i]] = encoded[i];\n }\n\n var hex = function(value) {\n return \"0x\" + parseInt(value, 10).toString(16);\n };\n\n var compress = (API.__fontmetrics__.compress = function(data) {\n var vals = [\"{\"];\n var value, keystring, valuestring, numberprefix;\n\n for (var key in data) {\n value = data[key];\n\n if (!isNaN(parseInt(key, 10))) {\n key = parseInt(key, 10);\n keystring = hex(key).slice(2);\n keystring =\n keystring.slice(0, -1) + mappingCompress[keystring.slice(-1)];\n } else {\n keystring = \"'\" + key + \"'\";\n }\n\n if (typeof value == \"number\") {\n if (value < 0) {\n valuestring = hex(value).slice(3);\n numberprefix = \"-\";\n } else {\n valuestring = hex(value).slice(2);\n numberprefix = \"\";\n }\n valuestring =\n numberprefix +\n valuestring.slice(0, -1) +\n mappingCompress[valuestring.slice(-1)];\n } else {\n if (typeof value === \"object\") {\n valuestring = compress(value);\n } else {\n throw new Error(\n \"Don't know what to do with value type \" + typeof value + \".\"\n );\n }\n }\n vals.push(keystring + valuestring);\n }\n vals.push(\"}\");\n return vals.join(\"\");\n });\n\n /**\n * Uncompresses data compressed into custom, base16-like format.\n *\n * @public\n * @function\n * @param\n * @returns {Type}\n */\n var uncompress = (API.__fontmetrics__.uncompress = function(data) {\n if (typeof data !== \"string\") {\n throw new Error(\"Invalid argument passed to uncompress.\");\n }\n\n var output = {},\n sign = 1,\n stringparts, // undef. will be [] in string mode\n activeobject = output,\n parentchain = [],\n parent_key_pair,\n keyparts = \"\",\n valueparts = \"\",\n key, // undef. will be Truthy when Key is resolved.\n datalen = data.length - 1, // stripping ending }\n ch;\n\n for (var i = 1; i < datalen; i += 1) {\n // - { } ' are special.\n\n ch = data[i];\n\n if (ch == \"'\") {\n if (stringparts) {\n // end of string mode\n key = stringparts.join(\"\");\n stringparts = undefined;\n } else {\n // start of string mode\n stringparts = [];\n }\n } else if (stringparts) {\n stringparts.push(ch);\n } else if (ch == \"{\") {\n // start of object\n parentchain.push([activeobject, key]);\n activeobject = {};\n key = undefined;\n } else if (ch == \"}\") {\n // end of object\n parent_key_pair = parentchain.pop();\n parent_key_pair[0][parent_key_pair[1]] = activeobject;\n key = undefined;\n activeobject = parent_key_pair[0];\n } else if (ch == \"-\") {\n sign = -1;\n } else {\n // must be number\n if (key === undefined) {\n if (mappingUncompress.hasOwnProperty(ch)) {\n keyparts += mappingUncompress[ch];\n key = parseInt(keyparts, 16) * sign;\n sign = +1;\n keyparts = \"\";\n } else {\n keyparts += ch;\n }\n } else {\n if (mappingUncompress.hasOwnProperty(ch)) {\n valueparts += mappingUncompress[ch];\n activeobject[key] = parseInt(valueparts, 16) * sign;\n sign = +1;\n key = undefined;\n valueparts = \"\";\n } else {\n valueparts += ch;\n }\n }\n }\n }\n return output;\n });\n\n // encoding = 'Unicode'\n // NOT UTF8, NOT UTF16BE/LE, NOT UCS2BE/LE. NO clever BOM behavior\n // Actual 16bit char codes used.\n // no multi-byte logic here\n\n // Unicode characters to WinAnsiEncoding:\n // {402: 131, 8211: 150, 8212: 151, 8216: 145, 8217: 146, 8218: 130, 8220: 147, 8221: 148, 8222: 132, 8224: 134, 8225: 135, 8226: 149, 8230: 133, 8364: 128, 8240:137, 8249: 139, 8250: 155, 710: 136, 8482: 153, 338: 140, 339: 156, 732: 152, 352: 138, 353: 154, 376: 159, 381: 142, 382: 158}\n // as you can see, all Unicode chars are outside of 0-255 range. No char code conflicts.\n // this means that you can give Win cp1252 encoded strings to jsPDF for rendering directly\n // as well as give strings with some (supported by these fonts) Unicode characters and\n // these will be mapped to win cp1252\n // for example, you can send char code (cp1252) 0x80 or (unicode) 0x20AC, getting \"Euro\" glyph displayed in both cases.\n\n var encodingBlock = {\n codePages: [\"WinAnsiEncoding\"],\n WinAnsiEncoding: uncompress(\n \"{19m8n201n9q201o9r201s9l201t9m201u8m201w9n201x9o201y8o202k8q202l8r202m9p202q8p20aw8k203k8t203t8v203u9v2cq8s212m9t15m8w15n9w2dw9s16k8u16l9u17s9z17x8y17y9y}\"\n )\n };\n var encodings = {\n Unicode: {\n Courier: encodingBlock,\n \"Courier-Bold\": encodingBlock,\n \"Courier-BoldOblique\": encodingBlock,\n \"Courier-Oblique\": encodingBlock,\n Helvetica: encodingBlock,\n \"Helvetica-Bold\": encodingBlock,\n \"Helvetica-BoldOblique\": encodingBlock,\n \"Helvetica-Oblique\": encodingBlock,\n \"Times-Roman\": encodingBlock,\n \"Times-Bold\": encodingBlock,\n \"Times-BoldItalic\": encodingBlock,\n \"Times-Italic\": encodingBlock\n //\t, 'Symbol'\n //\t, 'ZapfDingbats'\n }\n };\n\n var fontMetrics = {\n Unicode: {\n // all sizing numbers are n/fontMetricsFractionOf = one font size unit\n // this means that if fontMetricsFractionOf = 1000, and letter A's width is 476, it's\n // width is 476/1000 or 47.6% of its height (regardless of font size)\n // At this time this value applies to \"widths\" and \"kerning\" numbers.\n\n // char code 0 represents \"default\" (average) width - use it for chars missing in this table.\n // key 'fof' represents the \"fontMetricsFractionOf\" value\n\n \"Courier-Oblique\": uncompress(\n \"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"\n ),\n \"Times-BoldItalic\": uncompress(\n \"{'widths'{k3o2q4ycx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2r202m2n2n3m2o3m2p5n202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5n4l4m4m4m4n4m4o4s4p4m4q4m4r4s4s4y4t2r4u3m4v4m4w3x4x5t4y4s4z4s5k3x5l4s5m4m5n3r5o3x5p4s5q4m5r5t5s4m5t3x5u3x5v2l5w1w5x2l5y3t5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q2l6r3m6s3r6t1w6u1w6v3m6w1w6x4y6y3r6z3m7k3m7l3m7m2r7n2r7o1w7p3r7q2w7r4m7s3m7t2w7u2r7v2n7w1q7x2n7y3t202l3mcl4mal2ram3man3mao3map3mar3mas2lat4uau1uav3maw3way4uaz2lbk2sbl3t'fof'6obo2lbp3tbq3mbr1tbs2lbu1ybv3mbz3mck4m202k3mcm4mcn4mco4mcp4mcq5ycr4mcs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz2w203k6o212m6o2dw2l2cq2l3t3m3u2l17s3x19m3m}'kerning'{cl{4qu5kt5qt5rs17ss5ts}201s{201ss}201t{cks4lscmscnscoscpscls2wu2yu201ts}201x{2wu2yu}2k{201ts}2w{4qx5kx5ou5qx5rs17su5tu}2x{17su5tu5ou}2y{4qx5kx5ou5qx5rs17ss5ts}'fof'-6ofn{17sw5tw5ou5qw5rs}7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qs}3v{17su5tu5os5qs}7p{17su5tu}ck{4qu5kt5qt5rs17ss5ts}4l{4qu5kt5qt5rs17ss5ts}cm{4qu5kt5qt5rs17ss5ts}cn{4qu5kt5qt5rs17ss5ts}co{4qu5kt5qt5rs17ss5ts}cp{4qu5kt5qt5rs17ss5ts}6l{4qu5ou5qw5rt17su5tu}5q{ckuclucmucnucoucpu4lu}5r{ckuclucmucnucoucpu4lu}7q{cksclscmscnscoscps4ls}6p{4qu5ou5qw5rt17sw5tw}ek{4qu5ou5qw5rt17su5tu}el{4qu5ou5qw5rt17su5tu}em{4qu5ou5qw5rt17su5tu}en{4qu5ou5qw5rt17su5tu}eo{4qu5ou5qw5rt17su5tu}ep{4qu5ou5qw5rt17su5tu}es{17ss5ts5qs4qu}et{4qu5ou5qw5rt17sw5tw}eu{4qu5ou5qw5rt17ss5ts}ev{17ss5ts5qs4qu}6z{17sw5tw5ou5qw5rs}fm{17sw5tw5ou5qw5rs}7n{201ts}fo{17sw5tw5ou5qw5rs}fp{17sw5tw5ou5qw5rs}fq{17sw5tw5ou5qw5rs}7r{cksclscmscnscoscps4ls}fs{17sw5tw5ou5qw5rs}ft{17su5tu}fu{17su5tu}fv{17su5tu}fw{17su5tu}fz{cksclscmscnscoscps4ls}}}\"\n ),\n \"Helvetica-Bold\": uncompress(\n \"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"\n ),\n Courier: uncompress(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Courier-BoldOblique\": uncompress(\n \"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"\n ),\n \"Times-Bold\": uncompress(\n \"{'widths'{k3q2q5ncx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2l202m2n2n3m2o3m2p6o202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5x4l4s4m4m4n4s4o4s4p4m4q3x4r4y4s4y4t2r4u3m4v4y4w4m4x5y4y4s4z4y5k3x5l4y5m4s5n3r5o4m5p4s5q4s5r6o5s4s5t4s5u4m5v2l5w1w5x2l5y3u5z3m6k2l6l3m6m3r6n2w6o3r6p2w6q2l6r3m6s3r6t1w6u2l6v3r6w1w6x5n6y3r6z3m7k3r7l3r7m2w7n2r7o2l7p3r7q3m7r4s7s3m7t3m7u2w7v2r7w1q7x2r7y3o202l3mcl4sal2lam3man3mao3map3mar3mas2lat4uau1yav3maw3tay4uaz2lbk2sbl3t'fof'6obo2lbp3rbr1tbs2lbu2lbv3mbz3mck4s202k3mcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3rek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3m3u2l17s4s19m3m}'kerning'{cl{4qt5ks5ot5qy5rw17sv5tv}201t{cks4lscmscnscoscpscls4wv}2k{201ts}2w{4qu5ku7mu5os5qx5ru17su5tu}2x{17su5tu5ou5qs}2y{4qv5kv7mu5ot5qz5ru17su5tu}'fof'-6o7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qu}3v{17su5tu5os5qu}fu{17su5tu5ou5qu}7p{17su5tu5ou5qu}ck{4qt5ks5ot5qy5rw17sv5tv}4l{4qt5ks5ot5qy5rw17sv5tv}cm{4qt5ks5ot5qy5rw17sv5tv}cn{4qt5ks5ot5qy5rw17sv5tv}co{4qt5ks5ot5qy5rw17sv5tv}cp{4qt5ks5ot5qy5rw17sv5tv}6l{17st5tt5ou5qu}17s{ckuclucmucnucoucpu4lu4wu}5o{ckuclucmucnucoucpu4lu4wu}5q{ckzclzcmzcnzcozcpz4lz4wu}5r{ckxclxcmxcnxcoxcpx4lx4wu}5t{ckuclucmucnucoucpu4lu4wu}7q{ckuclucmucnucoucpu4lu}6p{17sw5tw5ou5qu}ek{17st5tt5qu}el{17st5tt5ou5qu}em{17st5tt5qu}en{17st5tt5qu}eo{17st5tt5qu}ep{17st5tt5ou5qu}es{17ss5ts5qu}et{17sw5tw5ou5qu}eu{17sw5tw5ou5qu}ev{17ss5ts5qu}6z{17sw5tw5ou5qu5rs}fm{17sw5tw5ou5qu5rs}fn{17sw5tw5ou5qu5rs}fo{17sw5tw5ou5qu5rs}fp{17sw5tw5ou5qu5rs}fq{17sw5tw5ou5qu5rs}7r{cktcltcmtcntcotcpt4lt5os}fs{17sw5tw5ou5qu5rs}ft{17su5tu5ou5qu}7m{5os}fv{17su5tu5ou5qu}fw{17su5tu5ou5qu}fz{cksclscmscnscoscps4ls}}}\"\n ),\n Symbol: uncompress(\n \"{'widths'{k3uaw4r19m3m2k1t2l2l202m2y2n3m2p5n202q6o3k3m2s2l2t2l2v3r2w1t3m3m2y1t2z1wbk2sbl3r'fof'6o3n3m3o3m3p3m3q3m3r3m3s3m3t3m3u1w3v1w3w3r3x3r3y3r3z2wbp3t3l3m5v2l5x2l5z3m2q4yfr3r7v3k7w1o7x3k}'kerning'{'fof'-6o}}\"\n ),\n Helvetica: uncompress(\n \"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\"\n ),\n \"Helvetica-BoldOblique\": uncompress(\n \"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"\n ),\n ZapfDingbats: uncompress(\"{'widths'{k4u2k1w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Courier-Bold\": uncompress(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Times-Italic\": uncompress(\n \"{'widths'{k3n2q4ycx2l201n3m201o5t201s2l201t2l201u2l201w3r201x3r201y3r2k1t2l2l202m2n2n3m2o3m2p5n202q5t2r1p2s2l2t2l2u3m2v4n2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w4n3x4n3y4n3z3m4k5w4l3x4m3x4n4m4o4s4p3x4q3x4r4s4s4s4t2l4u2w4v4m4w3r4x5n4y4m4z4s5k3x5l4s5m3x5n3m5o3r5p4s5q3x5r5n5s3x5t3r5u3r5v2r5w1w5x2r5y2u5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q1w6r3m6s3m6t1w6u1w6v2w6w1w6x4s6y3m6z3m7k3m7l3m7m2r7n2r7o1w7p3m7q2w7r4m7s2w7t2w7u2r7v2s7w1v7x2s7y3q202l3mcl3xal2ram3man3mao3map3mar3mas2lat4wau1vav3maw4nay4waz2lbk2sbl4n'fof'6obo2lbp3mbq3obr1tbs2lbu1zbv3mbz3mck3x202k3mcm3xcn3xco3xcp3xcq5tcr4mcs3xct3xcu3xcv3xcw2l2m2ucy2lcz2ldl4mdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr4nfs3mft3mfu3mfv3mfw3mfz2w203k6o212m6m2dw2l2cq2l3t3m3u2l17s3r19m3m}'kerning'{cl{5kt4qw}201s{201sw}201t{201tw2wy2yy6q-t}201x{2wy2yy}2k{201tw}2w{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}2x{17ss5ts5os}2y{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}'fof'-6o6t{17ss5ts5qs}7t{5os}3v{5qs}7p{17su5tu5qs}ck{5kt4qw}4l{5kt4qw}cm{5kt4qw}cn{5kt4qw}co{5kt4qw}cp{5kt4qw}6l{4qs5ks5ou5qw5ru17su5tu}17s{2ks}5q{ckvclvcmvcnvcovcpv4lv}5r{ckuclucmucnucoucpu4lu}5t{2ks}6p{4qs5ks5ou5qw5ru17su5tu}ek{4qs5ks5ou5qw5ru17su5tu}el{4qs5ks5ou5qw5ru17su5tu}em{4qs5ks5ou5qw5ru17su5tu}en{4qs5ks5ou5qw5ru17su5tu}eo{4qs5ks5ou5qw5ru17su5tu}ep{4qs5ks5ou5qw5ru17su5tu}es{5ks5qs4qs}et{4qs5ks5ou5qw5ru17su5tu}eu{4qs5ks5qw5ru17su5tu}ev{5ks5qs4qs}ex{17ss5ts5qs}6z{4qv5ks5ou5qw5ru17su5tu}fm{4qv5ks5ou5qw5ru17su5tu}fn{4qv5ks5ou5qw5ru17su5tu}fo{4qv5ks5ou5qw5ru17su5tu}fp{4qv5ks5ou5qw5ru17su5tu}fq{4qv5ks5ou5qw5ru17su5tu}7r{5os}fs{4qv5ks5ou5qw5ru17su5tu}ft{17su5tu5qs}fu{17su5tu5qs}fv{17su5tu5qs}fw{17su5tu5qs}}}\"\n ),\n \"Times-Roman\": uncompress(\n \"{'widths'{k3n2q4ycx2l201n3m201o6o201s2l201t2l201u2l201w2w201x2w201y2w2k1t2l2l202m2n2n3m2o3m2p5n202q6o2r1m2s2l2t2l2u3m2v3s2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v1w3w3s3x3s3y3s3z2w4k5w4l4s4m4m4n4m4o4s4p3x4q3r4r4s4s4s4t2l4u2r4v4s4w3x4x5t4y4s4z4s5k3r5l4s5m4m5n3r5o3x5p4s5q4s5r5y5s4s5t4s5u3x5v2l5w1w5x2l5y2z5z3m6k2l6l2w6m3m6n2w6o3m6p2w6q2l6r3m6s3m6t1w6u1w6v3m6w1w6x4y6y3m6z3m7k3m7l3m7m2l7n2r7o1w7p3m7q3m7r4s7s3m7t3m7u2w7v3k7w1o7x3k7y3q202l3mcl4sal2lam3man3mao3map3mar3mas2lat4wau1vav3maw3say4waz2lbk2sbl3s'fof'6obo2lbp3mbq2xbr1tbs2lbu1zbv3mbz2wck4s202k3mcm4scn4sco4scp4scq5tcr4mcs3xct3xcu3xcv3xcw2l2m2tcy2lcz2ldl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek2wel2wem2wen2weo2wep2weq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr3sfs3mft3mfu3mfv3mfw3mfz3m203k6o212m6m2dw2l2cq2l3t3m3u1w17s4s19m3m}'kerning'{cl{4qs5ku17sw5ou5qy5rw201ss5tw201ws}201s{201ss}201t{ckw4lwcmwcnwcowcpwclw4wu201ts}2k{201ts}2w{4qs5kw5os5qx5ru17sx5tx}2x{17sw5tw5ou5qu}2y{4qs5kw5os5qx5ru17sx5tx}'fof'-6o7t{ckuclucmucnucoucpu4lu5os5rs}3u{17su5tu5qs}3v{17su5tu5qs}7p{17sw5tw5qs}ck{4qs5ku17sw5ou5qy5rw201ss5tw201ws}4l{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cm{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cn{4qs5ku17sw5ou5qy5rw201ss5tw201ws}co{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cp{4qs5ku17sw5ou5qy5rw201ss5tw201ws}6l{17su5tu5os5qw5rs}17s{2ktclvcmvcnvcovcpv4lv4wuckv}5o{ckwclwcmwcnwcowcpw4lw4wu}5q{ckyclycmycnycoycpy4ly4wu5ms}5r{cktcltcmtcntcotcpt4lt4ws}5t{2ktclvcmvcnvcovcpv4lv4wuckv}7q{cksclscmscnscoscps4ls}6p{17su5tu5qw5rs}ek{5qs5rs}el{17su5tu5os5qw5rs}em{17su5tu5os5qs5rs}en{17su5qs5rs}eo{5qs5rs}ep{17su5tu5os5qw5rs}es{5qs}et{17su5tu5qw5rs}eu{17su5tu5qs5rs}ev{5qs}6z{17sv5tv5os5qx5rs}fm{5os5qt5rs}fn{17sv5tv5os5qx5rs}fo{17sv5tv5os5qx5rs}fp{5os5qt5rs}fq{5os5qt5rs}7r{ckuclucmucnucoucpu4lu5os}fs{17sv5tv5os5qx5rs}ft{17ss5ts5qs}fu{17sw5tw5qs}fv{17sw5tw5qs}fw{17ss5ts5qs}fz{ckuclucmucnucoucpu4lu5os5rs}}}\"\n ),\n \"Helvetica-Oblique\": uncompress(\n \"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\"\n )\n }\n };\n\n /*\n\tThis event handler is fired when a new jsPDF object is initialized\n\tThis event handler appends metrics data to standard fonts within\n\tthat jsPDF instance. The metrics are mapped over Unicode character\n\tcodes, NOT CIDs or other codes matching the StandardEncoding table of the\n\tstandard PDF fonts.\n\tFuture:\n\tAlso included is the encoding maping table, converting Unicode (UCS-2, UTF-16)\n\tchar codes to StandardEncoding character codes. The encoding table is to be used\n\tsomewhere around \"pdfEscape\" call.\n\t*/\n API.events.push([\n \"addFont\",\n function(data) {\n var font = data.font;\n\n var metrics = fontMetrics[\"Unicode\"][font.postScriptName];\n if (metrics) {\n font.metadata[\"Unicode\"] = {};\n font.metadata[\"Unicode\"].widths = metrics.widths;\n font.metadata[\"Unicode\"].kerning = metrics.kerning;\n }\n\n var encodingBlock = encodings[\"Unicode\"][font.postScriptName];\n if (encodingBlock) {\n font.metadata[\"Unicode\"].encoding = encodingBlock;\n font.encoding = encodingBlock.codePages[0];\n }\n }\n ]); // end of adding event handler\n})(jsPDF.API);\n","/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { atob } from \"../libs/AtobBtoa.js\";\n\n/**\n * @name ttfsupport\n * @module\n */\n(function(jsPDF) {\n \"use strict\";\n\n var binaryStringToUint8Array = function(binary_string) {\n var len = binary_string.length;\n var bytes = new Uint8Array(len);\n for (var i = 0; i < len; i++) {\n bytes[i] = binary_string.charCodeAt(i);\n }\n return bytes;\n };\n\n var addFont = function(font, file) {\n // eslint-disable-next-line no-control-regex\n if (/^\\x00\\x01\\x00\\x00/.test(file)) {\n file = binaryStringToUint8Array(file);\n } else {\n file = binaryStringToUint8Array(atob(file));\n }\n font.metadata = jsPDF.API.TTFFont.open(file);\n font.metadata.Unicode = font.metadata.Unicode || {\n encoding: {},\n kerning: {},\n widths: []\n };\n font.metadata.glyIdsUsed = [0];\n };\n\n jsPDF.API.events.push([\n \"addFont\",\n function(data) {\n var file = undefined;\n var font = data.font;\n var instance = data.instance;\n if (font.isStandardFont) {\n return;\n }\n if (typeof instance !== \"undefined\") {\n if (instance.existsFileInVFS(font.postScriptName) === false) {\n file = instance.loadFile(font.postScriptName);\n } else {\n file = instance.getFileFromVFS(font.postScriptName);\n }\n if (typeof file !== \"string\") {\n throw new Error(\n \"Font is not stored as string-data in vFS, import fonts or remove declaration doc.addFont('\" +\n font.postScriptName +\n \"').\"\n );\n }\n addFont(font, file);\n } else {\n throw new Error(\n \"Font does not exist in vFS, import fonts or remove declaration doc.addFont('\" +\n font.postScriptName +\n \"').\"\n );\n }\n }\n ]); // end of adding event handler\n})(jsPDF);\n","/** @license\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { console } from \"../libs/console.js\";\nimport { globalObject } from \"../libs/globalObject.js\";\n\n/**\n * jsPDF SVG plugin\n *\n * @name svg\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n function loadCanvg() {\n return (function() {\n if (globalObject[\"canvg\"]) {\n return Promise.resolve(globalObject[\"canvg\"]);\n }\n\n return import(\"canvg\");\n\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load canvg: \" + e));\n })\n .then(function(canvg) {\n return canvg.default ? canvg.default : canvg;\n });\n }\n\n /**\n * Parses SVG XML and saves it as image into the PDF.\n *\n * Depends on canvas-element and canvg\n *\n * @name addSvgAsImage\n * @public\n * @function\n * @param {string} SVG-Data as Text\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\n * @param {number} width of SVG-Image (in units declared at inception of PDF document)\n * @param {number} height of SVG-Image (in units declared at inception of PDF document)\n * @param {string} alias of SVG-Image (if used multiple times)\n * @param {string} compression of the generated JPEG, can have the values 'NONE', 'FAST', 'MEDIUM' and 'SLOW'\n * @param {number} rotation of the image in degrees (0-359)\n *\n * @returns jsPDF jsPDF-instance\n */\n jsPDFAPI.addSvgAsImage = function(\n svg,\n x,\n y,\n w,\n h,\n alias,\n compression,\n rotation\n ) {\n if (isNaN(x) || isNaN(y)) {\n console.error(\"jsPDF.addSvgAsImage: Invalid coordinates\", arguments);\n throw new Error(\"Invalid coordinates passed to jsPDF.addSvgAsImage\");\n }\n\n if (isNaN(w) || isNaN(h)) {\n console.error(\"jsPDF.addSvgAsImage: Invalid measurements\", arguments);\n throw new Error(\n \"Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage\"\n );\n }\n\n var canvas = document.createElement(\"canvas\");\n canvas.width = w;\n canvas.height = h;\n var ctx = canvas.getContext(\"2d\");\n ctx.fillStyle = \"#fff\"; /// set white fill style\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n\n var options = {\n ignoreMouse: true,\n ignoreAnimation: true,\n ignoreDimensions: true\n };\n var doc = this;\n return loadCanvg()\n .then(\n function(canvg) {\n return canvg.fromString(ctx, svg, options);\n },\n function() {\n return Promise.reject(new Error(\"Could not load canvg.\"));\n }\n )\n .then(function(instance) {\n return instance.render(options);\n })\n .then(function() {\n doc.addImage(\n canvas.toDataURL(\"image/jpeg\", 1.0),\n x,\n y,\n w,\n h,\n compression,\n rotation\n );\n });\n };\n})(jsPDF.API);\n","/**\n * @license\n * ====================================================================\n * Copyright (c) 2013 Eduardo Menezes de Morais, eduardo.morais@usp.br\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF total_pages plugin\n * @name total_pages\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n /**\n * @name putTotalPages\n * @function\n * @param {string} pageExpression Regular Expression\n * @returns {jsPDF} jsPDF-instance\n */\n\n jsPDFAPI.putTotalPages = function(pageExpression) {\n \"use strict\";\n\n var replaceExpression;\n var totalNumberOfPages = 0;\n if (parseInt(this.internal.getFont().id.substr(1), 10) < 15) {\n replaceExpression = new RegExp(pageExpression, \"g\");\n totalNumberOfPages = this.internal.getNumberOfPages();\n } else {\n replaceExpression = new RegExp(\n this.pdfEscape16(pageExpression, this.internal.getFont()),\n \"g\"\n );\n totalNumberOfPages = this.pdfEscape16(\n this.internal.getNumberOfPages() + \"\",\n this.internal.getFont()\n );\n }\n\n for (var n = 1; n <= this.internal.getNumberOfPages(); n++) {\n for (var i = 0; i < this.internal.pages[n].length; i++) {\n this.internal.pages[n][i] = this.internal.pages[n][i].replace(\n replaceExpression,\n totalNumberOfPages\n );\n }\n }\n\n return this;\n };\n})(jsPDF.API);\n","/**\n * @license\n * jsPDF viewerPreferences Plugin\n * @author Aras Abbasi (github.com/arasabbasi)\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * Adds the ability to set ViewerPreferences and by thus\n * controlling the way the document is to be presented on the\n * screen or in print.\n * @name viewerpreferences\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n /**\n * Set the ViewerPreferences of the generated PDF\n *\n * @name viewerPreferences\n * @function\n * @public\n * @param {Object} options Array with the ViewerPreferences
    \n * Example: doc.viewerPreferences({\"FitWindow\":true});
    \n *
    \n * You can set following preferences:
    \n *
    \n * HideToolbar (boolean)
    \n * Default value: false
    \n *
    \n * HideMenubar (boolean)
    \n * Default value: false.
    \n *
    \n * HideWindowUI (boolean)
    \n * Default value: false.
    \n *
    \n * FitWindow (boolean)
    \n * Default value: false.
    \n *
    \n * CenterWindow (boolean)
    \n * Default value: false
    \n *
    \n * DisplayDocTitle (boolean)
    \n * Default value: false.
    \n *
    \n * NonFullScreenPageMode (string)
    \n * Possible values: UseNone, UseOutlines, UseThumbs, UseOC
    \n * Default value: UseNone
    \n *
    \n * Direction (string)
    \n * Possible values: L2R, R2L
    \n * Default value: L2R.
    \n *
    \n * ViewArea (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox.
    \n *
    \n * ViewClip (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox
    \n *
    \n * PrintArea (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox
    \n *
    \n * PrintClip (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox.
    \n *
    \n * PrintScaling (string)
    \n * Possible values: AppDefault, None
    \n * Default value: AppDefault.
    \n *
    \n * Duplex (string)
    \n * Possible values: Simplex, DuplexFlipLongEdge, DuplexFlipShortEdge\n * Default value: none
    \n *
    \n * PickTrayByPDFSize (boolean)
    \n * Default value: false
    \n *
    \n * PrintPageRange (Array)
    \n * Example: [[1,5], [7,9]]
    \n * Default value: as defined by PDF viewer application
    \n *
    \n * NumCopies (Number)
    \n * Possible values: 1, 2, 3, 4, 5
    \n * Default value: 1
    \n *
    \n * For more information see the PDF Reference, sixth edition on Page 577\n * @param {boolean} doReset True to reset the settings\n * @function\n * @returns jsPDF jsPDF-instance\n * @example\n * var doc = new jsPDF()\n * doc.text('This is a test', 10, 10)\n * doc.viewerPreferences({'FitWindow': true}, true)\n * doc.save(\"viewerPreferences.pdf\")\n *\n * // Example printing 10 copies, using cropbox, and hiding UI.\n * doc.viewerPreferences({\n * 'HideWindowUI': true,\n * 'PrintArea': 'CropBox',\n * 'NumCopies': 10\n * })\n */\n jsPDFAPI.viewerPreferences = function(options, doReset) {\n options = options || {};\n doReset = doReset || false;\n\n var configuration;\n var configurationTemplate = {\n HideToolbar: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n HideMenubar: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n HideWindowUI: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n FitWindow: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n CenterWindow: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n DisplayDocTitle: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.4\n },\n NonFullScreenPageMode: {\n defaultValue: \"UseNone\",\n value: \"UseNone\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"UseNone\", \"UseOutlines\", \"UseThumbs\", \"UseOC\"],\n pdfVersion: 1.3\n },\n Direction: {\n defaultValue: \"L2R\",\n value: \"L2R\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"L2R\", \"R2L\"],\n pdfVersion: 1.3\n },\n ViewArea: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n ViewClip: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintArea: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintClip: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintScaling: {\n defaultValue: \"AppDefault\",\n value: \"AppDefault\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"AppDefault\", \"None\"],\n pdfVersion: 1.6\n },\n Duplex: {\n defaultValue: \"\",\n value: \"none\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\n \"Simplex\",\n \"DuplexFlipShortEdge\",\n \"DuplexFlipLongEdge\",\n \"none\"\n ],\n pdfVersion: 1.7\n },\n PickTrayByPDFSize: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.7\n },\n PrintPageRange: {\n defaultValue: \"\",\n value: \"\",\n type: \"array\",\n explicitSet: false,\n valueSet: null,\n pdfVersion: 1.7\n },\n NumCopies: {\n defaultValue: 1,\n value: 1,\n type: \"integer\",\n explicitSet: false,\n valueSet: null,\n pdfVersion: 1.7\n }\n };\n\n var configurationKeys = Object.keys(configurationTemplate);\n\n var rangeArray = [];\n var i = 0;\n var j = 0;\n var k = 0;\n var isValid;\n\n var method;\n var value;\n\n function arrayContainsElement(array, element) {\n var iterator;\n var result = false;\n\n for (iterator = 0; iterator < array.length; iterator += 1) {\n if (array[iterator] === element) {\n result = true;\n }\n }\n return result;\n }\n\n if (this.internal.viewerpreferences === undefined) {\n this.internal.viewerpreferences = {};\n this.internal.viewerpreferences.configuration = JSON.parse(\n JSON.stringify(configurationTemplate)\n );\n this.internal.viewerpreferences.isSubscribed = false;\n }\n configuration = this.internal.viewerpreferences.configuration;\n\n if (options === \"reset\" || doReset === true) {\n var len = configurationKeys.length;\n\n for (k = 0; k < len; k += 1) {\n configuration[configurationKeys[k]].value =\n configuration[configurationKeys[k]].defaultValue;\n configuration[configurationKeys[k]].explicitSet = false;\n }\n }\n\n if (typeof options === \"object\") {\n for (method in options) {\n value = options[method];\n if (\n arrayContainsElement(configurationKeys, method) &&\n value !== undefined\n ) {\n if (\n configuration[method].type === \"boolean\" &&\n typeof value === \"boolean\"\n ) {\n configuration[method].value = value;\n } else if (\n configuration[method].type === \"name\" &&\n arrayContainsElement(configuration[method].valueSet, value)\n ) {\n configuration[method].value = value;\n } else if (\n configuration[method].type === \"integer\" &&\n Number.isInteger(value)\n ) {\n configuration[method].value = value;\n } else if (configuration[method].type === \"array\") {\n for (i = 0; i < value.length; i += 1) {\n isValid = true;\n if (value[i].length === 1 && typeof value[i][0] === \"number\") {\n rangeArray.push(String(value[i] - 1));\n } else if (value[i].length > 1) {\n for (j = 0; j < value[i].length; j += 1) {\n if (typeof value[i][j] !== \"number\") {\n isValid = false;\n }\n }\n if (isValid === true) {\n rangeArray.push([value[i][0] - 1, value[i][1] - 1].join(\" \"));\n }\n }\n }\n configuration[method].value = \"[\" + rangeArray.join(\" \") + \"]\";\n } else {\n configuration[method].value = configuration[method].defaultValue;\n }\n\n configuration[method].explicitSet = true;\n }\n }\n }\n\n if (this.internal.viewerpreferences.isSubscribed === false) {\n this.internal.events.subscribe(\"putCatalog\", function() {\n var pdfDict = [];\n var vPref;\n for (vPref in configuration) {\n if (configuration[vPref].explicitSet === true) {\n if (configuration[vPref].type === \"name\") {\n pdfDict.push(\"/\" + vPref + \" /\" + configuration[vPref].value);\n } else {\n pdfDict.push(\"/\" + vPref + \" \" + configuration[vPref].value);\n }\n }\n }\n if (pdfDict.length !== 0) {\n this.internal.write(\n \"/ViewerPreferences\\n<<\\n\" + pdfDict.join(\"\\n\") + \"\\n>>\"\n );\n }\n });\n this.internal.viewerpreferences.isSubscribed = true;\n }\n\n this.internal.viewerpreferences.configuration = configuration;\n return this;\n };\n})(jsPDF.API);\n","/** ====================================================================\n * @license\n * jsPDF XMP metadata plugin\n * Copyright (c) 2016 Jussi Utunen, u-jussi@suomi24.fi\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name xmp_metadata\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var postPutResources = function() {\n var xmpmeta_beginning = '';\n var rdf_beginning =\n '';\n var rdf_ending = \"\";\n var xmpmeta_ending = \"\";\n var utf8_xmpmeta_beginning = unescape(\n encodeURIComponent(xmpmeta_beginning)\n );\n var utf8_rdf_beginning = unescape(encodeURIComponent(rdf_beginning));\n var utf8_metadata = unescape(\n encodeURIComponent(this.internal.__metadata__.metadata)\n );\n var utf8_rdf_ending = unescape(encodeURIComponent(rdf_ending));\n var utf8_xmpmeta_ending = unescape(encodeURIComponent(xmpmeta_ending));\n\n var total_len =\n utf8_rdf_beginning.length +\n utf8_metadata.length +\n utf8_rdf_ending.length +\n utf8_xmpmeta_beginning.length +\n utf8_xmpmeta_ending.length;\n\n this.internal.__metadata__.metadata_object_number = this.internal.newObject();\n this.internal.write(\n \"<< /Type /Metadata /Subtype /XML /Length \" + total_len + \" >>\"\n );\n this.internal.write(\"stream\");\n this.internal.write(\n utf8_xmpmeta_beginning +\n utf8_rdf_beginning +\n utf8_metadata +\n utf8_rdf_ending +\n utf8_xmpmeta_ending\n );\n this.internal.write(\"endstream\");\n this.internal.write(\"endobj\");\n };\n\n var putCatalog = function() {\n if (this.internal.__metadata__.metadata_object_number) {\n this.internal.write(\n \"/Metadata \" +\n this.internal.__metadata__.metadata_object_number +\n \" 0 R\"\n );\n }\n };\n\n /**\n * Adds XMP formatted metadata to PDF\n *\n * @name addMetadata\n * @function\n * @param {String} metadata The actual metadata to be added. The metadata shall be stored as XMP simple value. Note that if the metadata string contains XML markup characters \"<\", \">\" or \"&\", those characters should be written using XML entities.\n * @param {String} namespaceuri Sets the namespace URI for the metadata. Last character should be slash or hash.\n * @returns {jsPDF} jsPDF-instance\n */\n jsPDFAPI.addMetadata = function(metadata, namespaceuri) {\n if (typeof this.internal.__metadata__ === \"undefined\") {\n this.internal.__metadata__ = {\n metadata: metadata,\n namespaceuri: namespaceuri || \"http://jspdf.default.namespaceuri/\"\n };\n this.internal.events.subscribe(\"putCatalog\", putCatalog);\n\n this.internal.events.subscribe(\"postPutResources\", postPutResources);\n }\n return this;\n };\n})(jsPDF.API);\n","import { jsPDF } from \"../jspdf.js\";\nimport { toPDFName } from \"../libs/pdfname.js\";\n\n/**\n * @name utf8\n * @module\n */\n(function(jsPDF) {\n \"use strict\";\n var jsPDFAPI = jsPDF.API;\n\n /***************************************************************************************************/\n /* function : pdfEscape16 */\n /* comment : The character id of a 2-byte string is converted to a hexadecimal number by obtaining */\n /* the corresponding glyph id and width, and then adding padding to the string. */\n /***************************************************************************************************/\n var pdfEscape16 = (jsPDFAPI.pdfEscape16 = function(text, font) {\n var widths = font.metadata.Unicode.widths;\n var padz = [\"\", \"0\", \"00\", \"000\", \"0000\"];\n var ar = [\"\"];\n for (var i = 0, l = text.length, t; i < l; ++i) {\n t = font.metadata.characterToGlyph(text.charCodeAt(i));\n font.metadata.glyIdsUsed.push(t);\n font.metadata.toUnicode[t] = text.charCodeAt(i);\n if (widths.indexOf(t) == -1) {\n widths.push(t);\n widths.push([parseInt(font.metadata.widthOfGlyph(t), 10)]);\n }\n if (t == \"0\") {\n //Spaces are not allowed in cmap.\n return ar.join(\"\");\n } else {\n t = t.toString(16);\n ar.push(padz[4 - t.length], t);\n }\n }\n return ar.join(\"\");\n });\n\n var toUnicodeCmap = function(map) {\n var code, codes, range, unicode, unicodeMap, _i, _len;\n unicodeMap =\n \"/CIDInit /ProcSet findresource begin\\n12 dict begin\\nbegincmap\\n/CIDSystemInfo <<\\n /Registry (Adobe)\\n /Ordering (UCS)\\n /Supplement 0\\n>> def\\n/CMapName /Adobe-Identity-UCS def\\n/CMapType 2 def\\n1 begincodespacerange\\n<0000>\\nendcodespacerange\";\n codes = Object.keys(map).sort(function(a, b) {\n return a - b;\n });\n\n range = [];\n for (_i = 0, _len = codes.length; _i < _len; _i++) {\n code = codes[_i];\n if (range.length >= 100) {\n unicodeMap +=\n \"\\n\" +\n range.length +\n \" beginbfchar\\n\" +\n range.join(\"\\n\") +\n \"\\nendbfchar\";\n range = [];\n }\n\n if (\n map[code] !== undefined &&\n map[code] !== null &&\n typeof map[code].toString === \"function\"\n ) {\n unicode = (\"0000\" + map[code].toString(16)).slice(-4);\n code = (\"0000\" + (+code).toString(16)).slice(-4);\n range.push(\"<\" + code + \"><\" + unicode + \">\");\n }\n }\n\n if (range.length) {\n unicodeMap +=\n \"\\n\" +\n range.length +\n \" beginbfchar\\n\" +\n range.join(\"\\n\") +\n \"\\nendbfchar\\n\";\n }\n unicodeMap +=\n \"endcmap\\nCMapName currentdict /CMap defineresource pop\\nend\\nend\";\n return unicodeMap;\n };\n\n var identityHFunction = function(options) {\n var font = options.font;\n var out = options.out;\n var newObject = options.newObject;\n var putStream = options.putStream;\n\n if (\n font.metadata instanceof jsPDF.API.TTFFont &&\n font.encoding === \"Identity-H\"\n ) {\n //Tag with Identity-H\n var widths = font.metadata.Unicode.widths;\n var data = font.metadata.subset.encode(font.metadata.glyIdsUsed, 1);\n var pdfOutput = data;\n var pdfOutput2 = \"\";\n for (var i = 0; i < pdfOutput.length; i++) {\n pdfOutput2 += String.fromCharCode(pdfOutput[i]);\n }\n var fontTable = newObject();\n putStream({ data: pdfOutput2, addLength1: true, objectId: fontTable });\n out(\"endobj\");\n\n var cmap = newObject();\n var cmapData = toUnicodeCmap(font.metadata.toUnicode);\n putStream({ data: cmapData, addLength1: true, objectId: cmap });\n out(\"endobj\");\n\n var fontDescriptor = newObject();\n out(\"<<\");\n out(\"/Type /FontDescriptor\");\n out(\"/FontName /\" + toPDFName(font.fontName));\n out(\"/FontFile2 \" + fontTable + \" 0 R\");\n out(\"/FontBBox \" + jsPDF.API.PDFObject.convert(font.metadata.bbox));\n out(\"/Flags \" + font.metadata.flags);\n out(\"/StemV \" + font.metadata.stemV);\n out(\"/ItalicAngle \" + font.metadata.italicAngle);\n out(\"/Ascent \" + font.metadata.ascender);\n out(\"/Descent \" + font.metadata.decender);\n out(\"/CapHeight \" + font.metadata.capHeight);\n out(\">>\");\n out(\"endobj\");\n\n var DescendantFont = newObject();\n out(\"<<\");\n out(\"/Type /Font\");\n out(\"/BaseFont /\" + toPDFName(font.fontName));\n out(\"/FontDescriptor \" + fontDescriptor + \" 0 R\");\n out(\"/W \" + jsPDF.API.PDFObject.convert(widths));\n out(\"/CIDToGIDMap /Identity\");\n out(\"/DW 1000\");\n out(\"/Subtype /CIDFontType2\");\n out(\"/CIDSystemInfo\");\n out(\"<<\");\n out(\"/Supplement 0\");\n out(\"/Registry (Adobe)\");\n out(\"/Ordering (\" + font.encoding + \")\");\n out(\">>\");\n out(\">>\");\n out(\"endobj\");\n\n font.objectNumber = newObject();\n out(\"<<\");\n out(\"/Type /Font\");\n out(\"/Subtype /Type0\");\n out(\"/ToUnicode \" + cmap + \" 0 R\");\n out(\"/BaseFont /\" + toPDFName(font.fontName));\n out(\"/Encoding /\" + font.encoding);\n out(\"/DescendantFonts [\" + DescendantFont + \" 0 R]\");\n out(\">>\");\n out(\"endobj\");\n\n font.isAlreadyPutted = true;\n }\n };\n\n jsPDFAPI.events.push([\n \"putFont\",\n function(args) {\n identityHFunction(args);\n }\n ]);\n\n var winAnsiEncodingFunction = function(options) {\n var font = options.font;\n var out = options.out;\n var newObject = options.newObject;\n var putStream = options.putStream;\n\n if (\n font.metadata instanceof jsPDF.API.TTFFont &&\n font.encoding === \"WinAnsiEncoding\"\n ) {\n //Tag with WinAnsi encoding\n var data = font.metadata.rawData;\n var pdfOutput = data;\n var pdfOutput2 = \"\";\n for (var i = 0; i < pdfOutput.length; i++) {\n pdfOutput2 += String.fromCharCode(pdfOutput[i]);\n }\n var fontTable = newObject();\n putStream({ data: pdfOutput2, addLength1: true, objectId: fontTable });\n out(\"endobj\");\n\n var cmap = newObject();\n var cmapData = toUnicodeCmap(font.metadata.toUnicode);\n putStream({ data: cmapData, addLength1: true, objectId: cmap });\n out(\"endobj\");\n\n var fontDescriptor = newObject();\n out(\"<<\");\n out(\"/Descent \" + font.metadata.decender);\n out(\"/CapHeight \" + font.metadata.capHeight);\n out(\"/StemV \" + font.metadata.stemV);\n out(\"/Type /FontDescriptor\");\n out(\"/FontFile2 \" + fontTable + \" 0 R\");\n out(\"/Flags 96\");\n out(\"/FontBBox \" + jsPDF.API.PDFObject.convert(font.metadata.bbox));\n out(\"/FontName /\" + toPDFName(font.fontName));\n out(\"/ItalicAngle \" + font.metadata.italicAngle);\n out(\"/Ascent \" + font.metadata.ascender);\n out(\">>\");\n out(\"endobj\");\n font.objectNumber = newObject();\n for (var j = 0; j < font.metadata.hmtx.widths.length; j++) {\n font.metadata.hmtx.widths[j] = parseInt(\n font.metadata.hmtx.widths[j] * (1000 / font.metadata.head.unitsPerEm)\n ); //Change the width of Em units to Point units.\n }\n out(\n \"<>\"\n );\n out(\"endobj\");\n font.isAlreadyPutted = true;\n }\n };\n\n jsPDFAPI.events.push([\n \"putFont\",\n function(args) {\n winAnsiEncodingFunction(args);\n }\n ]);\n\n var utf8TextFunction = function(args) {\n var text = args.text || \"\";\n var x = args.x;\n var y = args.y;\n var options = args.options || {};\n var mutex = args.mutex || {};\n\n var pdfEscape = mutex.pdfEscape;\n var activeFontKey = mutex.activeFontKey;\n var fonts = mutex.fonts;\n var key = activeFontKey;\n\n var str = \"\",\n s = 0,\n cmapConfirm;\n var strText = \"\";\n var encoding = fonts[key].encoding;\n\n if (fonts[key].encoding !== \"Identity-H\") {\n return {\n text: text,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n }\n strText = text;\n\n key = activeFontKey;\n if (Array.isArray(text)) {\n strText = text[0];\n }\n for (s = 0; s < strText.length; s += 1) {\n if (fonts[key].metadata.hasOwnProperty(\"cmap\")) {\n cmapConfirm =\n fonts[key].metadata.cmap.unicode.codeMap[strText[s].charCodeAt(0)];\n /*\n if (Object.prototype.toString.call(text) === '[object Array]') {\n var i = 0;\n // for (i = 0; i < text.length; i += 1) {\n if (Object.prototype.toString.call(text[s]) === '[object Array]') {\n cmapConfirm = fonts[key].metadata.cmap.unicode.codeMap[strText[s][0].charCodeAt(0)]; //Make sure the cmap has the corresponding glyph id\n } else {\n\n }\n //}\n\n } else {\n cmapConfirm = fonts[key].metadata.cmap.unicode.codeMap[strText[s].charCodeAt(0)]; //Make sure the cmap has the corresponding glyph id\n }*/\n }\n if (!cmapConfirm) {\n if (\n strText[s].charCodeAt(0) < 256 &&\n fonts[key].metadata.hasOwnProperty(\"Unicode\")\n ) {\n str += strText[s];\n } else {\n str += \"\";\n }\n } else {\n str += strText[s];\n }\n }\n var result = \"\";\n if (parseInt(key.slice(1)) < 14 || encoding === \"WinAnsiEncoding\") {\n //For the default 13 font\n result = pdfEscape(str, key)\n .split(\"\")\n .map(function(cv) {\n return cv.charCodeAt(0).toString(16);\n })\n .join(\"\");\n } else if (encoding === \"Identity-H\") {\n result = pdfEscape16(str, fonts[key]);\n }\n mutex.isHex = true;\n\n return {\n text: result,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n };\n\n var utf8EscapeFunction = function(parms) {\n var text = parms.text || \"\",\n x = parms.x,\n y = parms.y,\n options = parms.options,\n mutex = parms.mutex;\n var tmpText = [];\n var args = {\n text: text,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n\n if (Array.isArray(text)) {\n var i = 0;\n for (i = 0; i < text.length; i += 1) {\n if (Array.isArray(text[i])) {\n if (text[i].length === 3) {\n tmpText.push([\n utf8TextFunction(Object.assign({}, args, { text: text[i][0] }))\n .text,\n text[i][1],\n text[i][2]\n ]);\n } else {\n tmpText.push(\n utf8TextFunction(Object.assign({}, args, { text: text[i] })).text\n );\n }\n } else {\n tmpText.push(\n utf8TextFunction(Object.assign({}, args, { text: text[i] })).text\n );\n }\n }\n parms.text = tmpText;\n } else {\n parms.text = utf8TextFunction(\n Object.assign({}, args, { text: text })\n ).text;\n }\n };\n\n jsPDFAPI.events.push([\"postProcessText\", utf8EscapeFunction]);\n})(jsPDF);\n","/**\n * @license\n * jsPDF virtual FileSystem functionality\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * Use the vFS to handle files\n *\n * @name vFS\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var _initializeVFS = function() {\n if (typeof this.internal.vFS === \"undefined\") {\n this.internal.vFS = {};\n }\n return true;\n };\n\n /**\n * Check if the file exists in the vFS\n *\n * @name existsFileInVFS\n * @function\n * @param {string} Possible filename in the vFS.\n * @returns {boolean}\n * @example\n * doc.existsFileInVFS(\"someFile.txt\");\n */\n jsPDFAPI.existsFileInVFS = function(filename) {\n _initializeVFS.call(this);\n return typeof this.internal.vFS[filename] !== \"undefined\";\n };\n\n /**\n * Add a file to the vFS\n *\n * @name addFileToVFS\n * @function\n * @param {string} filename The name of the file which should be added.\n * @param {string} filecontent The content of the file.\n * @returns {jsPDF}\n * @example\n * doc.addFileToVFS(\"someFile.txt\", \"BADFACE1\");\n */\n jsPDFAPI.addFileToVFS = function(filename, filecontent) {\n _initializeVFS.call(this);\n this.internal.vFS[filename] = filecontent;\n return this;\n };\n\n /**\n * Get the file from the vFS\n *\n * @name getFileFromVFS\n * @function\n * @param {string} The name of the file which gets requested.\n * @returns {string}\n * @example\n * doc.getFileFromVFS(\"someFile.txt\");\n */\n jsPDFAPI.getFileFromVFS = function(filename) {\n _initializeVFS.call(this);\n\n if (typeof this.internal.vFS[filename] !== \"undefined\") {\n return this.internal.vFS[filename];\n }\n return null;\n };\n})(jsPDF.API);\n","/**\n * @license\n * Unicode Bidi Engine based on the work of Alex Shensis (@asthensis)\n * MIT License\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n(function(jsPDF) {\n \"use strict\";\n /**\n * Table of Unicode types.\n *\n * Generated by:\n *\n * var bidi = require(\"./bidi/index\");\n * var bidi_accumulate = bidi.slice(0, 256).concat(bidi.slice(0x0500, 0x0500 + 256 * 3)).\n * concat(bidi.slice(0x2000, 0x2000 + 256)).concat(bidi.slice(0xFB00, 0xFB00 + 256)).\n * concat(bidi.slice(0xFE00, 0xFE00 + 2 * 256));\n *\n * for( var i = 0; i < bidi_accumulate.length; i++) {\n * \tif(bidi_accumulate[i] === undefined || bidi_accumulate[i] === 'ON')\n * \t\tbidi_accumulate[i] = 'N'; //mark as neutral to conserve space and substitute undefined\n * }\n * var bidiAccumulateStr = 'return [ \"' + bidi_accumulate.toString().replace(/,/g, '\", \"') + '\" ];';\n * require(\"fs\").writeFile('unicode-types.js', bidiAccumulateStr);\n *\n * Based on:\n * https://github.com/mathiasbynens/unicode-8.0.0\n */\n var bidiUnicodeTypes = [\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"S\",\n \"B\",\n \"S\",\n \"WS\",\n \"B\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"B\",\n \"B\",\n \"B\",\n \"S\",\n \"WS\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ES\",\n \"CS\",\n \"ES\",\n \"CS\",\n \"CS\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"B\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"CS\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"BN\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"EN\",\n \"EN\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"EN\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"N\",\n \"N\",\n \"AL\",\n \"ET\",\n \"ET\",\n \"AL\",\n \"CS\",\n \"AL\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"ET\",\n \"AN\",\n \"AN\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AN\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"L\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"B\",\n \"LRE\",\n \"RLE\",\n \"PDF\",\n \"LRO\",\n \"RLO\",\n \"CS\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"N\",\n \"LRI\",\n \"RLI\",\n \"FSI\",\n \"PDI\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"EN\",\n \"L\",\n \"N\",\n \"N\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"NSM\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"ES\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"N\",\n \"N\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"N\",\n \"BN\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ES\",\n \"CS\",\n \"ES\",\n \"CS\",\n \"CS\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\"\n ];\n\n /**\n * Unicode Bidi algorithm compliant Bidi engine.\n * For reference see http://unicode.org/reports/tr9/\n */\n\n /**\n * constructor ( options )\n *\n * Initializes Bidi engine\n *\n * @param {Object} See 'setOptions' below for detailed description.\n * options are cashed between invocation of 'doBidiReorder' method\n *\n * sample usage pattern of BidiEngine:\n * var opt = {\n * \tisInputVisual: true,\n * \tisInputRtl: false,\n * \tisOutputVisual: false,\n * \tisOutputRtl: false,\n * \tisSymmetricSwapping: true\n * }\n * var sourceToTarget = [], levels = [];\n * var bidiEng = Globalize.bidiEngine(opt);\n * var src = \"text string to be reordered\";\n * var ret = bidiEng.doBidiReorder(src, sourceToTarget, levels);\n */\n\n jsPDF.__bidiEngine__ = jsPDF.prototype.__bidiEngine__ = function(options) {\n var _UNICODE_TYPES = _bidiUnicodeTypes;\n\n var _STATE_TABLE_LTR = [\n [0, 3, 0, 1, 0, 0, 0],\n [0, 3, 0, 1, 2, 2, 0],\n [0, 3, 0, 0x11, 2, 0, 1],\n [0, 3, 5, 5, 4, 1, 0],\n [0, 3, 0x15, 0x15, 4, 0, 1],\n [0, 3, 5, 5, 4, 2, 0]\n ];\n\n var _STATE_TABLE_RTL = [\n [2, 0, 1, 1, 0, 1, 0],\n [2, 0, 1, 1, 0, 2, 0],\n [2, 0, 2, 1, 3, 2, 0],\n [2, 0, 2, 0x21, 3, 1, 1]\n ];\n\n var _TYPE_NAMES_MAP = { L: 0, R: 1, EN: 2, AN: 3, N: 4, B: 5, S: 6 };\n\n var _UNICODE_RANGES_MAP = {\n 0: 0,\n 5: 1,\n 6: 2,\n 7: 3,\n 0x20: 4,\n 0xfb: 5,\n 0xfe: 6,\n 0xff: 7\n };\n\n var _SWAP_TABLE = [\n \"\\u0028\",\n \"\\u0029\",\n \"\\u0028\",\n \"\\u003C\",\n \"\\u003E\",\n \"\\u003C\",\n \"\\u005B\",\n \"\\u005D\",\n \"\\u005B\",\n \"\\u007B\",\n \"\\u007D\",\n \"\\u007B\",\n \"\\u00AB\",\n \"\\u00BB\",\n \"\\u00AB\",\n \"\\u2039\",\n \"\\u203A\",\n \"\\u2039\",\n \"\\u2045\",\n \"\\u2046\",\n \"\\u2045\",\n \"\\u207D\",\n \"\\u207E\",\n \"\\u207D\",\n \"\\u208D\",\n \"\\u208E\",\n \"\\u208D\",\n \"\\u2264\",\n \"\\u2265\",\n \"\\u2264\",\n \"\\u2329\",\n \"\\u232A\",\n \"\\u2329\",\n \"\\uFE59\",\n \"\\uFE5A\",\n \"\\uFE59\",\n \"\\uFE5B\",\n \"\\uFE5C\",\n \"\\uFE5B\",\n \"\\uFE5D\",\n \"\\uFE5E\",\n \"\\uFE5D\",\n \"\\uFE64\",\n \"\\uFE65\",\n \"\\uFE64\"\n ];\n\n var _LTR_RANGES_REG_EXPR = new RegExp(\n /^([1-4|9]|1[0-9]|2[0-9]|3[0168]|4[04589]|5[012]|7[78]|159|16[0-9]|17[0-2]|21[569]|22[03489]|250)$/\n );\n\n var _lastArabic = false,\n _hasUbatAl,\n _hasUbatB,\n _hasUbatS,\n DIR_LTR = 0,\n DIR_RTL = 1,\n _isInVisual,\n _isInRtl,\n _isOutVisual,\n _isOutRtl,\n _isSymmetricSwapping,\n _dir = DIR_LTR;\n\n this.__bidiEngine__ = {};\n\n var _init = function(text, sourceToTargetMap) {\n if (sourceToTargetMap) {\n for (var i = 0; i < text.length; i++) {\n sourceToTargetMap[i] = i;\n }\n }\n if (_isInRtl === undefined) {\n _isInRtl = _isContextualDirRtl(text);\n }\n if (_isOutRtl === undefined) {\n _isOutRtl = _isContextualDirRtl(text);\n }\n };\n\n // for reference see 3.2 in http://unicode.org/reports/tr9/\n //\n var _getCharType = function(ch) {\n var charCode = ch.charCodeAt(),\n range = charCode >> 8,\n rangeIdx = _UNICODE_RANGES_MAP[range];\n\n if (rangeIdx !== undefined) {\n return _UNICODE_TYPES[rangeIdx * 256 + (charCode & 0xff)];\n } else if (range === 0xfc || range === 0xfd) {\n return \"AL\";\n } else if (_LTR_RANGES_REG_EXPR.test(range)) {\n //unlikely case\n return \"L\";\n } else if (range === 8) {\n // even less likely\n return \"R\";\n }\n return \"N\"; //undefined type, mark as neutral\n };\n\n var _isContextualDirRtl = function(text) {\n for (var i = 0, charType; i < text.length; i++) {\n charType = _getCharType(text.charAt(i));\n if (charType === \"L\") {\n return false;\n } else if (charType === \"R\") {\n return true;\n }\n }\n return false;\n };\n\n // for reference see 3.3.4 & 3.3.5 in http://unicode.org/reports/tr9/\n //\n var _resolveCharType = function(chars, types, resolvedTypes, index) {\n var cType = types[index],\n wType,\n nType,\n i,\n len;\n switch (cType) {\n case \"L\":\n case \"R\":\n _lastArabic = false;\n break;\n case \"N\":\n case \"AN\":\n break;\n\n case \"EN\":\n if (_lastArabic) {\n cType = \"AN\";\n }\n break;\n\n case \"AL\":\n _lastArabic = true;\n _hasUbatAl = true;\n cType = \"R\";\n break;\n\n case \"WS\":\n cType = \"N\";\n break;\n\n case \"CS\":\n if (\n index < 1 ||\n index + 1 >= types.length ||\n ((wType = resolvedTypes[index - 1]) !== \"EN\" && wType !== \"AN\") ||\n ((nType = types[index + 1]) !== \"EN\" && nType !== \"AN\")\n ) {\n cType = \"N\";\n } else if (_lastArabic) {\n nType = \"AN\";\n }\n cType = nType === wType ? nType : \"N\";\n break;\n\n case \"ES\":\n wType = index > 0 ? resolvedTypes[index - 1] : \"B\";\n cType =\n wType === \"EN\" &&\n index + 1 < types.length &&\n types[index + 1] === \"EN\"\n ? \"EN\"\n : \"N\";\n break;\n\n case \"ET\":\n if (index > 0 && resolvedTypes[index - 1] === \"EN\") {\n cType = \"EN\";\n break;\n } else if (_lastArabic) {\n cType = \"N\";\n break;\n }\n i = index + 1;\n len = types.length;\n while (i < len && types[i] === \"ET\") {\n i++;\n }\n if (i < len && types[i] === \"EN\") {\n cType = \"EN\";\n } else {\n cType = \"N\";\n }\n break;\n\n case \"NSM\":\n if (_isInVisual && !_isInRtl) {\n //V->L\n len = types.length;\n i = index + 1;\n while (i < len && types[i] === \"NSM\") {\n i++;\n }\n if (i < len) {\n var c = chars[index];\n var rtlCandidate = (c >= 0x0591 && c <= 0x08ff) || c === 0xfb1e;\n wType = types[i];\n if (rtlCandidate && (wType === \"R\" || wType === \"AL\")) {\n cType = \"R\";\n break;\n }\n }\n }\n if (index < 1 || (wType = types[index - 1]) === \"B\") {\n cType = \"N\";\n } else {\n cType = resolvedTypes[index - 1];\n }\n break;\n\n case \"B\":\n _lastArabic = false;\n _hasUbatB = true;\n cType = _dir;\n break;\n\n case \"S\":\n _hasUbatS = true;\n cType = \"N\";\n break;\n\n case \"LRE\":\n case \"RLE\":\n case \"LRO\":\n case \"RLO\":\n case \"PDF\":\n _lastArabic = false;\n break;\n case \"BN\":\n cType = \"N\";\n break;\n }\n return cType;\n };\n\n var _handleUbatS = function(types, levels, length) {\n for (var i = 0; i < length; i++) {\n if (types[i] === \"S\") {\n levels[i] = _dir;\n for (var j = i - 1; j >= 0; j--) {\n if (types[j] === \"WS\") {\n levels[j] = _dir;\n } else {\n break;\n }\n }\n }\n }\n };\n\n var _invertString = function(text, sourceToTargetMap, levels) {\n var charArray = text.split(\"\");\n if (levels) {\n _computeLevels(charArray, levels, { hiLevel: _dir });\n }\n charArray.reverse();\n sourceToTargetMap && sourceToTargetMap.reverse();\n return charArray.join(\"\");\n };\n\n // For reference see 3.3 in http://unicode.org/reports/tr9/\n //\n var _computeLevels = function(chars, levels, params) {\n var action,\n condition,\n i,\n index,\n newLevel,\n prevState,\n condPos = -1,\n len = chars.length,\n newState = 0,\n resolvedTypes = [],\n stateTable = _dir ? _STATE_TABLE_RTL : _STATE_TABLE_LTR,\n types = [];\n\n _lastArabic = false;\n _hasUbatAl = false;\n _hasUbatB = false;\n _hasUbatS = false;\n for (i = 0; i < len; i++) {\n types[i] = _getCharType(chars[i]);\n }\n for (index = 0; index < len; index++) {\n prevState = newState;\n resolvedTypes[index] = _resolveCharType(\n chars,\n types,\n resolvedTypes,\n index\n );\n newState = stateTable[prevState][_TYPE_NAMES_MAP[resolvedTypes[index]]];\n action = newState & 0xf0;\n newState &= 0x0f;\n levels[index] = newLevel = stateTable[newState][5];\n if (action > 0) {\n if (action === 0x10) {\n for (i = condPos; i < index; i++) {\n levels[i] = 1;\n }\n condPos = -1;\n } else {\n condPos = -1;\n }\n }\n condition = stateTable[newState][6];\n if (condition) {\n if (condPos === -1) {\n condPos = index;\n }\n } else {\n if (condPos > -1) {\n for (i = condPos; i < index; i++) {\n levels[i] = newLevel;\n }\n condPos = -1;\n }\n }\n if (types[index] === \"B\") {\n levels[index] = 0;\n }\n params.hiLevel |= newLevel;\n }\n if (_hasUbatS) {\n _handleUbatS(types, levels, len);\n }\n };\n\n // for reference see 3.4 in http://unicode.org/reports/tr9/\n //\n var _invertByLevel = function(\n level,\n charArray,\n sourceToTargetMap,\n levels,\n params\n ) {\n if (params.hiLevel < level) {\n return;\n }\n if (level === 1 && _dir === DIR_RTL && !_hasUbatB) {\n charArray.reverse();\n sourceToTargetMap && sourceToTargetMap.reverse();\n return;\n }\n var ch,\n high,\n end,\n low,\n len = charArray.length,\n start = 0;\n\n while (start < len) {\n if (levels[start] >= level) {\n end = start + 1;\n while (end < len && levels[end] >= level) {\n end++;\n }\n for (low = start, high = end - 1; low < high; low++, high--) {\n ch = charArray[low];\n charArray[low] = charArray[high];\n charArray[high] = ch;\n if (sourceToTargetMap) {\n ch = sourceToTargetMap[low];\n sourceToTargetMap[low] = sourceToTargetMap[high];\n sourceToTargetMap[high] = ch;\n }\n }\n start = end;\n }\n start++;\n }\n };\n\n // for reference see 7 & BD16 in http://unicode.org/reports/tr9/\n //\n var _symmetricSwap = function(charArray, levels, params) {\n if (params.hiLevel !== 0 && _isSymmetricSwapping) {\n for (var i = 0, index; i < charArray.length; i++) {\n if (levels[i] === 1) {\n index = _SWAP_TABLE.indexOf(charArray[i]);\n if (index >= 0) {\n charArray[i] = _SWAP_TABLE[index + 1];\n }\n }\n }\n }\n };\n\n var _reorder = function(text, sourceToTargetMap, levels) {\n var charArray = text.split(\"\"),\n params = { hiLevel: _dir };\n\n if (!levels) {\n levels = [];\n }\n _computeLevels(charArray, levels, params);\n _symmetricSwap(charArray, levels, params);\n _invertByLevel(DIR_RTL + 1, charArray, sourceToTargetMap, levels, params);\n _invertByLevel(DIR_RTL, charArray, sourceToTargetMap, levels, params);\n return charArray.join(\"\");\n };\n\n // doBidiReorder( text, sourceToTargetMap, levels )\n // Performs Bidi reordering by implementing Unicode Bidi algorithm.\n // Returns reordered string\n // @text [String]:\n // - input string to be reordered, this is input parameter\n // $sourceToTargetMap [Array] (optional)\n // - resultant mapping between input and output strings, this is output parameter\n // $levels [Array] (optional)\n // - array of calculated Bidi levels, , this is output parameter\n this.__bidiEngine__.doBidiReorder = function(\n text,\n sourceToTargetMap,\n levels\n ) {\n _init(text, sourceToTargetMap);\n if (!_isInVisual && _isOutVisual && !_isOutRtl) {\n // LLTR->VLTR, LRTL->VLTR\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else if (_isInVisual && _isOutVisual && _isInRtl ^ _isOutRtl) {\n // VRTL->VLTR, VLTR->VRTL\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _invertString(text, sourceToTargetMap, levels);\n } else if (!_isInVisual && _isOutVisual && _isOutRtl) {\n // LLTR->VRTL, LRTL->VRTL\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n } else if (_isInVisual && !_isInRtl && !_isOutVisual && !_isOutRtl) {\n // VLTR->LLTR\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else if (_isInVisual && !_isOutVisual && _isInRtl ^ _isOutRtl) {\n // VLTR->LRTL, VRTL->LLTR\n text = _invertString(text, sourceToTargetMap);\n if (_isInRtl) {\n //LLTR -> VLTR\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else {\n //LRTL -> VRTL\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n }\n } else if (_isInVisual && _isInRtl && !_isOutVisual && _isOutRtl) {\n // VRTL->LRTL\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n } else if (!_isInVisual && !_isOutVisual && _isInRtl ^ _isOutRtl) {\n // LRTL->LLTR, LLTR->LRTL\n var isSymmetricSwappingOrig = _isSymmetricSwapping;\n if (_isInRtl) {\n //LRTL->LLTR\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n _dir = DIR_LTR;\n _isSymmetricSwapping = false;\n text = _reorder(text, sourceToTargetMap, levels);\n _isSymmetricSwapping = isSymmetricSwappingOrig;\n } else {\n //LLTR->LRTL\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n _dir = DIR_RTL;\n _isSymmetricSwapping = false;\n text = _reorder(text, sourceToTargetMap, levels);\n _isSymmetricSwapping = isSymmetricSwappingOrig;\n text = _invertString(text, sourceToTargetMap);\n }\n }\n return text;\n };\n\n /**\n * @name setOptions( options )\n * @function\n * Sets options for Bidi conversion\n * @param {Object}:\n * - isInputVisual {boolean} (defaults to false): allowed values: true(Visual mode), false(Logical mode)\n * - isInputRtl {boolean}: allowed values true(Right-to-left direction), false (Left-to-right directiion), undefined(Contectual direction, i.e.direction defined by first strong character of input string)\n * - isOutputVisual {boolean} (defaults to false): allowed values: true(Visual mode), false(Logical mode)\n * - isOutputRtl {boolean}: allowed values true(Right-to-left direction), false (Left-to-right directiion), undefined(Contectual direction, i.e.direction defined by first strong characterof input string)\n * - isSymmetricSwapping {boolean} (defaults to false): allowed values true(needs symmetric swapping), false (no need in symmetric swapping),\n */\n this.__bidiEngine__.setOptions = function(options) {\n if (options) {\n _isInVisual = options.isInputVisual;\n _isOutVisual = options.isOutputVisual;\n _isInRtl = options.isInputRtl;\n _isOutRtl = options.isOutputRtl;\n _isSymmetricSwapping = options.isSymmetricSwapping;\n }\n };\n\n this.__bidiEngine__.setOptions(options);\n return this.__bidiEngine__;\n };\n\n var _bidiUnicodeTypes = bidiUnicodeTypes;\n\n var bidiEngine = new jsPDF.__bidiEngine__({ isInputVisual: true });\n\n var bidiEngineFunction = function(args) {\n var text = args.text;\n var x = args.x;\n var y = args.y;\n var options = args.options || {};\n var mutex = args.mutex || {};\n var lang = options.lang;\n var tmpText = [];\n\n options.isInputVisual =\n typeof options.isInputVisual === \"boolean\" ? options.isInputVisual : true;\n bidiEngine.setOptions(options);\n\n if (Object.prototype.toString.call(text) === \"[object Array]\") {\n var i = 0;\n tmpText = [];\n for (i = 0; i < text.length; i += 1) {\n if (Object.prototype.toString.call(text[i]) === \"[object Array]\") {\n tmpText.push([\n bidiEngine.doBidiReorder(text[i][0]),\n text[i][1],\n text[i][2]\n ]);\n } else {\n tmpText.push([bidiEngine.doBidiReorder(text[i])]);\n }\n }\n args.text = tmpText;\n } else {\n args.text = bidiEngine.doBidiReorder(text);\n }\n bidiEngine.setOptions({ isInputVisual: true });\n };\n\n jsPDF.API.events.push([\"postProcessText\", bidiEngineFunction]);\n})(jsPDF);\n","/* eslint-disable no-control-regex */\n/************************************************\n * Title : custom font *\n * Start Data : 2017. 01. 22. *\n * Comment : TEXT API *\n ************************************************/\n\n/******************************\n * jsPDF extension API Design *\n * ****************************/\n\nimport { jsPDF } from \"../jspdf.js\";\n\njsPDF.API.TTFFont = (function() {\n /************************************************************************/\n /* function : open */\n /* comment : Decode the encoded ttf content and create a TTFFont object. */\n /************************************************************************/\n TTFFont.open = function(file) {\n return new TTFFont(file);\n };\n /***************************************************************/\n /* function : TTFFont gernerator */\n /* comment : Decode TTF contents are parsed, Data, */\n /* Subset object is created, and registerTTF function is called.*/\n /***************************************************************/\n function TTFFont(rawData) {\n var data;\n this.rawData = rawData;\n data = this.contents = new Data(rawData);\n this.contents.pos = 4;\n if (data.readString(4) === \"ttcf\") {\n throw new Error(\"TTCF not supported.\");\n } else {\n data.pos = 0;\n this.parse();\n this.subset = new Subset(this);\n this.registerTTF();\n }\n }\n /********************************************************/\n /* function : parse */\n /* comment : TTF Parses the file contents by each table.*/\n /********************************************************/\n TTFFont.prototype.parse = function() {\n this.directory = new Directory(this.contents);\n this.head = new HeadTable(this);\n this.name = new NameTable(this);\n this.cmap = new CmapTable(this);\n this.toUnicode = {};\n this.hhea = new HheaTable(this);\n this.maxp = new MaxpTable(this);\n this.hmtx = new HmtxTable(this);\n this.post = new PostTable(this);\n this.os2 = new OS2Table(this);\n this.loca = new LocaTable(this);\n this.glyf = new GlyfTable(this);\n this.ascender =\n (this.os2.exists && this.os2.ascender) || this.hhea.ascender;\n this.decender =\n (this.os2.exists && this.os2.decender) || this.hhea.decender;\n this.lineGap = (this.os2.exists && this.os2.lineGap) || this.hhea.lineGap;\n return (this.bbox = [\n this.head.xMin,\n this.head.yMin,\n this.head.xMax,\n this.head.yMax\n ]);\n };\n /***************************************************************/\n /* function : registerTTF */\n /* comment : Get the value to assign pdf font descriptors. */\n /***************************************************************/\n TTFFont.prototype.registerTTF = function() {\n var e, hi, low, raw, _ref;\n this.scaleFactor = 1000.0 / this.head.unitsPerEm;\n this.bbox = function() {\n var _i, _len, _ref, _results;\n _ref = this.bbox;\n _results = [];\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n e = _ref[_i];\n _results.push(Math.round(e * this.scaleFactor));\n }\n return _results;\n }.call(this);\n this.stemV = 0;\n if (this.post.exists) {\n raw = this.post.italic_angle;\n hi = raw >> 16;\n low = raw & 0xff;\n if ((hi & 0x8000) !== 0) {\n hi = -((hi ^ 0xffff) + 1);\n }\n this.italicAngle = +(\"\" + hi + \".\" + low);\n } else {\n this.italicAngle = 0;\n }\n this.ascender = Math.round(this.ascender * this.scaleFactor);\n this.decender = Math.round(this.decender * this.scaleFactor);\n this.lineGap = Math.round(this.lineGap * this.scaleFactor);\n this.capHeight = (this.os2.exists && this.os2.capHeight) || this.ascender;\n this.xHeight = (this.os2.exists && this.os2.xHeight) || 0;\n this.familyClass = ((this.os2.exists && this.os2.familyClass) || 0) >> 8;\n this.isSerif =\n (_ref = this.familyClass) === 1 ||\n _ref === 2 ||\n _ref === 3 ||\n _ref === 4 ||\n _ref === 5 ||\n _ref === 7;\n this.isScript = this.familyClass === 10;\n this.flags = 0;\n if (this.post.isFixedPitch) {\n this.flags |= 1 << 0;\n }\n if (this.isSerif) {\n this.flags |= 1 << 1;\n }\n if (this.isScript) {\n this.flags |= 1 << 3;\n }\n if (this.italicAngle !== 0) {\n this.flags |= 1 << 6;\n }\n this.flags |= 1 << 5;\n if (!this.cmap.unicode) {\n throw new Error(\"No unicode cmap for font\");\n }\n };\n TTFFont.prototype.characterToGlyph = function(character) {\n var _ref;\n return (\n ((_ref = this.cmap.unicode) != null ? _ref.codeMap[character] : void 0) ||\n 0\n );\n };\n TTFFont.prototype.widthOfGlyph = function(glyph) {\n var scale;\n scale = 1000.0 / this.head.unitsPerEm;\n return this.hmtx.forGlyph(glyph).advance * scale;\n };\n TTFFont.prototype.widthOfString = function(string, size, charSpace) {\n var charCode, i, scale, width, _ref;\n string = \"\" + string;\n width = 0;\n for (\n i = 0, _ref = string.length;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n charCode = string.charCodeAt(i);\n width +=\n this.widthOfGlyph(this.characterToGlyph(charCode)) +\n charSpace * (1000 / size) || 0;\n }\n scale = size / 1000;\n return width * scale;\n };\n TTFFont.prototype.lineHeight = function(size, includeGap) {\n var gap;\n if (includeGap == null) {\n includeGap = false;\n }\n gap = includeGap ? this.lineGap : 0;\n return ((this.ascender + gap - this.decender) / 1000) * size;\n };\n return TTFFont;\n})();\n\n/************************************************************************************************/\n/* function : Data */\n/* comment : The ttf data decoded and stored in an array is read and written to the Data object.*/\n/************************************************************************************************/\nvar Data = (function() {\n function Data(data) {\n this.data = data != null ? data : [];\n this.pos = 0;\n this.length = this.data.length;\n }\n Data.prototype.readByte = function() {\n return this.data[this.pos++];\n };\n Data.prototype.writeByte = function(byte) {\n return (this.data[this.pos++] = byte);\n };\n Data.prototype.readUInt32 = function() {\n var b1, b2, b3, b4;\n b1 = this.readByte() * 0x1000000;\n b2 = this.readByte() << 16;\n b3 = this.readByte() << 8;\n b4 = this.readByte();\n return b1 + b2 + b3 + b4;\n };\n Data.prototype.writeUInt32 = function(val) {\n this.writeByte((val >>> 24) & 0xff);\n this.writeByte((val >> 16) & 0xff);\n this.writeByte((val >> 8) & 0xff);\n return this.writeByte(val & 0xff);\n };\n Data.prototype.readInt32 = function() {\n var int;\n int = this.readUInt32();\n if (int >= 0x80000000) {\n return int - 0x100000000;\n } else {\n return int;\n }\n };\n Data.prototype.writeInt32 = function(val) {\n if (val < 0) {\n val += 0x100000000;\n }\n return this.writeUInt32(val);\n };\n Data.prototype.readUInt16 = function() {\n var b1, b2;\n b1 = this.readByte() << 8;\n b2 = this.readByte();\n return b1 | b2;\n };\n Data.prototype.writeUInt16 = function(val) {\n this.writeByte((val >> 8) & 0xff);\n return this.writeByte(val & 0xff);\n };\n Data.prototype.readInt16 = function() {\n var int;\n int = this.readUInt16();\n if (int >= 0x8000) {\n return int - 0x10000;\n } else {\n return int;\n }\n };\n Data.prototype.writeInt16 = function(val) {\n if (val < 0) {\n val += 0x10000;\n }\n return this.writeUInt16(val);\n };\n Data.prototype.readString = function(length) {\n var i, ret;\n ret = [];\n for (\n i = 0;\n 0 <= length ? i < length : i > length;\n i = 0 <= length ? ++i : --i\n ) {\n ret[i] = String.fromCharCode(this.readByte());\n }\n return ret.join(\"\");\n };\n Data.prototype.writeString = function(val) {\n var i, _ref, _results;\n _results = [];\n for (\n i = 0, _ref = val.length;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n _results.push(this.writeByte(val.charCodeAt(i)));\n }\n return _results;\n };\n /*Data.prototype.stringAt = function (pos, length) {\n this.pos = pos;\n return this.readString(length);\n };*/\n Data.prototype.readShort = function() {\n return this.readInt16();\n };\n Data.prototype.writeShort = function(val) {\n return this.writeInt16(val);\n };\n Data.prototype.readLongLong = function() {\n var b1, b2, b3, b4, b5, b6, b7, b8;\n b1 = this.readByte();\n b2 = this.readByte();\n b3 = this.readByte();\n b4 = this.readByte();\n b5 = this.readByte();\n b6 = this.readByte();\n b7 = this.readByte();\n b8 = this.readByte();\n if (b1 & 0x80) {\n return (\n ((b1 ^ 0xff) * 0x100000000000000 +\n (b2 ^ 0xff) * 0x1000000000000 +\n (b3 ^ 0xff) * 0x10000000000 +\n (b4 ^ 0xff) * 0x100000000 +\n (b5 ^ 0xff) * 0x1000000 +\n (b6 ^ 0xff) * 0x10000 +\n (b7 ^ 0xff) * 0x100 +\n (b8 ^ 0xff) +\n 1) *\n -1\n );\n }\n return (\n b1 * 0x100000000000000 +\n b2 * 0x1000000000000 +\n b3 * 0x10000000000 +\n b4 * 0x100000000 +\n b5 * 0x1000000 +\n b6 * 0x10000 +\n b7 * 0x100 +\n b8\n );\n };\n Data.prototype.writeLongLong = function(val) {\n var high, low;\n high = Math.floor(val / 0x100000000);\n low = val & 0xffffffff;\n this.writeByte((high >> 24) & 0xff);\n this.writeByte((high >> 16) & 0xff);\n this.writeByte((high >> 8) & 0xff);\n this.writeByte(high & 0xff);\n this.writeByte((low >> 24) & 0xff);\n this.writeByte((low >> 16) & 0xff);\n this.writeByte((low >> 8) & 0xff);\n return this.writeByte(low & 0xff);\n };\n Data.prototype.readInt = function() {\n return this.readInt32();\n };\n Data.prototype.writeInt = function(val) {\n return this.writeInt32(val);\n };\n /*Data.prototype.slice = function (start, end) {\n return this.data.slice(start, end);\n };*/\n Data.prototype.read = function(bytes) {\n var buf, i;\n buf = [];\n for (\n i = 0;\n 0 <= bytes ? i < bytes : i > bytes;\n i = 0 <= bytes ? ++i : --i\n ) {\n buf.push(this.readByte());\n }\n return buf;\n };\n Data.prototype.write = function(bytes) {\n var byte, i, _len, _results;\n _results = [];\n for (i = 0, _len = bytes.length; i < _len; i++) {\n byte = bytes[i];\n _results.push(this.writeByte(byte));\n }\n return _results;\n };\n return Data;\n})();\n\nvar Directory = (function() {\n var checksum;\n\n /*****************************************************************************************************/\n /* function : Directory generator */\n /* comment : Initialize the offset, tag, length, and checksum for each table for the font to be used.*/\n /*****************************************************************************************************/\n function Directory(data) {\n var entry, i, _ref;\n this.scalarType = data.readInt();\n this.tableCount = data.readShort();\n this.searchRange = data.readShort();\n this.entrySelector = data.readShort();\n this.rangeShift = data.readShort();\n this.tables = {};\n for (\n i = 0, _ref = this.tableCount;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n entry = {\n tag: data.readString(4),\n checksum: data.readInt(),\n offset: data.readInt(),\n length: data.readInt()\n };\n this.tables[entry.tag] = entry;\n }\n }\n /********************************************************************************************************/\n /* function : encode */\n /* comment : It encodes and stores the font table object and information used for the directory object. */\n /********************************************************************************************************/\n Directory.prototype.encode = function(tables) {\n var adjustment,\n directory,\n directoryLength,\n entrySelector,\n headOffset,\n log2,\n offset,\n rangeShift,\n searchRange,\n sum,\n table,\n tableCount,\n tableData,\n tag;\n tableCount = Object.keys(tables).length;\n log2 = Math.log(2);\n searchRange = Math.floor(Math.log(tableCount) / log2) * 16;\n entrySelector = Math.floor(searchRange / log2);\n rangeShift = tableCount * 16 - searchRange;\n directory = new Data();\n directory.writeInt(this.scalarType);\n directory.writeShort(tableCount);\n directory.writeShort(searchRange);\n directory.writeShort(entrySelector);\n directory.writeShort(rangeShift);\n directoryLength = tableCount * 16;\n offset = directory.pos + directoryLength;\n headOffset = null;\n tableData = [];\n for (tag in tables) {\n table = tables[tag];\n directory.writeString(tag);\n directory.writeInt(checksum(table));\n directory.writeInt(offset);\n directory.writeInt(table.length);\n tableData = tableData.concat(table);\n if (tag === \"head\") {\n headOffset = offset;\n }\n offset += table.length;\n while (offset % 4) {\n tableData.push(0);\n offset++;\n }\n }\n directory.write(tableData);\n sum = checksum(directory.data);\n adjustment = 0xb1b0afba - sum;\n directory.pos = headOffset + 8;\n directory.writeUInt32(adjustment);\n return directory.data;\n };\n /***************************************************************/\n /* function : checksum */\n /* comment : Duplicate the table for the tag. */\n /***************************************************************/\n checksum = function(data) {\n var i, sum, tmp, _ref;\n data = __slice.call(data);\n while (data.length % 4) {\n data.push(0);\n }\n tmp = new Data(data);\n sum = 0;\n for (i = 0, _ref = data.length; i < _ref; i = i += 4) {\n sum += tmp.readUInt32();\n }\n return sum & 0xffffffff;\n };\n return Directory;\n})();\n\nvar Table,\n __hasProp = {}.hasOwnProperty,\n __extends = function(child, parent) {\n for (var key in parent) {\n if (__hasProp.call(parent, key)) child[key] = parent[key];\n }\n\n function ctor() {\n this.constructor = child;\n }\n ctor.prototype = parent.prototype;\n child.prototype = new ctor();\n child.__super__ = parent.prototype;\n return child;\n };\n\n/***************************************************************/\n/* function : Table */\n/* comment : Save info for each table, and parse the table. */\n/***************************************************************/\nTable = (function() {\n function Table(file) {\n var info;\n this.file = file;\n info = this.file.directory.tables[this.tag];\n this.exists = !!info;\n if (info) {\n (this.offset = info.offset), (this.length = info.length);\n this.parse(this.file.contents);\n }\n }\n Table.prototype.parse = function() {};\n Table.prototype.encode = function() {};\n Table.prototype.raw = function() {\n if (!this.exists) {\n return null;\n }\n this.file.contents.pos = this.offset;\n return this.file.contents.read(this.length);\n };\n return Table;\n})();\n\nvar HeadTable = (function(_super) {\n __extends(HeadTable, _super);\n\n function HeadTable() {\n return HeadTable.__super__.constructor.apply(this, arguments);\n }\n HeadTable.prototype.tag = \"head\";\n HeadTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.revision = data.readInt();\n this.checkSumAdjustment = data.readInt();\n this.magicNumber = data.readInt();\n this.flags = data.readShort();\n this.unitsPerEm = data.readShort();\n this.created = data.readLongLong();\n this.modified = data.readLongLong();\n this.xMin = data.readShort();\n this.yMin = data.readShort();\n this.xMax = data.readShort();\n this.yMax = data.readShort();\n this.macStyle = data.readShort();\n this.lowestRecPPEM = data.readShort();\n this.fontDirectionHint = data.readShort();\n this.indexToLocFormat = data.readShort();\n return (this.glyphDataFormat = data.readShort());\n };\n HeadTable.prototype.encode = function(indexToLocFormat) {\n var table;\n table = new Data();\n table.writeInt(this.version);\n table.writeInt(this.revision);\n table.writeInt(this.checkSumAdjustment);\n table.writeInt(this.magicNumber);\n table.writeShort(this.flags);\n table.writeShort(this.unitsPerEm);\n table.writeLongLong(this.created);\n table.writeLongLong(this.modified);\n table.writeShort(this.xMin);\n table.writeShort(this.yMin);\n table.writeShort(this.xMax);\n table.writeShort(this.yMax);\n table.writeShort(this.macStyle);\n table.writeShort(this.lowestRecPPEM);\n table.writeShort(this.fontDirectionHint);\n table.writeShort(indexToLocFormat);\n table.writeShort(this.glyphDataFormat);\n return table.data;\n };\n return HeadTable;\n})(Table);\n\n/************************************************************************************/\n/* function : CmapEntry */\n/* comment : Cmap Initializes and encodes object information (required by pdf spec).*/\n/************************************************************************************/\nvar CmapEntry = (function() {\n function CmapEntry(data, offset) {\n var code,\n count,\n endCode,\n glyphId,\n glyphIds,\n i,\n idDelta,\n idRangeOffset,\n index,\n saveOffset,\n segCount,\n segCountX2,\n start,\n startCode,\n tail,\n _j,\n _k,\n _len;\n this.platformID = data.readUInt16();\n this.encodingID = data.readShort();\n this.offset = offset + data.readInt();\n saveOffset = data.pos;\n data.pos = this.offset;\n this.format = data.readUInt16();\n this.length = data.readUInt16();\n this.language = data.readUInt16();\n this.isUnicode =\n (this.platformID === 3 && this.encodingID === 1 && this.format === 4) ||\n (this.platformID === 0 && this.format === 4);\n this.codeMap = {};\n switch (this.format) {\n case 0:\n for (i = 0; i < 256; ++i) {\n this.codeMap[i] = data.readByte();\n }\n break;\n case 4:\n segCountX2 = data.readUInt16();\n segCount = segCountX2 / 2;\n data.pos += 6;\n endCode = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n data.pos += 2;\n startCode = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n idDelta = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n idRangeOffset = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n count = (this.length - data.pos + this.offset) / 2;\n glyphIds = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= count ? _j < count : _j > count;\n i = 0 <= count ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n for (i = _j = 0, _len = endCode.length; _j < _len; i = ++_j) {\n tail = endCode[i];\n start = startCode[i];\n for (\n code = _k = start;\n start <= tail ? _k <= tail : _k >= tail;\n code = start <= tail ? ++_k : --_k\n ) {\n if (idRangeOffset[i] === 0) {\n glyphId = code + idDelta[i];\n } else {\n index = idRangeOffset[i] / 2 + (code - start) - (segCount - i);\n glyphId = glyphIds[index] || 0;\n if (glyphId !== 0) {\n glyphId += idDelta[i];\n }\n }\n this.codeMap[code] = glyphId & 0xffff;\n }\n }\n }\n data.pos = saveOffset;\n }\n CmapEntry.encode = function(charmap, encoding) {\n var charMap,\n code,\n codeMap,\n codes,\n delta,\n deltas,\n diff,\n endCode,\n endCodes,\n entrySelector,\n glyphIDs,\n i,\n id,\n indexes,\n last,\n map,\n nextID,\n offset,\n old,\n rangeOffsets,\n rangeShift,\n searchRange,\n segCount,\n segCountX2,\n startCode,\n startCodes,\n startGlyph,\n subtable,\n _i,\n _j,\n _k,\n _l,\n _len,\n _len1,\n _len2,\n _len3,\n _len4,\n _len5,\n _len6,\n _len7,\n _m,\n _n,\n _name,\n _o,\n _p,\n _q;\n subtable = new Data();\n codes = Object.keys(charmap).sort(function(a, b) {\n return a - b;\n });\n switch (encoding) {\n case \"macroman\":\n id = 0;\n indexes = (function() {\n var _results = [];\n for (i = 0; i < 256; ++i) {\n _results.push(0);\n }\n return _results;\n })();\n map = {\n 0: 0\n };\n codeMap = {};\n for (_i = 0, _len = codes.length; _i < _len; _i++) {\n code = codes[_i];\n if (map[(_name = charmap[code])] == null) {\n map[_name] = ++id;\n }\n codeMap[code] = {\n old: charmap[code],\n new: map[charmap[code]]\n };\n indexes[code] = map[charmap[code]];\n }\n subtable.writeUInt16(1);\n subtable.writeUInt16(0);\n subtable.writeUInt32(12);\n subtable.writeUInt16(0);\n subtable.writeUInt16(262);\n subtable.writeUInt16(0);\n subtable.write(indexes);\n return {\n charMap: codeMap,\n subtable: subtable.data,\n maxGlyphID: id + 1\n };\n case \"unicode\":\n startCodes = [];\n endCodes = [];\n nextID = 0;\n map = {};\n charMap = {};\n last = diff = null;\n for (_j = 0, _len1 = codes.length; _j < _len1; _j++) {\n code = codes[_j];\n old = charmap[code];\n if (map[old] == null) {\n map[old] = ++nextID;\n }\n charMap[code] = {\n old: old,\n new: map[old]\n };\n delta = map[old] - code;\n if (last == null || delta !== diff) {\n if (last) {\n endCodes.push(last);\n }\n startCodes.push(code);\n diff = delta;\n }\n last = code;\n }\n if (last) {\n endCodes.push(last);\n }\n endCodes.push(0xffff);\n startCodes.push(0xffff);\n segCount = startCodes.length;\n segCountX2 = segCount * 2;\n searchRange = 2 * Math.pow(Math.log(segCount) / Math.LN2, 2);\n entrySelector = Math.log(searchRange / 2) / Math.LN2;\n rangeShift = 2 * segCount - searchRange;\n deltas = [];\n rangeOffsets = [];\n glyphIDs = [];\n for (i = _k = 0, _len2 = startCodes.length; _k < _len2; i = ++_k) {\n startCode = startCodes[i];\n endCode = endCodes[i];\n if (startCode === 0xffff) {\n deltas.push(0);\n rangeOffsets.push(0);\n break;\n }\n startGlyph = charMap[startCode][\"new\"];\n if (startCode - startGlyph >= 0x8000) {\n deltas.push(0);\n rangeOffsets.push(2 * (glyphIDs.length + segCount - i));\n for (\n code = _l = startCode;\n startCode <= endCode ? _l <= endCode : _l >= endCode;\n code = startCode <= endCode ? ++_l : --_l\n ) {\n glyphIDs.push(charMap[code][\"new\"]);\n }\n } else {\n deltas.push(startGlyph - startCode);\n rangeOffsets.push(0);\n }\n }\n subtable.writeUInt16(3);\n subtable.writeUInt16(1);\n subtable.writeUInt32(12);\n subtable.writeUInt16(4);\n subtable.writeUInt16(16 + segCount * 8 + glyphIDs.length * 2);\n subtable.writeUInt16(0);\n subtable.writeUInt16(segCountX2);\n subtable.writeUInt16(searchRange);\n subtable.writeUInt16(entrySelector);\n subtable.writeUInt16(rangeShift);\n for (_m = 0, _len3 = endCodes.length; _m < _len3; _m++) {\n code = endCodes[_m];\n subtable.writeUInt16(code);\n }\n subtable.writeUInt16(0);\n for (_n = 0, _len4 = startCodes.length; _n < _len4; _n++) {\n code = startCodes[_n];\n subtable.writeUInt16(code);\n }\n for (_o = 0, _len5 = deltas.length; _o < _len5; _o++) {\n delta = deltas[_o];\n subtable.writeUInt16(delta);\n }\n for (_p = 0, _len6 = rangeOffsets.length; _p < _len6; _p++) {\n offset = rangeOffsets[_p];\n subtable.writeUInt16(offset);\n }\n for (_q = 0, _len7 = glyphIDs.length; _q < _len7; _q++) {\n id = glyphIDs[_q];\n subtable.writeUInt16(id);\n }\n return {\n charMap: charMap,\n subtable: subtable.data,\n maxGlyphID: nextID + 1\n };\n }\n };\n return CmapEntry;\n})();\n\nvar CmapTable = (function(_super) {\n __extends(CmapTable, _super);\n\n function CmapTable() {\n return CmapTable.__super__.constructor.apply(this, arguments);\n }\n CmapTable.prototype.tag = \"cmap\";\n CmapTable.prototype.parse = function(data) {\n var entry, i, tableCount;\n data.pos = this.offset;\n this.version = data.readUInt16();\n tableCount = data.readUInt16();\n this.tables = [];\n this.unicode = null;\n for (\n i = 0;\n 0 <= tableCount ? i < tableCount : i > tableCount;\n i = 0 <= tableCount ? ++i : --i\n ) {\n entry = new CmapEntry(data, this.offset);\n this.tables.push(entry);\n if (entry.isUnicode) {\n if (this.unicode == null) {\n this.unicode = entry;\n }\n }\n }\n return true;\n };\n /*************************************************************************/\n /* function : encode */\n /* comment : Encode the cmap table corresponding to the input character. */\n /*************************************************************************/\n CmapTable.encode = function(charmap, encoding) {\n var result, table;\n if (encoding == null) {\n encoding = \"macroman\";\n }\n result = CmapEntry.encode(charmap, encoding);\n table = new Data();\n table.writeUInt16(0);\n table.writeUInt16(1);\n result.table = table.data.concat(result.subtable);\n return result;\n };\n return CmapTable;\n})(Table);\n\nvar HheaTable = (function(_super) {\n __extends(HheaTable, _super);\n\n function HheaTable() {\n return HheaTable.__super__.constructor.apply(this, arguments);\n }\n HheaTable.prototype.tag = \"hhea\";\n HheaTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.ascender = data.readShort();\n this.decender = data.readShort();\n this.lineGap = data.readShort();\n this.advanceWidthMax = data.readShort();\n this.minLeftSideBearing = data.readShort();\n this.minRightSideBearing = data.readShort();\n this.xMaxExtent = data.readShort();\n this.caretSlopeRise = data.readShort();\n this.caretSlopeRun = data.readShort();\n this.caretOffset = data.readShort();\n data.pos += 4 * 2;\n this.metricDataFormat = data.readShort();\n return (this.numberOfMetrics = data.readUInt16());\n };\n /*HheaTable.prototype.encode = function (ids) {\n var i, table, _i, _ref;\n table = new Data;\n table.writeInt(this.version);\n table.writeShort(this.ascender);\n table.writeShort(this.decender);\n table.writeShort(this.lineGap);\n table.writeShort(this.advanceWidthMax);\n table.writeShort(this.minLeftSideBearing);\n table.writeShort(this.minRightSideBearing);\n table.writeShort(this.xMaxExtent);\n table.writeShort(this.caretSlopeRise);\n table.writeShort(this.caretSlopeRun);\n table.writeShort(this.caretOffset);\n for (i = _i = 0, _ref = 4 * 2; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n table.writeByte(0);\n }\n table.writeShort(this.metricDataFormat);\n table.writeUInt16(ids.length);\n return table.data;\n };*/\n return HheaTable;\n})(Table);\n\nvar OS2Table = (function(_super) {\n __extends(OS2Table, _super);\n\n function OS2Table() {\n return OS2Table.__super__.constructor.apply(this, arguments);\n }\n OS2Table.prototype.tag = \"OS/2\";\n OS2Table.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readUInt16();\n this.averageCharWidth = data.readShort();\n this.weightClass = data.readUInt16();\n this.widthClass = data.readUInt16();\n this.type = data.readShort();\n this.ySubscriptXSize = data.readShort();\n this.ySubscriptYSize = data.readShort();\n this.ySubscriptXOffset = data.readShort();\n this.ySubscriptYOffset = data.readShort();\n this.ySuperscriptXSize = data.readShort();\n this.ySuperscriptYSize = data.readShort();\n this.ySuperscriptXOffset = data.readShort();\n this.ySuperscriptYOffset = data.readShort();\n this.yStrikeoutSize = data.readShort();\n this.yStrikeoutPosition = data.readShort();\n this.familyClass = data.readShort();\n this.panose = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 10; ++i) {\n _results.push(data.readByte());\n }\n return _results;\n })();\n this.charRange = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 4; ++i) {\n _results.push(data.readInt());\n }\n return _results;\n })();\n this.vendorID = data.readString(4);\n this.selection = data.readShort();\n this.firstCharIndex = data.readShort();\n this.lastCharIndex = data.readShort();\n if (this.version > 0) {\n this.ascent = data.readShort();\n this.descent = data.readShort();\n this.lineGap = data.readShort();\n this.winAscent = data.readShort();\n this.winDescent = data.readShort();\n this.codePageRange = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 2; i = ++i) {\n _results.push(data.readInt());\n }\n return _results;\n })();\n if (this.version > 1) {\n this.xHeight = data.readShort();\n this.capHeight = data.readShort();\n this.defaultChar = data.readShort();\n this.breakChar = data.readShort();\n return (this.maxContext = data.readShort());\n }\n }\n };\n /*OS2Table.prototype.encode = function () {\n return this.raw();\n };*/\n return OS2Table;\n})(Table);\n\nvar PostTable = (function(_super) {\n var POSTSCRIPT_GLYPHS;\n __extends(PostTable, _super);\n\n function PostTable() {\n return PostTable.__super__.constructor.apply(this, arguments);\n }\n PostTable.prototype.tag = \"post\";\n PostTable.prototype.parse = function(data) {\n var length, numberOfGlyphs, _results;\n data.pos = this.offset;\n this.format = data.readInt();\n this.italicAngle = data.readInt();\n this.underlinePosition = data.readShort();\n this.underlineThickness = data.readShort();\n this.isFixedPitch = data.readInt();\n this.minMemType42 = data.readInt();\n this.maxMemType42 = data.readInt();\n this.minMemType1 = data.readInt();\n this.maxMemType1 = data.readInt();\n switch (this.format) {\n case 0x00010000:\n break;\n case 0x00020000:\n numberOfGlyphs = data.readUInt16();\n this.glyphNameIndex = [];\n var i;\n for (\n i = 0;\n 0 <= numberOfGlyphs ? i < numberOfGlyphs : i > numberOfGlyphs;\n i = 0 <= numberOfGlyphs ? ++i : --i\n ) {\n this.glyphNameIndex.push(data.readUInt16());\n }\n this.names = [];\n _results = [];\n while (data.pos < this.offset + this.length) {\n length = data.readByte();\n _results.push(this.names.push(data.readString(length)));\n }\n return _results;\n case 0x00025000:\n numberOfGlyphs = data.readUInt16();\n return (this.offsets = data.read(numberOfGlyphs));\n case 0x00030000:\n break;\n case 0x00040000:\n return (this.map = function() {\n var _j, _ref, _results1;\n _results1 = [];\n for (\n i = _j = 0, _ref = this.file.maxp.numGlyphs;\n 0 <= _ref ? _j < _ref : _j > _ref;\n i = 0 <= _ref ? ++_j : --_j\n ) {\n _results1.push(data.readUInt32());\n }\n return _results1;\n }.call(this));\n }\n };\n /*PostTable.prototype.glyphFor = function (code) {\n var index;\n switch (this.format) {\n case 0x00010000:\n return POSTSCRIPT_GLYPHS[code] || '.notdef';\n case 0x00020000:\n index = this.glyphNameIndex[code];\n if (index <= 257) {\n return POSTSCRIPT_GLYPHS[index];\n }\n else {\n return this.names[index - 258] || '.notdef';\n }\n break;\n case 0x00025000:\n return POSTSCRIPT_GLYPHS[code + this.offsets[code]] || '.notdef';\n case 0x00030000:\n return '.notdef';\n case 0x00040000:\n return this.map[code] || 0xFFFF;\n }\n };*/\n /*PostTable.prototype.encode = function (mapping) {\n var id, index, indexes, position, post, raw, string, strings, table, _i, _j, _k, _len, _len1, _len2;\n if (!this.exists) {\n return null;\n }\n raw = this.raw();\n if (this.format === 0x00030000) {\n return raw;\n }\n table = new Data(raw.slice(0, 32));\n table.writeUInt32(0x00020000);\n table.pos = 32;\n indexes = [];\n strings = [];\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n post = this.glyphFor(id);\n position = POSTSCRIPT_GLYPHS.indexOf(post);\n if (position !== -1) {\n indexes.push(position);\n }\n else {\n indexes.push(257 + strings.length);\n strings.push(post);\n }\n }\n table.writeUInt16(Object.keys(mapping).length);\n for (_j = 0, _len1 = indexes.length; _j < _len1; _j++) {\n index = indexes[_j];\n table.writeUInt16(index);\n }\n for (_k = 0, _len2 = strings.length; _k < _len2; _k++) {\n string = strings[_k];\n table.writeByte(string.length);\n table.writeString(string);\n }\n return table.data;\n };*/\n POSTSCRIPT_GLYPHS = \".notdef .null nonmarkingreturn space exclam quotedbl numbersign dollar percent\\nampersand quotesingle parenleft parenright asterisk plus comma hyphen period slash\\nzero one two three four five six seven eight nine colon semicolon less equal greater\\nquestion at A B C D E F G H I J K L M N O P Q R S T U V W X Y Z\\nbracketleft backslash bracketright asciicircum underscore grave\\na b c d e f g h i j k l m n o p q r s t u v w x y z\\nbraceleft bar braceright asciitilde Adieresis Aring Ccedilla Eacute Ntilde Odieresis\\nUdieresis aacute agrave acircumflex adieresis atilde aring ccedilla eacute egrave\\necircumflex edieresis iacute igrave icircumflex idieresis ntilde oacute ograve\\nocircumflex odieresis otilde uacute ugrave ucircumflex udieresis dagger degree cent\\nsterling section bullet paragraph germandbls registered copyright trademark acute\\ndieresis notequal AE Oslash infinity plusminus lessequal greaterequal yen mu\\npartialdiff summation product pi integral ordfeminine ordmasculine Omega ae oslash\\nquestiondown exclamdown logicalnot radical florin approxequal Delta guillemotleft\\nguillemotright ellipsis nonbreakingspace Agrave Atilde Otilde OE oe endash emdash\\nquotedblleft quotedblright quoteleft quoteright divide lozenge ydieresis Ydieresis\\nfraction currency guilsinglleft guilsinglright fi fl daggerdbl periodcentered\\nquotesinglbase quotedblbase perthousand Acircumflex Ecircumflex Aacute Edieresis\\nEgrave Iacute Icircumflex Idieresis Igrave Oacute Ocircumflex apple Ograve Uacute\\nUcircumflex Ugrave dotlessi circumflex tilde macron breve dotaccent ring cedilla\\nhungarumlaut ogonek caron Lslash lslash Scaron scaron Zcaron zcaron brokenbar Eth\\neth Yacute yacute Thorn thorn minus multiply onesuperior twosuperior threesuperior\\nonehalf onequarter threequarters franc Gbreve gbreve Idotaccent Scedilla scedilla\\nCacute cacute Ccaron ccaron dcroat\".split(\n /\\s+/g\n );\n return PostTable;\n})(Table);\n\n/*********************************************************************************************************/\n/* function : NameEntry */\n/* comment : Store copyright information, platformID, encodingID, and languageID in the NameEntry object.*/\n/*********************************************************************************************************/\nvar NameEntry = (function() {\n function NameEntry(raw, entry) {\n this.raw = raw;\n this.length = raw.length;\n this.platformID = entry.platformID;\n this.encodingID = entry.encodingID;\n this.languageID = entry.languageID;\n }\n return NameEntry;\n})();\n\nvar NameTable = (function(_super) {\n var subsetTag;\n __extends(NameTable, _super);\n\n function NameTable() {\n return NameTable.__super__.constructor.apply(this, arguments);\n }\n NameTable.prototype.tag = \"name\";\n NameTable.prototype.parse = function(data) {\n var count,\n entries,\n entry,\n i,\n name,\n stringOffset,\n strings,\n text,\n _j,\n _len,\n _name;\n data.pos = this.offset;\n data.readShort(); //format\n count = data.readShort();\n stringOffset = data.readShort();\n entries = [];\n for (\n i = 0;\n 0 <= count ? i < count : i > count;\n i = 0 <= count ? ++i : --i\n ) {\n entries.push({\n platformID: data.readShort(),\n encodingID: data.readShort(),\n languageID: data.readShort(),\n nameID: data.readShort(),\n length: data.readShort(),\n offset: this.offset + stringOffset + data.readShort()\n });\n }\n strings = {};\n for (i = _j = 0, _len = entries.length; _j < _len; i = ++_j) {\n entry = entries[i];\n data.pos = entry.offset;\n text = data.readString(entry.length);\n name = new NameEntry(text, entry);\n if (strings[(_name = entry.nameID)] == null) {\n strings[_name] = [];\n }\n strings[entry.nameID].push(name);\n }\n this.strings = strings;\n this.copyright = strings[0];\n this.fontFamily = strings[1];\n this.fontSubfamily = strings[2];\n this.uniqueSubfamily = strings[3];\n this.fontName = strings[4];\n this.version = strings[5];\n try {\n this.postscriptName = strings[6][0].raw.replace(\n /[\\x00-\\x19\\x80-\\xff]/g,\n \"\"\n );\n } catch (e) {\n this.postscriptName = strings[4][0].raw.replace(\n /[\\x00-\\x19\\x80-\\xff]/g,\n \"\"\n );\n }\n this.trademark = strings[7];\n this.manufacturer = strings[8];\n this.designer = strings[9];\n this.description = strings[10];\n this.vendorUrl = strings[11];\n this.designerUrl = strings[12];\n this.license = strings[13];\n this.licenseUrl = strings[14];\n this.preferredFamily = strings[15];\n this.preferredSubfamily = strings[17];\n this.compatibleFull = strings[18];\n return (this.sampleText = strings[19]);\n };\n subsetTag = \"AAAAAA\";\n /*NameTable.prototype.encode = function () {\n var id, list, nameID, nameTable, postscriptName, strCount, strTable, string, strings, table, val, _i, _len, _ref;\n strings = {};\n _ref = this.strings;\n for (id in _ref) {\n val = _ref[id];\n strings[id] = val;\n }\n postscriptName = new NameEntry(\"\" + subsetTag + \"+\" + this.postscriptName, {\n platformID: 1\n , encodingID: 0\n , languageID: 0\n });\n strings[6] = [postscriptName];\n subsetTag = successorOf(subsetTag);\n strCount = 0;\n for (id in strings) {\n list = strings[id];\n if (list != null) {\n strCount += list.length;\n }\n }\n table = new Data;\n strTable = new Data;\n table.writeShort(0);\n table.writeShort(strCount);\n table.writeShort(6 + 12 * strCount);\n for (nameID in strings) {\n list = strings[nameID];\n if (list != null) {\n for (_i = 0, _len = list.length; _i < _len; _i++) {\n string = list[_i];\n table.writeShort(string.platformID);\n table.writeShort(string.encodingID);\n table.writeShort(string.languageID);\n table.writeShort(nameID);\n table.writeShort(string.length);\n table.writeShort(strTable.pos);\n strTable.writeString(string.raw);\n }\n }\n }\n return nameTable = {\n postscriptName: postscriptName.raw\n , table: table.data.concat(strTable.data)\n };\n };*/\n return NameTable;\n})(Table);\n\nvar MaxpTable = (function(_super) {\n __extends(MaxpTable, _super);\n\n function MaxpTable() {\n return MaxpTable.__super__.constructor.apply(this, arguments);\n }\n MaxpTable.prototype.tag = \"maxp\";\n MaxpTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.numGlyphs = data.readUInt16();\n this.maxPoints = data.readUInt16();\n this.maxContours = data.readUInt16();\n this.maxCompositePoints = data.readUInt16();\n this.maxComponentContours = data.readUInt16();\n this.maxZones = data.readUInt16();\n this.maxTwilightPoints = data.readUInt16();\n this.maxStorage = data.readUInt16();\n this.maxFunctionDefs = data.readUInt16();\n this.maxInstructionDefs = data.readUInt16();\n this.maxStackElements = data.readUInt16();\n this.maxSizeOfInstructions = data.readUInt16();\n this.maxComponentElements = data.readUInt16();\n return (this.maxComponentDepth = data.readUInt16());\n };\n /*MaxpTable.prototype.encode = function (ids) {\n var table;\n table = new Data;\n table.writeInt(this.version);\n table.writeUInt16(ids.length);\n table.writeUInt16(this.maxPoints);\n table.writeUInt16(this.maxContours);\n table.writeUInt16(this.maxCompositePoints);\n table.writeUInt16(this.maxComponentContours);\n table.writeUInt16(this.maxZones);\n table.writeUInt16(this.maxTwilightPoints);\n table.writeUInt16(this.maxStorage);\n table.writeUInt16(this.maxFunctionDefs);\n table.writeUInt16(this.maxInstructionDefs);\n table.writeUInt16(this.maxStackElements);\n table.writeUInt16(this.maxSizeOfInstructions);\n table.writeUInt16(this.maxComponentElements);\n table.writeUInt16(this.maxComponentDepth);\n return table.data;\n };*/\n return MaxpTable;\n})(Table);\n\nvar HmtxTable = (function(_super) {\n __extends(HmtxTable, _super);\n\n function HmtxTable() {\n return HmtxTable.__super__.constructor.apply(this, arguments);\n }\n HmtxTable.prototype.tag = \"hmtx\";\n HmtxTable.prototype.parse = function(data) {\n var i, last, lsbCount, m, _j, _ref, _results;\n data.pos = this.offset;\n this.metrics = [];\n for (\n i = 0, _ref = this.file.hhea.numberOfMetrics;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n this.metrics.push({\n advance: data.readUInt16(),\n lsb: data.readInt16()\n });\n }\n lsbCount = this.file.maxp.numGlyphs - this.file.hhea.numberOfMetrics;\n this.leftSideBearings = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= lsbCount ? _j < lsbCount : _j > lsbCount;\n i = 0 <= lsbCount ? ++_j : --_j\n ) {\n _results.push(data.readInt16());\n }\n return _results;\n })();\n this.widths = function() {\n var _j, _len, _ref1, _results;\n _ref1 = this.metrics;\n _results = [];\n for (_j = 0, _len = _ref1.length; _j < _len; _j++) {\n m = _ref1[_j];\n _results.push(m.advance);\n }\n return _results;\n }.call(this);\n last = this.widths[this.widths.length - 1];\n _results = [];\n for (\n i = _j = 0;\n 0 <= lsbCount ? _j < lsbCount : _j > lsbCount;\n i = 0 <= lsbCount ? ++_j : --_j\n ) {\n _results.push(this.widths.push(last));\n }\n return _results;\n };\n /***************************************************************/\n /* function : forGlyph */\n /* comment : Returns the advance width and lsb for this glyph. */\n /***************************************************************/\n HmtxTable.prototype.forGlyph = function(id) {\n if (id in this.metrics) {\n return this.metrics[id];\n }\n return {\n advance: this.metrics[this.metrics.length - 1].advance,\n lsb: this.leftSideBearings[id - this.metrics.length]\n };\n };\n /*HmtxTable.prototype.encode = function (mapping) {\n var id, metric, table, _i, _len;\n table = new Data;\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n metric = this.forGlyph(id);\n table.writeUInt16(metric.advance);\n table.writeUInt16(metric.lsb);\n }\n return table.data;\n };*/\n return HmtxTable;\n})(Table);\n\nvar __slice = [].slice;\n\nvar GlyfTable = (function(_super) {\n __extends(GlyfTable, _super);\n\n function GlyfTable() {\n return GlyfTable.__super__.constructor.apply(this, arguments);\n }\n GlyfTable.prototype.tag = \"glyf\";\n GlyfTable.prototype.parse = function() {\n return (this.cache = {});\n };\n GlyfTable.prototype.glyphFor = function(id) {\n var data,\n index,\n length,\n loca,\n numberOfContours,\n raw,\n xMax,\n xMin,\n yMax,\n yMin;\n if (id in this.cache) {\n return this.cache[id];\n }\n loca = this.file.loca;\n data = this.file.contents;\n index = loca.indexOf(id);\n length = loca.lengthOf(id);\n if (length === 0) {\n return (this.cache[id] = null);\n }\n data.pos = this.offset + index;\n raw = new Data(data.read(length));\n numberOfContours = raw.readShort();\n xMin = raw.readShort();\n yMin = raw.readShort();\n xMax = raw.readShort();\n yMax = raw.readShort();\n if (numberOfContours === -1) {\n this.cache[id] = new CompoundGlyph(raw, xMin, yMin, xMax, yMax);\n } else {\n this.cache[id] = new SimpleGlyph(\n raw,\n numberOfContours,\n xMin,\n yMin,\n xMax,\n yMax\n );\n }\n return this.cache[id];\n };\n GlyfTable.prototype.encode = function(glyphs, mapping, old2new) {\n var glyph, id, offsets, table, _i, _len;\n table = [];\n offsets = [];\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n glyph = glyphs[id];\n offsets.push(table.length);\n if (glyph) {\n table = table.concat(glyph.encode(old2new));\n }\n }\n offsets.push(table.length);\n return {\n table: table,\n offsets: offsets\n };\n };\n return GlyfTable;\n})(Table);\n\nvar SimpleGlyph = (function() {\n /**************************************************************************/\n /* function : SimpleGlyph */\n /* comment : Stores raw, xMin, yMin, xMax, and yMax values for this glyph.*/\n /**************************************************************************/\n function SimpleGlyph(raw, numberOfContours, xMin, yMin, xMax, yMax) {\n this.raw = raw;\n this.numberOfContours = numberOfContours;\n this.xMin = xMin;\n this.yMin = yMin;\n this.xMax = xMax;\n this.yMax = yMax;\n this.compound = false;\n }\n SimpleGlyph.prototype.encode = function() {\n return this.raw.data;\n };\n return SimpleGlyph;\n})();\n\nvar CompoundGlyph = (function() {\n var ARG_1_AND_2_ARE_WORDS,\n MORE_COMPONENTS,\n WE_HAVE_AN_X_AND_Y_SCALE,\n WE_HAVE_A_SCALE,\n WE_HAVE_A_TWO_BY_TWO,\n WE_HAVE_INSTRUCTIONS;\n ARG_1_AND_2_ARE_WORDS = 0x0001;\n WE_HAVE_A_SCALE = 0x0008;\n MORE_COMPONENTS = 0x0020;\n WE_HAVE_AN_X_AND_Y_SCALE = 0x0040;\n WE_HAVE_A_TWO_BY_TWO = 0x0080;\n WE_HAVE_INSTRUCTIONS = 0x0100;\n\n /********************************************************************************************************************/\n /* function : CompoundGlypg generator */\n /* comment : It stores raw, xMin, yMin, xMax, yMax, glyph id, and glyph offset for the corresponding compound glyph.*/\n /********************************************************************************************************************/\n function CompoundGlyph(raw, xMin, yMin, xMax, yMax) {\n var data, flags;\n this.raw = raw;\n this.xMin = xMin;\n this.yMin = yMin;\n this.xMax = xMax;\n this.yMax = yMax;\n this.compound = true;\n this.glyphIDs = [];\n this.glyphOffsets = [];\n data = this.raw;\n while (true) {\n flags = data.readShort();\n this.glyphOffsets.push(data.pos);\n this.glyphIDs.push(data.readUInt16());\n if (!(flags & MORE_COMPONENTS)) {\n break;\n }\n if (flags & ARG_1_AND_2_ARE_WORDS) {\n data.pos += 4;\n } else {\n data.pos += 2;\n }\n if (flags & WE_HAVE_A_TWO_BY_TWO) {\n data.pos += 8;\n } else if (flags & WE_HAVE_AN_X_AND_Y_SCALE) {\n data.pos += 4;\n } else if (flags & WE_HAVE_A_SCALE) {\n data.pos += 2;\n }\n }\n }\n /****************************************************************************************************************/\n /* function : CompoundGlypg encode */\n /* comment : After creating a table for the characters you typed, you call directory.encode to encode the table.*/\n /****************************************************************************************************************/\n CompoundGlyph.prototype.encode = function() {\n var i, result, _len, _ref;\n result = new Data(__slice.call(this.raw.data));\n _ref = this.glyphIDs;\n for (i = 0, _len = _ref.length; i < _len; ++i) {\n result.pos = this.glyphOffsets[i];\n }\n return result.data;\n };\n return CompoundGlyph;\n})();\n\nvar LocaTable = (function(_super) {\n __extends(LocaTable, _super);\n\n function LocaTable() {\n return LocaTable.__super__.constructor.apply(this, arguments);\n }\n LocaTable.prototype.tag = \"loca\";\n LocaTable.prototype.parse = function(data) {\n var format, i;\n data.pos = this.offset;\n format = this.file.head.indexToLocFormat;\n if (format === 0) {\n return (this.offsets = function() {\n var _ref, _results;\n _results = [];\n for (i = 0, _ref = this.length; i < _ref; i += 2) {\n _results.push(data.readUInt16() * 2);\n }\n return _results;\n }.call(this));\n } else {\n return (this.offsets = function() {\n var _ref, _results;\n _results = [];\n for (i = 0, _ref = this.length; i < _ref; i += 4) {\n _results.push(data.readUInt32());\n }\n return _results;\n }.call(this));\n }\n };\n LocaTable.prototype.indexOf = function(id) {\n return this.offsets[id];\n };\n LocaTable.prototype.lengthOf = function(id) {\n return this.offsets[id + 1] - this.offsets[id];\n };\n LocaTable.prototype.encode = function(offsets, activeGlyphs) {\n var LocaTable = new Uint32Array(this.offsets.length);\n var glyfPtr = 0;\n var listGlyf = 0;\n for (var k = 0; k < LocaTable.length; ++k) {\n LocaTable[k] = glyfPtr;\n if (listGlyf < activeGlyphs.length && activeGlyphs[listGlyf] == k) {\n ++listGlyf;\n LocaTable[k] = glyfPtr;\n var start = this.offsets[k];\n var len = this.offsets[k + 1] - start;\n if (len > 0) {\n glyfPtr += len;\n }\n }\n }\n var newLocaTable = new Array(LocaTable.length * 4);\n for (var j = 0; j < LocaTable.length; ++j) {\n newLocaTable[4 * j + 3] = LocaTable[j] & 0x000000ff;\n newLocaTable[4 * j + 2] = (LocaTable[j] & 0x0000ff00) >> 8;\n newLocaTable[4 * j + 1] = (LocaTable[j] & 0x00ff0000) >> 16;\n newLocaTable[4 * j] = (LocaTable[j] & 0xff000000) >> 24;\n }\n return newLocaTable;\n };\n return LocaTable;\n})(Table);\n\n/************************************************************************************/\n/* function : invert */\n/* comment : Change the object's (key: value) to create an object with (value: key).*/\n/************************************************************************************/\nvar invert = function(object) {\n var key, ret, val;\n ret = {};\n for (key in object) {\n val = object[key];\n ret[val] = key;\n }\n return ret;\n};\n\n/*var successorOf = function (input) {\n var added, alphabet, carry, i, index, isUpperCase, last, length, next, result;\n alphabet = 'abcdefghijklmnopqrstuvwxyz';\n length = alphabet.length;\n result = input;\n i = input.length;\n while (i >= 0) {\n last = input.charAt(--i);\n if (isNaN(last)) {\n index = alphabet.indexOf(last.toLowerCase());\n if (index === -1) {\n next = last;\n carry = true;\n }\n else {\n next = alphabet.charAt((index + 1) % length);\n isUpperCase = last === last.toUpperCase();\n if (isUpperCase) {\n next = next.toUpperCase();\n }\n carry = index + 1 >= length;\n if (carry && i === 0) {\n added = isUpperCase ? 'A' : 'a';\n result = added + next + result.slice(1);\n break;\n }\n }\n }\n else {\n next = +last + 1;\n carry = next > 9;\n if (carry) {\n next = 0;\n }\n if (carry && i === 0) {\n result = '1' + next + result.slice(1);\n break;\n }\n }\n result = result.slice(0, i) + next + result.slice(i + 1);\n if (!carry) {\n break;\n }\n }\n return result;\n };*/\n\nvar Subset = (function() {\n function Subset(font) {\n this.font = font;\n this.subset = {};\n this.unicodes = {};\n this.next = 33;\n }\n /*Subset.prototype.use = function (character) {\n var i, _i, _ref;\n if (typeof character === 'string') {\n for (i = _i = 0, _ref = character.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n this.use(character.charCodeAt(i));\n }\n return;\n }\n if (!this.unicodes[character]) {\n this.subset[this.next] = character;\n return this.unicodes[character] = this.next++;\n }\n };*/\n /*Subset.prototype.encodeText = function (text) {\n var char, i, string, _i, _ref;\n string = '';\n for (i = _i = 0, _ref = text.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n char = this.unicodes[text.charCodeAt(i)];\n string += String.fromCharCode(char);\n }\n return string;\n };*/\n /***************************************************************/\n /* function : generateCmap */\n /* comment : Returns the unicode cmap for this font. */\n /***************************************************************/\n Subset.prototype.generateCmap = function() {\n var mapping, roman, unicode, unicodeCmap, _ref;\n unicodeCmap = this.font.cmap.tables[0].codeMap;\n mapping = {};\n _ref = this.subset;\n for (roman in _ref) {\n unicode = _ref[roman];\n mapping[roman] = unicodeCmap[unicode];\n }\n return mapping;\n };\n /*Subset.prototype.glyphIDs = function () {\n var ret, roman, unicode, unicodeCmap, val, _ref;\n unicodeCmap = this.font.cmap.tables[0].codeMap;\n ret = [0];\n _ref = this.subset;\n for (roman in _ref) {\n unicode = _ref[roman];\n val = unicodeCmap[unicode];\n if ((val != null) && __indexOf.call(ret, val) < 0) {\n ret.push(val);\n }\n }\n return ret.sort();\n };*/\n /******************************************************************/\n /* function : glyphsFor */\n /* comment : Returns simple glyph objects for the input character.*/\n /******************************************************************/\n Subset.prototype.glyphsFor = function(glyphIDs) {\n var additionalIDs, glyph, glyphs, id, _i, _len, _ref;\n glyphs = {};\n for (_i = 0, _len = glyphIDs.length; _i < _len; _i++) {\n id = glyphIDs[_i];\n glyphs[id] = this.font.glyf.glyphFor(id);\n }\n additionalIDs = [];\n for (id in glyphs) {\n glyph = glyphs[id];\n if (glyph != null ? glyph.compound : void 0) {\n additionalIDs.push.apply(additionalIDs, glyph.glyphIDs);\n }\n }\n if (additionalIDs.length > 0) {\n _ref = this.glyphsFor(additionalIDs);\n for (id in _ref) {\n glyph = _ref[id];\n glyphs[id] = glyph;\n }\n }\n return glyphs;\n };\n /***************************************************************/\n /* function : encode */\n /* comment : Encode various tables for the characters you use. */\n /***************************************************************/\n Subset.prototype.encode = function(glyID, indexToLocFormat) {\n var cmap,\n code,\n glyf,\n glyphs,\n id,\n ids,\n loca,\n new2old,\n newIDs,\n nextGlyphID,\n old2new,\n oldID,\n oldIDs,\n tables,\n _ref;\n cmap = CmapTable.encode(this.generateCmap(), \"unicode\");\n glyphs = this.glyphsFor(glyID);\n old2new = {\n 0: 0\n };\n _ref = cmap.charMap;\n for (code in _ref) {\n ids = _ref[code];\n old2new[ids.old] = ids[\"new\"];\n }\n nextGlyphID = cmap.maxGlyphID;\n for (oldID in glyphs) {\n if (!(oldID in old2new)) {\n old2new[oldID] = nextGlyphID++;\n }\n }\n new2old = invert(old2new);\n newIDs = Object.keys(new2old).sort(function(a, b) {\n return a - b;\n });\n oldIDs = (function() {\n var _i, _len, _results;\n _results = [];\n for (_i = 0, _len = newIDs.length; _i < _len; _i++) {\n id = newIDs[_i];\n _results.push(new2old[id]);\n }\n return _results;\n })();\n glyf = this.font.glyf.encode(glyphs, oldIDs, old2new);\n loca = this.font.loca.encode(glyf.offsets, oldIDs);\n tables = {\n cmap: this.font.cmap.raw(),\n glyf: glyf.table,\n loca: loca,\n hmtx: this.font.hmtx.raw(),\n hhea: this.font.hhea.raw(),\n maxp: this.font.maxp.raw(),\n post: this.font.post.raw(),\n name: this.font.name.raw(),\n head: this.font.head.encode(indexToLocFormat)\n };\n if (this.font.os2.exists) {\n tables[\"OS/2\"] = this.font.os2.raw();\n }\n return this.font.directory.encode(tables);\n };\n return Subset;\n})();\n\njsPDF.API.PDFObject = (function() {\n var pad;\n\n function PDFObject() {}\n pad = function(str, length) {\n return (Array(length + 1).join(\"0\") + str).slice(-length);\n };\n /*****************************************************************************/\n /* function : convert */\n /* comment :Converts pdf tag's / FontBBox and array values in / W to strings */\n /*****************************************************************************/\n PDFObject.convert = function(object) {\n var e, items, key, out, val;\n if (Array.isArray(object)) {\n items = (function() {\n var _i, _len, _results;\n _results = [];\n for (_i = 0, _len = object.length; _i < _len; _i++) {\n e = object[_i];\n _results.push(PDFObject.convert(e));\n }\n return _results;\n })().join(\" \");\n return \"[\" + items + \"]\";\n } else if (typeof object === \"string\") {\n return \"/\" + object;\n } else if (object != null ? object.isString : void 0) {\n return \"(\" + object + \")\";\n } else if (object instanceof Date) {\n return (\n \"(D:\" +\n pad(object.getUTCFullYear(), 4) +\n pad(object.getUTCMonth(), 2) +\n pad(object.getUTCDate(), 2) +\n pad(object.getUTCHours(), 2) +\n pad(object.getUTCMinutes(), 2) +\n pad(object.getUTCSeconds(), 2) +\n \"Z)\"\n );\n } else if ({}.toString.call(object) === \"[object Object]\") {\n out = [\"<<\"];\n for (key in object) {\n val = object[key];\n out.push(\"/\" + key + \" \" + PDFObject.convert(val));\n }\n out.push(\">>\");\n return out.join(\"\\n\");\n } else {\n return \"\" + object;\n }\n };\n return PDFObject;\n})();\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t {\n const [awards, setAwards] = useState(() => {\n const savedAwards = localStorage.getItem('awardsAchievements');\n return savedAwards ? JSON.parse(savedAwards) : [\"\"];\n });\n\n useEffect(() => {\n localStorage.setItem('awardsAchievements', JSON.stringify(awards));\n\n let resumeData = JSON.parse(localStorage.getItem(\"resumeData\"));\n resumeData.awardsAchievements = [];\n resumeData.awardsAchievements = awards\n localStorage.setItem(\"resumeData\", JSON.stringify(resumeData))\n\n }, [awards]);\n\n const handleInputChange = (index, value) => {\n const updatedAwards = [...awards];\n updatedAwards[index] = value;\n setAwards(updatedAwards);\n };\n\n const addAward = () => {\n setAwards([...awards, \"\"]);\n };\n\n const deleteAward = (index) => {\n const updatedAwards = awards.filter((_, i) => i !== index);\n setAwards(updatedAwards);\n };\n\n return (\n
    \n Awards and Achievements\n {isEditMode ? (\n
    \n {awards.map((award, index) => (\n
    \n handleInputChange(index, e.target.value)}\n placeholder=\"Enter award or achievement\"\n />\n \n
    \n ))}\n \n
    \n ) : (\n\n
      \n {awards.filter(award => award).map((award, index) => (\n
    • {award}
    • \n ))}\n
    \n )}\n
    \n );\n};\n\nexport default AwardsAchievements;","import React, { useState, useEffect } from \"react\";\nimport { useTrail, animated } from \"@react-spring/web\";\nimport \"./CandidateData.scss\";\nimport dbTrash from '../../images/dbTrash.png'\nconst allFields = {\n citizenship: \"Citizenship\",\n specialHiringAuthority: \"Special Hiring Authority\",\n federalExperience: \"Federal Experience\",\n securityClearance: \"Security Clearance\",\n};\n\nconst CandidateData = ({ isEditMode }) => {\n const [candidateData, setCandidateData] = useState({\n citizenship: \"\",\n specialHiringAuthority: \"\",\n federalExperience: \"\",\n securityClearance: \"\",\n });\n\n useEffect(() => {\n const savedCandidateData = localStorage.getItem(\"candidateData\");\n if (savedCandidateData) {\n setCandidateData(JSON.parse(savedCandidateData));\n }\n }, []);\n\n const handleInputChange = (e) => {\n const updatedCandidateData = {\n ...candidateData,\n [e.target.name]: e.target.value,\n };\n setCandidateData(updatedCandidateData);\n \n let resumeData = localStorage.getItem(\"resumeData\") \n ? JSON.parse(localStorage.getItem(\"resumeData\"))\n : {};\n resumeData.candidateData = updatedCandidateData;\n localStorage.setItem(\"resumeData\", JSON.stringify(resumeData));\n localStorage.setItem(\"candidateData\", JSON.stringify(updatedCandidateData));\n };\n\n const deleteField = (fieldName) => {\n const updatedCandidateData = { ...candidateData };\n delete updatedCandidateData[fieldName];\n setCandidateData(updatedCandidateData);\n localStorage.setItem(\"candidateData\", JSON.stringify(updatedCandidateData));\n };\n\n const addField = (fieldName) => {\n const updatedCandidateData = {\n ...candidateData,\n [fieldName]: \"\",\n };\n setCandidateData(updatedCandidateData);\n localStorage.setItem(\"candidateData\", JSON.stringify(updatedCandidateData));\n };\n\n const availableFields = Object.keys(allFields).filter(\n (field) => candidateData[field] === undefined\n );\n\n // React Spring Trail Animation setup\n const candidateFields = Object.keys(candidateData).filter(\n (field) => candidateData[field] !== undefined\n );\n\n const trail = useTrail(candidateFields.length, {\n opacity: isEditMode ? 0 : 1,\n transform: isEditMode ? \"translateY(20px)\" : \"translateY(0px)\",\n from: { opacity: 0, transform: \"translateY(20px)\" },\n reset: true,\n delay: 200,\n });\n\n return (\n
    \n {isEditMode ? (\n candidateFields.map((field) => (\n
    \n \n \n \n
    \n ))\n ) : (\n // Non-edit mode with trail animation\n <>\n {trail.map((style, index) => (\n \n {allFields[candidateFields[index]]}:\n {candidateData[candidateFields[index]] || \"Not provided\"}\n \n ))}\n \n )}\n\n {isEditMode && availableFields.length > 0 && (\n
    \n

    Add Field:

    \n {availableFields.map((field) => (\n addField(field)}\n >\n {allFields[field]}\n \n ))}\n
    \n )}\n
    \n );\n};\n\nexport default CandidateData;","import React, { useState, useEffect } from \"react\";\nimport \"./ContactInfo.scss\";\n\nconst usStates = [\n // State list remains unchanged\n \"Alabama\",\n \"Alaska\",\n \"American Samoa\",\n \"Arizona\",\n \"Arkansas\",\n \"California\",\n \"Colorado\",\n \"Connecticut\",\n \"Delaware\",\n \"District of Columbia\",\n \"Florida\",\n \"Georgia\",\n \"Guam\",\n \"Hawaii\",\n \"Idaho\",\n \"Illinois\",\n \"Indiana\",\n \"Iowa\",\n \"Kansas\",\n \"Kentucky\",\n \"Louisiana\",\n \"Maine\",\n \"Maryland\",\n \"Massachusetts\",\n \"Michigan\",\n \"Minnesota\",\n \"Mississippi\",\n \"Missouri\",\n \"Montana\",\n \"Nebraska\",\n \"Nevada\",\n \"New Hampshire\",\n \"New Jersey\",\n \"New Mexico\",\n \"New York\",\n \"North Carolina\",\n \"North Dakota\",\n \"Northern Mariana Islands\",\n \"Ohio\",\n \"Oklahoma\",\n \"Oregon\",\n \"Pennsylvania\",\n \"Puerto Rico\",\n \"Rhode Island\",\n \"South Carolina\",\n \"South Dakota\",\n \"Tennessee\",\n \"Texas\",\n \"Utah\",\n \"Vermont\",\n \"Virginia\",\n \"Virgin Islands\",\n \"Washington\",\n \"West Virginia\",\n \"Wisconsin\",\n \"Wyoming\",\n \"Armed Forces Americas (AA)\",\n \"Armed Forces Pacific (AP)\",\n \"Armed Forces Europe (AE)\",\n];\n\nconst InlineEdit = ({\n value,\n name,\n onChange,\n placeholder,\n type = \"text\",\n isEditMode,\n style = {},\n}) => {\n const [inputValue, setInputValue] = useState(value);\n\n useEffect(() => {\n setInputValue(value);\n }, [value]);\n\n const handleBlur = () => {\n if (inputValue !== value) {\n onChange({ target: { name, value: inputValue } });\n }\n };\n\n const handleKeyDown = (e) => {\n if (e.key === \"Enter\") {\n handleBlur();\n }\n };\n\n return isEditMode ? (\n setInputValue(e.target.value)}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n autoFocus\n style={style}\n />\n ) : (\n {value || placeholder}\n );\n};\n\nconst formatPhoneNumber = (phoneNumber) => {\n const cleaned = ('' + phoneNumber).replace(/\\D/g, '');\n const match = cleaned.match(/^(\\d{3})(\\d{3})(\\d{4})$/);\n if (match) {\n return `${match[1]}-${match[2]}-${match[3]}`;\n }\n return phoneNumber;\n};\n\nconst ContactInfo = ({ isEditMode }) => {\n const [contactInfo, setContactInfo] = useState({\n fullName: \"\",\n address: \"\",\n city: \"\",\n state: \"\",\n zipCode: \"\",\n telephone: \"\",\n email: \"\",\n });\n\n useEffect(() => {\n const { contactInfo } = JSON.parse(localStorage.getItem(\"resumeData\")) || {};\n\n\n if (contactInfo) {\n try {\n const parsedContactInfo = contactInfo;\n\n if (parsedContactInfo && typeof parsedContactInfo === \"object\") {\n setContactInfo(parsedContactInfo);\n } else {\n console.error(\"Parsed contact info is not valid.\");\n }\n } catch (error) {\n console.error(\"Error parsing contact info from localStorage:\", error);\n localStorage.removeItem(\"contactInfo\");\n }\n }\n }, []);\n\n const handleInputChange = (e) => {\n let value = e.target.value;\n if (e.target.name === \"telephone\") {\n value = formatPhoneNumber(value);\n }\n const updatedContactInfo = {\n ...contactInfo,\n [e.target.name]: value,\n };\n\n let resumeData = localStorage.getItem(\"resumeData\") ? JSON.parse(localStorage.getItem(\"resumeData\")) : {};\n setContactInfo(updatedContactInfo);\n resumeData.contactInfo = updatedContactInfo\n localStorage.setItem(\"resumeData\", JSON.stringify(resumeData))\n\n try {\n localStorage.setItem(\"contactInfo\", JSON.stringify(updatedContactInfo));\n } catch (error) {\n console.error(\"Error saving to localStorage:\", error);\n }\n };\n\n return (\n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n \n {isEditMode ? (
    ) : (,)}\n
    \n
    \n {isEditMode ? (\n \n \n {usStates.map((state) => (\n \n ))}\n \n ) : (\n {contactInfo.state || \"State\"}\n )}\n
    \n
    \n \n
    \n
    \n
    \n \n Phone:\n \n \n
    \n \n Email:\n \n \n
    \n
    \n );\n};\n\nexport default ContactInfo;\n","import React, { useState, useEffect } from \"react\";\nimport \"./Education.scss\";\n\nconst Education = ({ isEditMode }) => {\n const [educations, setEducations] = useState(() => {\n const savedEducations = localStorage.getItem('educations');\n return savedEducations ? JSON.parse(savedEducations) : [\n {\n degreeType: \"\",\n institution: \"\",\n completionDate: \"\",\n gpa: \"\",\n relevantInfo: \"\",\n showFields: {\n institution: true,\n gpa: true,\n },\n },\n ];\n });\n\n useEffect(() => {\n localStorage.setItem('educations', JSON.stringify(educations));\n\n let resumeData = JSON.parse(localStorage.getItem(\"resumeData\"));\n resumeData.education = educations;\n localStorage.setItem(\"resumeData\", JSON.stringify(resumeData))\n }, [educations]);\n\n const handleInputChange = (index, field, value) => {\n const updatedEducations = [...educations];\n updatedEducations[index][field] = value;\n setEducations(updatedEducations);\n };\n\n const toggleField = (index, field) => {\n const updatedEducations = [...educations];\n updatedEducations[index].showFields[field] = !updatedEducations[index].showFields[field];\n setEducations(updatedEducations);\n };\n\n const addEducation = () => {\n setEducations([\n ...educations,\n {\n degreeType: \"\",\n institution: \"\",\n completionDate: \"\",\n gpa: \"\",\n relevantInfo: \"\",\n showFields: {\n institution: true,\n gpa: true,\n },\n },\n ]);\n };\n\n const deleteEducation = (index) => {\n const updatedEducations = educations.filter((_, i) => i !== index);\n setEducations(updatedEducations);\n };\n\n return (\n
    \n Education\n {educations.map((education, index) => (\n
    \n
    \n
    \n {(isEditMode || education.degreeType) && (\n
    \n {isEditMode && }\n {isEditMode ? (\n handleInputChange(index, \"degreeType\", e.target.value)}\n placeholder=\"Enter degree or certification\"\n />\n ) : (\n {education.degreeType}\n )}\n
    \n )}\n\n {education.showFields.institution && (isEditMode || education.institution) && (\n
    \n {isEditMode && }\n {isEditMode ? (\n <>\n handleInputChange(index, \"institution\", e.target.value)}\n placeholder=\"Enter institution, city and state\"\n />\n \n \n ) : (\n {education.institution}\n )}\n
    \n )}\n
    \n
    \n {(isEditMode || education.completionDate) && (\n
    \n {isEditMode && }\n {isEditMode ? (\n handleInputChange(index, \"completionDate\", e.target.value)}\n placeholder=\"Enter completion date\"\n />\n ) : (\n <>Graduation Date: {education.completionDate}\n )}\n
    \n )}\n\n {education.showFields.gpa && (isEditMode || education.gpa) && (\n
    \n {isEditMode && }\n {isEditMode ? (\n <>\n handleInputChange(index, \"gpa\", e.target.value)}\n placeholder=\"Enter GPA\"\n />\n \n \n ) : (\n <>GPA: {education.gpa}\n )}\n
    \n )}\n
    \n
    \n {/* Relevant Info textbox for each education */}\n {(isEditMode || education.relevantInfo) && (\n
    \n {isEditMode && }\n {isEditMode ? (\n handleInputChange(index, \"relevantInfo\", e.target.value)}\n placeholder=\"Enter any relevant information\"\n />\n ) : (\n

    {education.relevantInfo}

    \n )}\n
    \n )}\n\n {isEditMode && (\n \n )}\n
    \n ))}\n {isEditMode && (\n \n )}\n
    \n );\n};\n\nexport default Education;","import axios from 'axios';\n\nconst REACT_APP_OPENAI_API_KEY = 'https://api.openai.com/v1/chat/completions'; // Correct endpoint for chat models\n\nexport const getChatGPTResponse = async (prompt) => {\n try {\n const response = await axios.post(\n REACT_APP_OPENAI_API_KEY,\n {\n model: \"gpt-4\", // Specify the chat model, e.g., GPT-4 or gpt-3.5-turbo\n messages: [\n { role: \"user\", content: prompt }, // User's prompt message\n ],\n max_tokens: 200,\n temperature: 0.7,\n },\n {\n headers: {\n Authorization: `Bearer sk-svcacct-PRM4qBAsqHND2lztWCc3AGRx72FQvS7unE29Yi9TGZkBYVdqZT3BlbkFJLdKnTr6rDvrnaQHyoDveJrn1INjokAUbIgdz44DtA2g3I8bAA`, // Use the correct environment variable for the API key\n 'Content-Type': 'application/json',\n },\n }\n );\n return response.data.choices[0].message.content; // Extract and return the chat response\n } catch (error) {\n console.error('Error fetching ChatGPT response:', error.response?.data || error.message);\n throw error;\n }\n};\n\nexport const checkSpelling = async (text) => {\n const prompt = `Please correct the spelling and grammar of the following text: \"${text}\". Return only the corrected text.`;\n return await getChatGPTResponse(prompt);\n};","import React, { useState, useEffect } from \"react\";\nimport \"./EmploymentHistory.scss\";\nimport { getChatGPTResponse } from \"../../services/chatGPTService\";\nimport jsPDF from \"jspdf\"; // Import jsPDF\nimport html2canvas from \"html2canvas\"; // Import html2canvas\nimport dbTrash from '../../images/dbTrash.png'\n// Generate an array of years from 50 years ago to the current year\nconst years = Array.from({ length: 51 }, (_, i) => new Date().getFullYear() - i);\n\n// Generate an array of hours per week from 4 to 40\nconst hoursPerWeekOptions = Array.from({ length: 37 }, (_, i) => i + 4);\n\nconst EmploymentHistory = ({ isEditMode }) => {\n const [experiences, setExperiences] = useState(() => {\n const savedExperiences = localStorage.getItem(\"employmentHistory\");\n return savedExperiences\n ? JSON.parse(savedExperiences)\n : [\n {\n company: \"\",\n address: \"\",\n title: \"\",\n fromYear: \"\",\n toYear: \"\",\n hoursPerWeek: \"\",\n rankOrTitle: \"\",\n additionalInfo: [\n {\n content: \"\",\n mode: \"manual\", // Default to manual input\n gptPrompt: \"\", // Store GPT prompt for each additional info item\n },\n ],\n },\n ];\n });\n\n const [loading, setLoading] = useState(false);\n\n useEffect(() => {\n localStorage.setItem(\"employmentHistory\", JSON.stringify(experiences));\n\n let resumeData = JSON.parse(localStorage.getItem(\"resumeData\")) || {};\n resumeData.employmentHistory = [];\n resumeData.employmentHistory = experiences;\n localStorage.setItem(\"resumeData\", JSON.stringify(resumeData))\n }, [experiences]);\n\n const handleInputChange = (index, field, value) => {\n const updatedExperiences = [...experiences];\n updatedExperiences[index][field] = value;\n setExperiences(updatedExperiences);\n };\n\n const handleAdditionalInfoChange = (expIndex, infoIndex, value) => {\n const updatedExperiences = [...experiences];\n updatedExperiences[expIndex].additionalInfo[infoIndex].content = value;\n setExperiences(updatedExperiences);\n };\n\n const handleGptPromptChange = (expIndex, infoIndex, value) => {\n const updatedExperiences = [...experiences];\n updatedExperiences[expIndex].additionalInfo[infoIndex].gptPrompt = value;\n setExperiences(updatedExperiences);\n };\n\n const toggleInputMode = (expIndex, infoIndex) => {\n const updatedExperiences = [...experiences];\n const currentMode = updatedExperiences[expIndex].additionalInfo[infoIndex].mode;\n updatedExperiences[expIndex].additionalInfo[infoIndex].mode = currentMode === \"manual\" ? \"gpt\" : \"manual\";\n setExperiences(updatedExperiences);\n };\n\n const addAdditionalInfo = (expIndex) => {\n const updatedExperiences = [...experiences];\n updatedExperiences[expIndex].additionalInfo.push({\n content: \"\",\n mode: \"manual\",\n gptPrompt: \"\",\n });\n setExperiences(updatedExperiences);\n };\n\n const deleteAdditionalInfo = (expIndex, infoIndex) => {\n const updatedExperiences = [...experiences];\n updatedExperiences[expIndex].additionalInfo = updatedExperiences[expIndex].additionalInfo.filter(\n (_, i) => i !== infoIndex\n );\n setExperiences(updatedExperiences);\n };\n\n const handleGptPrompt = async (expIndex, infoIndex) => {\n const gptPrompt = experiences[expIndex].additionalInfo[infoIndex].gptPrompt;\n if (!gptPrompt.trim()) return;\n\n setLoading(true);\n try {\n const gptResponse = await getChatGPTResponse(gptPrompt);\n const updatedExperiences = [...experiences];\n\n updatedExperiences[expIndex].additionalInfo[infoIndex].content = gptResponse;\n // Switch to manual mode after updating the content\n updatedExperiences[expIndex].additionalInfo[infoIndex].mode = \"manual\";\n setExperiences(updatedExperiences); // Update the state\n } catch (error) {\n console.error(\"Error fetching GPT response:\", error);\n alert(error)\n } finally {\n setLoading(false);\n }\n };\n\n const addExperience = () => {\n setExperiences([\n ...experiences,\n {\n company: \"\",\n address: \"\",\n title: \"\",\n fromYear: \"\",\n toYear: \"\",\n hoursPerWeek: \"\",\n rankOrTitle: \"\",\n additionalInfo: [\n {\n content: \"\",\n mode: \"manual\",\n gptPrompt: \"\",\n },\n ],\n },\n ]);\n };\n\n const deleteExperience = (index) => {\n const updatedExperiences = experiences.filter((_, i) => i !== index);\n setExperiences(updatedExperiences);\n };\n\n // Function to export the component as a PDF\n const exportToPDF = () => {\n const input = document.querySelector(\".employmentHistoryContainer\"); // Select the component to convert\n\n html2canvas(input, { scale: 2 }).then((canvas) => {\n const imgData = canvas.toDataURL(\"image/png\");\n\n const pdf = new jsPDF({\n orientation: \"portrait\",\n unit: \"pt\",\n format: [612, 792], // 8.5 x 11 inches in points\n });\n\n const imgWidth = 612; // 8.5 inches in points\n const pageHeight = 792; // 11 inches in points\n const imgHeight = (canvas.height * imgWidth) / canvas.width;\n let heightLeft = imgHeight;\n\n let position = 0;\n\n // Add first page\n pdf.addImage(imgData, \"PNG\", 0, position, imgWidth, imgHeight);\n heightLeft -= pageHeight;\n\n // Add additional pages if necessary\n while (heightLeft >= 0) {\n position = heightLeft - imgHeight;\n pdf.addPage();\n pdf.addImage(imgData, \"PNG\", 0, position, imgWidth, imgHeight);\n heightLeft -= pageHeight;\n }\n\n pdf.save(\"employment_history.pdf\"); // Save the PDF\n });\n };\n\n return (\n
    \n Employment History\n {experiences.map((experience, index) => (\n
    \n
    \n
    \n {/* Company */}\n {isEditMode || experience.company ? (\n
    \n {isEditMode && Company:}\n {isEditMode ? (\n handleInputChange(index, \"company\", e.target.value)}\n placeholder=\"Enter company name\"\n className=\"\"\n />\n ) : (\n {experience.company}\n )}\n
    \n ) : null}\n\n {/* Title */}\n {isEditMode || experience.title ? (\n
    \n {isEditMode && Title:}\n {isEditMode ? (\n handleInputChange(index, \"title\", e.target.value)}\n placeholder=\"Enter title\"\n className=\"\"\n />\n ) : (\n {experience.title}\n )}\n
    \n ) : null}\n
    \n\n
    \n
    \n {/* From Year */}\n {isEditMode || experience.fromYear ? (\n
    \n {isEditMode && From Year:}\n {isEditMode ? (\n handleInputChange(index, \"fromYear\", e.target.value)}\n >\n \n {years.map((year) => (\n \n ))}\n \n ) : (\n {experience.fromYear}\n )}\n
    \n ) : null}\n\n {!isEditMode ? (\n
    -
    \n ) : (
    )}\n\n {/* To Year */}\n {isEditMode || experience.toYear ? (\n
    \n {isEditMode && To Year:}\n {isEditMode ? (\n handleInputChange(index, \"toYear\", e.target.value)}\n >\n \n {years.map((year) => (\n \n ))}\n \n ) : (\n {experience.toYear}\n )}\n \n
    \n \n ) : null}\n \n
    \n
    \n Hours Per Week: \n {isEditMode ? (\n handleInputChange(index, \"hoursPerWeek\", e.target.value)}\n >\n \n {hoursPerWeekOptions.map((hours) => (\n \n ))}\n \n ) : (\n {experience.hoursPerWeek}\n )}\n
    \n
    \n\n
    \n\n
    \n {experience.additionalInfo.map((info, infoIndex) => (\n
    \n {isEditMode ? (\n <>\n
    \n toggleInputMode(index, infoIndex)}\n >\n Switch to {info.mode === \"manual\" ? \"GPT\" : \"Manual\"} Mode\n \n
    \n {info.mode === \"manual\" ? (\n <>\n \n handleAdditionalInfoChange(\n index,\n infoIndex,\n e.target.value\n )\n }\n placeholder=\"Enter additional information\"\n style={{ width: \"100%\", marginTop: \"10px\", marginRight: \"10px\" }}\n />\n deleteAdditionalInfo(index, infoIndex)}\n >\n \"delete\n \n \n ) : (\n \n \n handleGptPromptChange(\n index,\n infoIndex,\n e.target.value\n )\n }\n placeholder=\"Enter GPT prompt\"\n style={{\n width: \"100%\",\n marginTop: \"10px\",\n marginRight: \"10px\",\n }}\n />\n \n handleGptPrompt(index, infoIndex)}\n disabled={loading}\n >\n {loading ? \"Fetching...\" : \"Generate with GPT\"}\n \n deleteAdditionalInfo(index, infoIndex)}\n >\n \"delete\n \n
    \n
    \n )}\n \n ) : info.content && (\n
  • {info.content}
  • \n )}\n \n ))}\n {isEditMode && (\n addAdditionalInfo(index)}\n >\n Add Additional Info\n \n )}\n \n\n {isEditMode && (\n deleteExperience(index)}\n >\n Delete Work Experience\n \n )}\n \n ))}\n\n {isEditMode && (\n \n )}\n \n );\n};\n\nexport default EmploymentHistory;","import React, { useState, useEffect } from \"react\";\nimport './ExtraActivities.scss'\nimport dbTrash from '../../images/dbTrash.png'\n\nconst ExtraActivitiesInfo = ({ isEditMode }) => {\n const [activities, setActivities] = useState(() => {\n const savedActivities = localStorage.getItem('extraActivitiesInfo');\n return savedActivities ? JSON.parse(savedActivities) : [\"\"];\n });\n\n useEffect(() => {\n localStorage.setItem('extraActivitiesInfo', JSON.stringify(activities));\n let resumeData = JSON.parse(localStorage.getItem(\"resumeData\"));\n resumeData.extraActivitiesInfo = [];\n resumeData.extraActivitiesInfo = activities\n\n resumeData.extraActivities = [];\n resumeData.extraActivities = activities\n localStorage.setItem(\"resumeData\", JSON.stringify(resumeData))\n }, [activities]);\n\n const handleInputChange = (index, value) => {\n const updatedActivities = [...activities];\n updatedActivities[index] = value;\n setActivities(updatedActivities);\n };\n\n const addActivity = () => {\n setActivities([...activities, \"\"]);\n };\n\n const deleteActivity = (index) => {\n const updatedActivities = activities.filter((_, i) => i !== index);\n setActivities(updatedActivities);\n };\n\n return (\n
    \n Extra Activities and Information\n {isEditMode ? (\n
    \n {activities.map((activity, index) => (\n
    \n handleInputChange(index, e.target.value)}\n placeholder=\"Enter extra activity or information\"\n />\n \n
    \n ))}\n \n
    \n ) : (\n
      \n {activities.filter(activity => activity).map((activity, index) => (\n
    • {activity}
    • \n ))}\n
    \n )}\n
    \n );\n};\n\nexport default ExtraActivitiesInfo;","import React, { useState, useEffect } from \"react\";\nimport './JobRelatedTraining.scss';\n\nconst JobRelatedTraining = ({ isEditMode }) => {\n const [trainings, setTrainings] = useState(() => {\n const savedTrainings = localStorage.getItem('jobRelatedTraining');\n return savedTrainings ? JSON.parse(savedTrainings) : [\"\"];\n });\n\n useEffect(() => {\n localStorage.setItem('jobRelatedTraining', JSON.stringify(trainings));\n let resumeData = JSON.parse(localStorage.getItem(\"resumeData\"));\n resumeData.jobRelatedTraining = [];\n resumeData.jobRelatedTraining = trainings\n localStorage.setItem(\"resumeData\", JSON.stringify(resumeData))\n }, [trainings]);\n\n const handleInputChange = (index, value) => {\n const updatedTrainings = [...trainings];\n updatedTrainings[index] = value;\n setTrainings(updatedTrainings);\n };\n\n const addTraining = () => {\n setTrainings([...trainings, \"\"]);\n };\n\n const deleteTraining = (index) => {\n const updatedTrainings = trainings.filter((_, i) => i !== index);\n setTrainings(updatedTrainings);\n };\n\n return (\n
    \n Job-Related Training\n {isEditMode ? (\n
    \n {trainings.map((training, index) => (\n
    \n handleInputChange(index, e.target.value)}\n placeholder=\"Enter job-related training\"\n />\n \n
    \n ))}\n \n
    \n ) : (\n
      \n {trainings.filter(training => training).map((training, index) => (\n
    • {training}
    • \n ))}\n
    \n )}\n
    \n );\n};\n\nexport default JobRelatedTraining;","import React, { useState, useEffect } from \"react\";\nimport { useTrail, animated } from \"@react-spring/web\";\nimport \"./Objective.scss\";\nimport { getChatGPTResponse } from \"../../services/chatGPTService\"; // Import GPT service\n\nconst Objective = ({ isEditMode, objective, onSave }) => {\n const [objectiveText, setObjectiveText] = useState(JSON.parse(localStorage.getItem(\"resumeData\"))?.objective || \"\"); // Initialize with passed data or empty string\n const [useGPT, setUseGPT] = useState(false); // State for toggling between manual and GPT mode\n const [gptPrompt, setGptPrompt] = useState(\"\"); // State for GPT prompt input\n const [loading, setLoading] = useState(false); // State to handle loading for GPT response\n const [gptGenerated, setGptGenerated] = useState(false); // Tracks if GPT has generated the response\n\n useEffect(() => {\n setObjectiveText(objective || \"\"); // Update local state if objective changes\n }, [objective]);\n\n // Handle input change when in manual mode\n const handleInputChange = (e) => {\n setObjectiveText(e.target.value);\n\n let resumeData = JSON.parse(localStorage.resumeData);\n resumeData.objective = JSON.stringify(e.target.value)\n localStorage.setItem(\"resumeData\", JSON.stringify(resumeData))\n };\n\n // Handle GPT prompt change\n const handlePromptChange = (e) => {\n setGptPrompt(e.target.value);\n };\n\n // Handle GPT response generation using custom prompt\n const handleGenerateGPT = async () => {\n if (!gptPrompt.trim()) {\n alert(\"Please enter a valid GPT prompt.\");\n return;\n }\n\n setLoading(true);\n try {\n const gptResponse = await getChatGPTResponse(gptPrompt);\n setObjectiveText(gptResponse);\n setGptGenerated(true); // Set GPT as generated\n onSave(gptResponse); // Save the generated GPT response\n // console.log(gptResponse)\n\n let resumeData = JSON.parse(localStorage.resumeData);\n resumeData.objective = gptResponse.startsWith('\"') ? gptResponse.substr(1, gptResponse.length -2) : gptResponse\n localStorage.setItem(\"resumeData\", JSON.stringify(resumeData))\n } catch (error) {\n // console.error(\"Error fetching GPT response:\", error);\n setObjectiveText(\"Failed to generate response.\");\n } finally {\n setLoading(false);\n }\n };\n\n // Toggle between manual input and GPT prompt\n const toggleUseGPT = () => {\n setUseGPT((prev) => !prev);\n setGptGenerated(false); // Reset GPT-generated flag\n };\n\n // Redo GPT - clear the current objective and go back to GPT input\n const handleRedo = () => {\n setGptGenerated(false); // Re-enable GPT prompt input\n setGptPrompt(\"\"); // Clear previous GPT prompt\n setObjectiveText(\"\"); // Clear the previous GPT response\n };\n\n // Save the manual objective when in manual mode\n const handleSaveObjective = () => {\n onSave(objectiveText); // Save the manual input\n };\n\n // React Spring Trail Animation setup\n const items = [objectiveText || \"No objective provided.\"];\n const trail = useTrail(items.length, {\n opacity: isEditMode ? 0 : 1,\n transform: isEditMode ? \"translateY(20px)\" : \"translateY(0px)\",\n from: { opacity: 0, transform: \"translateY(20px)\" },\n reset: true,\n delay: 200,\n });\n\n return (\n
    \n
    \n Objective\n {isEditMode && (\n \n )}\n
    \n\n\n {isEditMode ? (\n useGPT ? (\n
    \n {!gptGenerated ? (\n <>\n \n \n {loading ? \"Generating...\" : \"Generate Objective with AI\"}\n \n \n ) : (\n\n <>\n \n \n \n )}\n
    \n ) : (\n <>\n \n \n \n )\n ) : (\n // Non-edit mode with trail animation\n
    \n {trail.map((style, index) => (\n \n {items[index]}\n \n ))}\n
    \n )}\n
    \n );\n};\n\nexport default Objective;","import React, { useState, useEffect } from \"react\";\nimport './ProfessionalAssociations.scss';\n\nconst ProfessionalAssociations = ({ isEditMode }) => {\n const [associations, setAssociations] = useState(() => {\n const savedAssociations = localStorage.getItem('professionalAssociations');\n return savedAssociations ? JSON.parse(savedAssociations) : [\"\"];\n });\n\n useEffect(() => {\n localStorage.setItem('professionalAssociations', JSON.stringify(associations));\n\n let resumeData = JSON.parse(localStorage.getItem(\"resumeData\"));\n resumeData.professionalAssociations = [];\n resumeData.professionalAssociations = associations\n localStorage.setItem(\"resumeData\", JSON.stringify(resumeData))\n \n }, [associations]);\n\n const handleInputChange = (index, value) => {\n const updatedAssociations = [...associations];\n updatedAssociations[index] = value;\n setAssociations(updatedAssociations);\n };\n\n const addAssociation = () => {\n setAssociations([...associations, \"\"]);\n };\n\n const deleteAssociation = (index) => {\n const updatedAssociations = associations.filter((_, i) => i !== index);\n setAssociations(updatedAssociations);\n };\n\n return (\n
    \n Professional Associations\n {isEditMode ? (\n
    \n {associations.map((association, index) => (\n
    \n handleInputChange(index, e.target.value)}\n placeholder=\"Enter professional association\"\n />\n \n
    \n ))}\n \n
    \n ) : (\n
      \n {associations.filter(association => association).map((association, index) => (\n
    • {association}
    • \n ))}\n
    \n )}\n
    \n );\n};\n\nexport default ProfessionalAssociations;","import React, { useState, useEffect } from \"react\";\nimport \"./SkillsSummary.scss\";\nimport dbTrash from '../../images/dbTrash.png'\nimport { getChatGPTResponse } from \"../../services/chatGPTService\";\n\nconst SkillsSummary = ({ isEditMode }) => {\n const [skillCategories, setSkillCategories] = useState([]);\n const [useAI, setUseAI] = useState(false);\n const [jobTitle, setJobTitle] = useState(\"\");\n const [loading, setLoading] = useState(false);\n\n useEffect(() => {\n let resumeData = JSON.parse(localStorage.getItem(\"resumeData\")) || {};\n // Load saved skills from localStorage on component mount\n const savedCategories = resumeData.skillsSummary?.categories || [];\n \n if (savedCategories.length > 0) {\n setSkillCategories(savedCategories);\n } else {\n // For backward compatibility - convert columns to categories if they exist\n const savedSkillsColumn1 = resumeData.skillsSummary?.skillsColumn1 || [];\n const savedSkillsColumn2 = resumeData.skillsSummary?.skillsColumn2 || [];\n \n if (savedSkillsColumn1.length > 0 || savedSkillsColumn2.length > 0) {\n const initialCategories = [];\n \n if (savedSkillsColumn1.length > 0) {\n initialCategories.push({\n category: \"Key Skills\",\n skills: savedSkillsColumn1\n });\n }\n \n if (savedSkillsColumn2.length > 0) {\n initialCategories.push({\n category: \"Additional Skills\",\n skills: savedSkillsColumn2\n });\n }\n \n setSkillCategories(initialCategories);\n saveSkillsToLocalStorage(initialCategories);\n }\n }\n }, []);\n\n const saveSkillsToLocalStorage = (categories) => {\n let resumeData = JSON.parse(localStorage.resumeData);\n \n resumeData.skillsSummary = {\n categories: categories\n };\n\n localStorage.setItem(\"resumeData\", JSON.stringify(resumeData));\n };\n\n const handleAddCategory = () => {\n const newCategory = {\n category: \"New Category\",\n skills: [\"\"]\n };\n const updatedCategories = [...skillCategories, newCategory];\n setSkillCategories(updatedCategories);\n saveSkillsToLocalStorage(updatedCategories);\n };\n\n const handleCategoryNameChange = (index, newName) => {\n const updatedCategories = [...skillCategories];\n updatedCategories[index].category = newName;\n setSkillCategories(updatedCategories);\n saveSkillsToLocalStorage(updatedCategories);\n };\n\n const handleAddSkill = (categoryIndex) => {\n const updatedCategories = [...skillCategories];\n updatedCategories[categoryIndex].skills.push(\"\");\n setSkillCategories(updatedCategories);\n saveSkillsToLocalStorage(updatedCategories);\n };\n\n const handleSkillChange = (categoryIndex, skillIndex, value) => {\n const updatedCategories = [...skillCategories];\n updatedCategories[categoryIndex].skills[skillIndex] = value;\n setSkillCategories(updatedCategories);\n saveSkillsToLocalStorage(updatedCategories);\n };\n\n const handleDeleteSkill = (categoryIndex, skillIndex) => {\n const updatedCategories = [...skillCategories];\n updatedCategories[categoryIndex].skills = updatedCategories[categoryIndex].skills.filter((_, i) => i !== skillIndex);\n setSkillCategories(updatedCategories);\n saveSkillsToLocalStorage(updatedCategories);\n };\n\n const handleDeleteCategory = (categoryIndex) => {\n const updatedCategories = skillCategories.filter((_, i) => i !== categoryIndex);\n setSkillCategories(updatedCategories);\n saveSkillsToLocalStorage(updatedCategories);\n };\n\n const handleGenerateSkills = async () => {\n if (!jobTitle.trim()) {\n alert(\"Please enter a job title.\");\n return;\n }\n\n setLoading(true);\n try {\n const prompt = `Generate 3 skills per row for the job title: ${jobTitle}. Return a JSON array where each element has a \"category\" and a \"skills\" array.`;\n const response = await getChatGPTResponse(prompt);\n\n try {\n const lastBracketIndex = response.lastIndexOf(\"]\");\n const validJson = response.substring(0, lastBracketIndex + 1);\n const skills = JSON.parse(validJson);\n \n setSkillCategories(skills);\n saveSkillsToLocalStorage(skills);\n } catch (parseError) {\n console.error(\"Error parsing skills:\", parseError);\n alert(\"The response was incomplete or invalid. Please try again.\");\n }\n } catch (error) {\n console.error(\"Error generating skills:\", error);\n alert(\"An error occurred while generating skills. Please try again.\");\n } finally {\n setLoading(false);\n }\n };\n\n return (\n
    \n Skills Summary\n
    \n {isEditMode ? (\n <>\n Recommended 4 skills max per category. (ex: Leadership, Communication, Risk Management, Time Management)\n
    \n setUseAI((prev) => !prev)}\n >\n {useAI ? \"Switch to Manual Input\" : \"Use AI\"}\n \n
    \n \n {useAI ? (\n
    \n

    Generate skills for

    \n setJobTitle(e.target.value)}\n placeholder=\"Enter job title\"\n className=\"inputLabelLarge\"\n />\n \n {loading ? \"Generating...\" : \"Generate Skills\"}\n \n
    \n ) : null}\n \n ) : null}\n \n {useAI && skillCategories.length > 0 && !isEditMode ? (\n
    \n {skillCategories.map((category, index) => (\n
    \n

    {category.category}

    \n
    \n {category.skills.join(\", \")}\n
    \n
    \n ))}\n
    \n ) : (\n
    \n {skillCategories.map((category, categoryIndex) => (\n
    \n {isEditMode && !useAI ? (\n
    \n handleCategoryNameChange(categoryIndex, e.target.value)}\n placeholder=\"Enter category name\"\n className=\"categoryInput\"\n />\n handleDeleteCategory(categoryIndex)}\n >\n \"delete\n \n
    \n ) : (\n
    {category.category}
    \n )}\n \n
    \n {isEditMode && !useAI ? (\n category.skills.map((skill, skillIndex) => (\n
    \n handleSkillChange(categoryIndex, skillIndex, e.target.value)}\n placeholder=\"Enter skill\"\n />\n handleDeleteSkill(categoryIndex, skillIndex)}\n >\n \"delete\n \n
    \n ))\n ) : (\n
      \n {category.skills.map((skill, index) => (\n
    • {skill}
    • \n ))}\n
    \n )}\n \n {isEditMode && !useAI && (\n \n )}\n
    \n
    \n ))}\n \n {isEditMode && !useAI && (\n
    \n \n
    \n )}\n
    \n )}\n
    \n );\n};\n\nexport default SkillsSummary;","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgDashboardImg(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n enableBackground: \"new 0 0 48 48\",\n height: \"48px\",\n viewBox: \"0 0 48 48\",\n width: \"48px\",\n xmlSpace: \"preserve\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Expanded\"\n }, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24,48C10.767,48,0,37.233,0,24S10.767,0,24,0s24,10.767,24,24S37.233,48,24,48z M24,2C11.869,2,2,11.869,2,24 s9.869,22,22,22s22-9.869,22-22S36.131,2,24,2z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24,28c-2.206,0-4-1.794-4-4s1.794-4,4-4s4,1.794,4,4S26.206,28,24,28z M24,22c-1.103,0-2,0.897-2,2s0.897,2,2,2 s2-0.897,2-2S25.103,22,24,22z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26.122,22.879c-0.256,0-0.512-0.098-0.707-0.293c-0.391-0.391-0.391-1.023,0-1.414l9.899-9.899 c0.391-0.391,1.023-0.391,1.414,0s0.391,1.023,0,1.414l-9.899,9.899C26.633,22.781,26.377,22.879,26.122,22.879z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9,25H5c-0.552,0-1-0.447-1-1s0.448-1,1-1h4c0.552,0,1,0.447,1,1S9.552,25,9,25z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.447,32.271c-0.393,0-0.765-0.232-0.924-0.617c-0.211-0.511,0.031-1.096,0.542-1.307l3.696-1.53 c0.509-0.213,1.095,0.03,1.306,0.541c0.211,0.511-0.031,1.096-0.542,1.307l-3.696,1.53C6.704,32.246,6.574,32.271,6.447,32.271z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M41.552,32.271c-0.127,0-0.257-0.024-0.382-0.076l-3.695-1.531c-0.51-0.212-0.752-0.797-0.541-1.307 c0.211-0.511,0.797-0.754,1.307-0.541l3.695,1.531c0.51,0.212,0.752,0.797,0.541,1.307 C42.316,32.039,41.944,32.271,41.552,32.271z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.999,25.001L42.999,25.001l-4-0.001c-0.552,0-1-0.448-1-1c0-0.553,0.448-1,1-1l0,0l4,0.001c0.553,0,1,0.448,1,1 C43.999,24.554,43.551,25.001,42.999,25.001z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M37.858,19.26c-0.393,0-0.765-0.232-0.924-0.617c-0.211-0.511,0.031-1.096,0.542-1.307l3.695-1.529 c0.509-0.211,1.095,0.031,1.306,0.541c0.211,0.511-0.031,1.096-0.542,1.307l-3.695,1.529 C38.115,19.235,37.986,19.26,37.858,19.26z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29.74,11.142c-0.127,0-0.257-0.024-0.382-0.076c-0.51-0.212-0.752-0.797-0.541-1.307l1.531-3.694 c0.211-0.51,0.796-0.752,1.307-0.541c0.51,0.212,0.752,0.797,0.541,1.307l-1.531,3.694C30.504,10.909,30.132,11.142,29.74,11.142 z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24,10L24,10c-0.553,0-1-0.448-1-1l0.001-3.999c0-0.553,0.448-1,1-1l0,0c0.553,0,1,0.448,1,1L25,9 C25,9.553,24.552,10,24,10z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.26,11.142c-0.393,0-0.765-0.232-0.924-0.617l-1.529-3.695c-0.211-0.511,0.031-1.096,0.542-1.307 c0.51-0.212,1.096,0.031,1.306,0.541l1.529,3.695c0.211,0.511-0.031,1.096-0.542,1.307C18.517,11.117,18.388,11.142,18.26,11.142 z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.394,14.394c-0.256,0-0.512-0.098-0.708-0.293l-2.827-2.829c-0.39-0.391-0.39-1.024,0-1.414 c0.391-0.391,1.024-0.391,1.415,0l2.827,2.829c0.39,0.391,0.39,1.024,0,1.414C13.905,14.296,13.649,14.394,13.394,14.394z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.142,19.26c-0.127,0-0.257-0.024-0.383-0.076l-3.695-1.532c-0.51-0.212-0.752-0.797-0.541-1.307 s0.795-0.753,1.307-0.541l3.695,1.532c0.51,0.212,0.752,0.797,0.541,1.307C10.906,19.027,10.534,19.26,10.142,19.26z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M33,40H15c-0.552,0-1-0.447-1-1v-6c0-0.553,0.448-1,1-1h18c0.552,0,1,0.447,1,1v6C34,39.553,33.552,40,33,40z M16,38h16 v-4H16V38z\"\n }))))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgDashboardImg);\nexport default __webpack_public_path__ + \"static/media/dashboardImg.b7941c13e243dd88a8b2cce9cf6ca91e.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgExportPdf(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n height: 64,\n preserveAspectRatio: \"xMidYMid\",\n viewBox: \"0 0 49 64\",\n width: 49,\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\n .cls-1 {\\n fill: #cb0606;\\n }\\n\\n .cls-1, .cls-2, .cls-3 {\\n fill-rule: evenodd;\\n }\\n\\n .cls-2 {\\n fill: #fb8d8d;\\n }\\n\\n .cls-3 {\\n fill: #fff;\\n }\\n \"))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M49.000,16.842 L49.000,58.947 C49.000,61.738 46.730,64.000 43.931,64.000 L5.069,64.000 C2.269,64.000 -0.000,61.738 -0.000,58.947 L-0.000,5.053 C-0.000,2.262 2.269,-0.000 5.069,-0.000 L32.103,-0.000 L49.000,16.842 Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-2\",\n d: \"M49.000,15.899 L49.000,17.995 L35.187,17.995 C32.327,17.995 31.008,15.675 31.008,12.814 L31.008,-0.000 L33.100,-0.000 L49.000,15.899 Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-3\",\n d: \"M37.606,34.047 C37.170,33.903 36.750,33.830 36.345,33.830 C35.885,33.830 35.569,33.925 35.396,34.115 C35.224,34.305 35.138,34.641 35.138,35.124 L35.138,36.047 L37.071,36.047 L37.071,37.901 L35.138,37.901 L35.138,45.536 L32.796,45.536 L32.796,37.901 L31.589,37.901 L31.589,36.047 L32.796,36.047 L32.796,35.124 C32.796,33.948 33.088,33.098 33.672,32.573 C34.256,32.048 35.134,31.786 36.308,31.786 C36.859,31.786 37.443,31.861 38.060,32.012 L37.606,34.047 ZM27.796,44.613 C27.360,44.981 26.900,45.274 26.416,45.491 C25.932,45.708 25.382,45.816 24.765,45.816 C23.567,45.816 22.650,45.385 22.015,44.523 C21.379,43.660 21.062,42.442 21.062,40.868 C21.062,39.258 21.411,38.007 22.110,37.114 C22.809,36.222 23.790,35.775 25.055,35.775 C25.503,35.775 25.962,35.867 26.434,36.051 C26.906,36.235 27.297,36.469 27.605,36.752 L27.605,32.066 L29.947,32.066 L29.947,45.536 L27.796,45.536 L27.796,44.613 ZM27.605,38.679 C27.357,38.456 27.050,38.258 26.684,38.086 C26.318,37.915 25.944,37.829 25.563,37.829 C24.934,37.829 24.429,38.099 24.048,38.638 C23.666,39.178 23.476,39.909 23.476,40.832 C23.476,41.743 23.632,42.457 23.943,42.976 C24.255,43.495 24.737,43.754 25.391,43.754 C25.778,43.754 26.173,43.665 26.575,43.487 C26.977,43.309 27.321,43.090 27.605,42.831 L27.605,38.679 ZM17.595,45.201 C17.020,45.611 16.334,45.816 15.535,45.816 C14.482,45.816 13.584,45.488 12.840,44.830 L12.840,49.109 L10.498,49.109 L10.498,36.047 L12.658,36.047 L12.658,36.978 C13.094,36.604 13.552,36.310 14.033,36.096 C14.514,35.882 15.066,35.775 15.689,35.775 C16.893,35.775 17.810,36.197 18.439,37.042 C19.068,37.886 19.383,39.113 19.383,40.723 C19.383,41.743 19.229,42.641 18.920,43.419 C18.611,44.197 18.170,44.791 17.595,45.201 ZM16.488,38.602 C16.167,38.086 15.689,37.829 15.054,37.829 C14.673,37.829 14.281,37.918 13.879,38.095 C13.476,38.273 13.130,38.492 12.840,38.751 L12.840,42.903 C13.088,43.127 13.395,43.324 13.761,43.496 C14.127,43.668 14.503,43.754 14.891,43.754 C15.532,43.754 16.039,43.481 16.411,42.935 C16.783,42.389 16.969,41.664 16.969,40.760 C16.969,39.837 16.808,39.118 16.488,38.602 Z\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgExportPdf);\nexport default __webpack_public_path__ + \"static/media/exportPDF.60ce916f4183695b45ff14d493c88d65.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _g2, _g3, _g4, _g5, _g6, _g7, _g8, _g9, _g10, _g11, _g12, _g13, _g14, _g15, _g16, _g17, _g18, _g19, _g20, _g21, _g22, _g23, _g24, _g25, _g26, _g27, _g28, _g29, _g30;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgSaveFile(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n enableBackground: \"new 0 0 32 32\",\n viewBox: \"0 0 32 32\",\n xmlSpace: \"preserve\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_2\"\n })), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_3\"\n })), _g3 || (_g3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_4\"\n })), _g4 || (_g4 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_5\"\n })), _g5 || (_g5 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_6\"\n })), _g6 || (_g6 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_7\"\n })), _g7 || (_g7 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_8\"\n })), _g8 || (_g8 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_9\"\n })), _g9 || (_g9 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_10\"\n })), _g10 || (_g10 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_11\"\n })), _g11 || (_g11 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_12\"\n })), _g12 || (_g12 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_13\"\n })), _g13 || (_g13 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_14\"\n })), _g14 || (_g14 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_15\"\n })), _g15 || (_g15 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_16\"\n })), _g16 || (_g16 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_17\"\n })), _g17 || (_g17 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_18\"\n })), _g18 || (_g18 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_19\"\n })), _g19 || (_g19 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_20\"\n })), _g20 || (_g20 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_21\"\n })), _g21 || (_g21 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_22\"\n })), _g22 || (_g22 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_23\"\n })), _g23 || (_g23 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_24\"\n })), _g24 || (_g24 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_25\"\n })), _g25 || (_g25 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_26\"\n })), _g26 || (_g26 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_27\"\n })), _g27 || (_g27 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_28\"\n }, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31,8v22c0,0.55-0.45,1-1,1H2c-0.55,0-1-0.45-1-1V2c0-0.55,0.45-1,1-1h22c0.27,0,0.52,0.11,0.71,0.29l6,6 C30.89,7.48,31,7.73,31,8z\",\n fill: \"#48B1DD\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25,1.58V10c0,0.55-0.45,1-1,1H8c-0.55,0-1-0.45-1-1V1h17c0.27,0,0.52,0.11,0.71,0.29L25,1.58z\",\n fill: \"#96CEE5\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25,20v11H7V20c0-0.55,0.45-1,1-1h16C24.55,19,25,19.45,25,20z\",\n fill: \"#96CEE5\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20,1v5c0,0.55-0.45,1-1,1s-1-0.45-1-1V1H20z\",\n fill: \"#4391B2\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19,26h-6c-0.5527,0-1-0.4478-1-1s0.4473-1,1-1h6c0.5527,0,1,0.4478,1,1S19.5527,26,19,26z\",\n fill: \"#4391B2\"\n })))), _g28 || (_g28 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_29\"\n })), _g29 || (_g29 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_30\"\n })), _g30 || (_g30 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_31\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgSaveFile);\nexport default __webpack_public_path__ + \"static/media/saveFile.e6d57a86d132bae5373dd45f8267a1b3.svg\";\nexport { ForwardRef as ReactComponent };","import { animated, useSpring } from \"@react-spring/web\"; // Import react-spring for animation\nimport { saveAs } from \"file-saver\";\nimport html2canvas from \"html2canvas\";\nimport jsPDF from \"jspdf\";\nimport { jwtDecode } from \"jwt-decode\";\nimport React, { useEffect, useState } from \"react\";\nimport { useLocation, useNavigate } from \"react-router-dom\";\nimport { ToastContainer, toast } from \"react-toastify\";\nimport \"react-toastify/dist/ReactToastify.css\";\nimport AwardsAchievements from \"../../components/AwardsAchievements/AwardsAchievements\";\nimport CandidateData from \"../../components/CandidateData/CandidateData\";\nimport ContactInfo from \"../../components/ContactInfo/ContactInfo\";\nimport Education from \"../../components/Education/Education\";\nimport EmploymentHistory from \"../../components/EmploymentHistory/EmploymentHistory\";\nimport ExtraActivitiesInfo from \"../../components/ExtraActivitiesInfo/ExtraActivitiesInfo\";\nimport Footer from \"../../components/Footer/Footer\";\nimport JobRelatedTraining from \"../../components/JobRelatedTraining/JobRelatedTraining\";\nimport Objective from \"../../components/Objective/Objective\";\nimport ProfessionalAssociations from \"../../components/ProfessionalAssociations/ProfessionalAssociations\";\nimport References from \"../../components/References/References\";\nimport SkillsSummary from \"../../components/SkillsSummary/SkillSummary\";\nimport dashboardImg from \"../../images/dashboardImg.svg\";\nimport exportPDF from \"../../images/exportPDF.svg\";\nimport saveFileImg from \"../../images/saveFile.svg\";\nimport { createResume, fetchResumes, updateResume } from \"../../services/api\";\n\nimport dbTrash from '../../images/dbTrash.png'\nimport \"./ResumeEditor.scss\";\n\nconst ResumeEditor = ({ token }) => {\n const decodedToken = jwtDecode(localStorage.getItem(\"token\"));\n localStorage.setItem(\"usertype\", decodedToken.usertype);\n localStorage.setItem(\"userid\", decodedToken.id);\n\n const [isEditMode, setIsEditMode] = useState(true);\n const [formName, setFormName] = useState(\"\");\n const [savedFormName, setSavedFormName] = useState(\"\");\n const [savedForms, setSavedForms] = useState(\n JSON.parse(localStorage.getItem(\"savedForms\")) || []\n );\n const [contactInfo, setContactInfo] = useState({\n fullName: \"\",\n address: \"\",\n city: \"\",\n state: \"\",\n zipCode: \"\",\n telephone: \"\",\n email: \"\",\n });\n\n const [objective, setObjective] = useState(\"\");\n const [showObjective, setShowObjective] = useState(true);\n const [showSkillsSummary, setShowSkillsSummary] = useState(true);\n const [showEmploymentHistory, setShowEmploymentHistory] = useState(true);\n const [showEducation, setShowEducation] = useState(true);\n const [showAwards, setShowAwards] = useState(true);\n const [showActivities, setShowActivities] = useState(true);\n const [showTraining, setShowTraining] = useState(true);\n const [showAssociations, setShowAssociations] = useState(true);\n const [showReferences, setShowReferences] = useState(true);\n\n const [remountKey, setRemountKey] = useState(0);\n const [selectedFont, setSelectedFont] = useState(\"Helvetica\"); // State for selected font\n\n const location = useLocation();\n const navigate = useNavigate();\n\n // Floating button spring animation\n const floatingButtonStyle = useSpring({\n from: { transform: \"translateY(100px)\", opacity: 0 }, // Start from below the screen\n to: { transform: \"translateY(0px)\", opacity: 1 }, // Move to its normal position\n config: { tension: 200, friction: 10 }, // Control the speed of the animation\n delay: 500, // Delay for the button to appear\n });\n\n useEffect(() => {\n if (location.state?.formId) {\n const loadSavedForms = async () => {\n try {\n const response = await fetchResumes(localStorage.getItem(\"token\"));\n setSavedForms(response.data);\n\n setSavedFormName(location.state.formName);\n setFormName(location.state.formName);\n\n const savedResume = response.data.find(\n (form) => form.id == location.state.formId\n );\n\n if (savedResume) {\n // Set all data in localStorage first\n localStorage.setItem(\"resumeData\", JSON.stringify(savedResume));\n const dataToStore = {\n awardsAchievements: savedResume.awardsAchievements || [],\n candidateData: savedResume.candidateData || {},\n contactInfo: savedResume.contactInfo || {},\n educations: savedResume.education || [],\n employmentHistory: savedResume.employmentHistory || [],\n extraActivitiesInfo: savedResume.extraActivities || [],\n jobRelatedTraining: savedResume.jobRelatedTraining || [],\n professionalAssociations: savedResume.professionalAssociations || [],\n objective: savedResume.objective || \"\",\n resumeData: savedResume || {}\n };\n\n // Store all data at once\n Object.entries(dataToStore).forEach(([key, value]) => {\n localStorage.setItem(key, JSON.stringify(value));\n });\n\n // Update state with the stored data\n setObjective(savedResume.objective);\n setContactInfo(savedResume.contactInfo);\n\n\n setContactInfo(savedResume.contactInfo || {});\n setShowObjective(savedResume.showObjective !== false);\n setShowSkillsSummary(savedResume.showSkillsSummary !== false);\n setShowEmploymentHistory(\n savedResume.showEmploymentHistory !== false\n );\n setShowEducation(savedResume.showEducation !== false);\n setShowAwards(savedResume.showAwards !== false);\n setShowActivities(savedResume.showActivities !== false);\n setShowTraining(savedResume.showTraining !== false);\n setShowAssociations(savedResume.showAssociations !== false);\n\n // Force remount after everything is set\n setRemountKey(prev => prev + 1);\n }\n } catch (error) {\n console.error(\"Error loading saved forms:\", error);\n }\n };\n\n loadSavedForms();\n } else {\n\n // Reset all states\n setFormName(\"\");\n setSavedFormName(\"\");\n setContactInfo({\n fullName: \"\",\n address: \"\",\n city: \"\",\n state: \"\",\n zipCode: \"\",\n telephone: \"\",\n email: \"\",\n });\n setObjective(\"\");\n setShowObjective(true);\n setShowSkillsSummary(true);\n setShowEmploymentHistory(true);\n setShowEducation(true);\n setShowAwards(true);\n setShowActivities(true);\n setShowTraining(true);\n setShowAssociations(true);\n }\n }, [location.state]);\n\n const toggleMode = () => {\n if (isEditMode) {\n updateResume(\n JSON.parse(localStorage.getItem(\"resumeData\")).id,\n JSON.parse(localStorage.getItem(\"resumeData\")),\n localStorage.getItem(\"token\")\n );\n }\n setIsEditMode(!isEditMode);\n };\n const saveForm = async () => {\n const currentFormName = savedFormName || formName;\n\n if (!currentFormName) {\n toast.error(\"Please enter a name for the form\");\n return;\n }\n\n const resumeData = {\n name: currentFormName,\n contactInfo,\n objective,\n showObjective,\n showSkillsSummary,\n showEmploymentHistory,\n showEducation,\n showAwards,\n showActivities,\n showTraining,\n showAssociations,\n skillsSummary: {\n skillsColumn1: [],\n skillsColumn2: [],\n },\n resumeType: \"prev\",\n };\n\n try {\n if (savedFormName) {\n const savedForm = savedForms.find(\n (form) => form.name === currentFormName\n );\n if (savedForm) {\n const response = await updateResume(\n savedForm.id,\n JSON.parse(localStorage.getItem(\"resumeData\")),\n localStorage.getItem(\"token\")\n );\n }\n } else {\n const response = await createResume(resumeData, localStorage.getItem(\"token\"));\n const updatedForms = [\n ...savedForms,\n { ...resumeData, id: response.data.id },\n ];\n setSavedForms(updatedForms);\n setSavedFormName(currentFormName);\n localStorage.setItem(\"savedForms\", JSON.stringify(updatedForms));\n }\n\n // Use the current form name as a unique key for local storage\n localStorage.setItem(currentFormName, JSON.stringify(resumeData));\n toast.success(\"Form saved successfully\"); // Replaces alert for success\n } catch (error) {\n console.error(\"Error saving resume:\", error);\n toast.error(\"Failed to save the resume\"); // Replaces alert for failure\n }\n };\n const saveFormAndStay = () => {\n saveForm();\n };\n // Add the Stripe billing logic in the ResumeEditor component\n const saveFormAndNavigate = () => {\n saveForm();\n\n const storedToken = localStorage.getItem('token');\n\n\n if (storedToken) {\n navigate(\"/dashboard\");\n } else {\n toast.error(\"You are not logged in\"); // Replaces alert\n }\n };\n\n // Handle successful payment\n useEffect(() => {\n const queryParams = new URLSearchParams(window.location.search);\n const upgradeSuccess = queryParams.get(\"success\");\n\n if (upgradeSuccess) {\n toast.success(\"Upgrade successful, download your resume now\");\n navigate(\"/dashboard\");\n }\n }, [navigate]);\n\n\n // Handle successful payment\n useEffect(() => {\n const queryParams = new URLSearchParams(window.location.search);\n const upgradeSuccess = queryParams.get(\"success\");\n\n if (upgradeSuccess) {\n toast.success(\"Upgrade successful, download your resume now\");\n navigate(\"/dashboard\");\n }\n }, [navigate]);\n\n // Handle successful payment\n useEffect(() => {\n const queryParams = new URLSearchParams(window.location.search);\n const upgradeSuccess = queryParams.get(\"success\");\n\n if (upgradeSuccess) {\n toast.success(\"Upgrade successful, download your resume now\");\n navigate(\"/dashboard\");\n }\n }, [navigate]);\n\n // Add the Stripe billing logic in the ResumeEditor component\n const exportToPDF = async () => {\n const storedToken = localStorage.getItem('token');\n const storedUserType = parseInt(localStorage.getItem('usertype'), 10);\n const userid = localStorage.getItem('userid');\n\n if (!storedToken) {\n toast.error(\"You are not logged in\");\n return;\n }\n\n if (storedUserType === 1) {\n // console.log(\"Navigating to /pricing\");\n navigate(\"/pricing\");\n return;\n }\n\n const input = document.querySelector(\".printMargins\");\n const margin = 72;\n const pageWidth = 612;\n const pageHeight = 792;\n const contentWidth = pageWidth - margin * 2;\n const contentHeight = pageHeight - margin * 2;\n\n html2canvas(input, { scale: 2 }).then((canvas) => {\n const imgData = canvas.toDataURL(\"image/png\");\n\n const pdf = new jsPDF({\n orientation: \"portrait\",\n unit: \"pt\",\n format: [pageWidth, pageHeight],\n });\n\n const imgWidth = contentWidth;\n const imgHeight = (canvas.height * imgWidth) / canvas.width;\n\n let heightLeft = imgHeight;\n let position = margin;\n\n pdf.addImage(imgData, \"PNG\", margin, position, imgWidth, imgHeight);\n heightLeft -= contentHeight;\n\n while (heightLeft > 0) {\n pdf.addPage();\n position = margin;\n pdf.addImage(\n imgData,\n \"PNG\",\n margin,\n position,\n imgWidth,\n imgHeight - (imgHeight - heightLeft)\n );\n heightLeft -= contentHeight;\n }\n\n pdf.save(\"employment_history.pdf\");\n });\n };\n\n const exportToDoc = async () => {\n const storedToken = localStorage.getItem('token');\n const storedUserType = parseInt(localStorage.getItem('usertype'), 10);\n const userid = localStorage.getItem('userid');\n\n if (!storedToken) {\n toast.error(\"You are not logged in\");\n return;\n }\n\n if (storedUserType === 1) {\n // console.log(\"Navigating to /pricing\");\n navigate(\"/pricing\");\n return;\n }\n\n const header = `\n Export HTML To Doc`;\n const footer = \"\";\n const content = document.querySelector(\".appContainer\").innerHTML;\n const sourceHTML = header + content + footer;\n\n const blob = new Blob([\"\\ufeff\", sourceHTML], {\n type: \"application/msword\",\n });\n saveAs(blob, `${savedFormName || \"resume\"}.doc`);\n };\n\n\n useEffect(() => {\n const queryParams = new URLSearchParams(window.location.search);\n const upgradeSuccess = queryParams.get(\"success\");\n\n if (upgradeSuccess) {\n toast.success(\"Upgrade successful, download your resume now\");\n navigate(\"/dashboard\");\n }\n }, [navigate]);\n\n\n const EditModeButton = ({ isEditMode, toggleMode }) => {\n // Define the spring animation for the button's background color\n const buttonStyle = useSpring({\n backgroundColor: !isEditMode ? \"#e17055\" : \"#00b894\", // Edit mode: #e17055, View mode: #00b894\n color: \"#ffffff\",\n marginTop: \"-1px\",\n config: { tension: 210, friction: 20 }, // Customize the animation speed\n });\n\n return (\n \n {isEditMode ? \"View\" : \"Edit\"}\n \n );\n };\n\n return (\n
    \n {/* */}\n\n \n\n
    \n
    \n Resume Editor\n
    \n
    \n {!savedFormName && (\n
    \n setFormName(e.target.value)}\n />\n \n
    \n )}\n {savedFormName && (\n
    \n \n Editing Resume: {savedFormName}\n \n
    \n )}\n
    \n {isEditMode ? (\n
    \n Editing{\" \"}\n
    \n ) : (\n
    \n Viewing\n
    \n )}\n
    \n\n
    \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n {!isEditMode && (\n <>\n {\n setSelectedFont(e.target.value);\n document.documentElement.style.setProperty('--resume-font', e.target.value);\n }}\n style={{ marginLeft: \"10px\" }}\n >\n \n \n \n \n \n )}\n \n
    \n\n
    \n
    \n {\n const updatedContactInfo = {\n ...contactInfo,\n [e.target.name]: e.target.value,\n };\n setContactInfo(updatedContactInfo);\n localStorage.setItem(\n \"contactInfo\",\n JSON.stringify(updatedContactInfo)\n );\n }}\n />\n \n \n \n\n {showObjective && (\n <>\n setObjective(newObjective)}\n />\n {isEditMode && (\n setShowObjective(false)}\n >\n \"delete\n \n )}\n \n )}\n\n {!showObjective && isEditMode && (\n setShowObjective(true)}\n >\n Re-add Objective\n \n )}\n\n \n\n {showSkillsSummary && (\n <>\n \n {isEditMode && (\n setShowSkillsSummary(false)}\n >\n Delete Skills Summary\n \n )}\n \n )}\n\n {!showSkillsSummary && isEditMode && (\n setShowSkillsSummary(true)}\n >\n Re-add Skills Summary\n \n )}\n\n \n\n {showEmploymentHistory && (\n <>\n \n {isEditMode && (\n setShowEmploymentHistory(false)}\n >\n Delete Employment History\n \n )}\n \n )}\n\n {!showEmploymentHistory && isEditMode && (\n setShowEmploymentHistory(true)}\n >\n Re-add Employment History\n \n )}\n\n \n\n {showEducation && (\n <>\n \n {isEditMode && (\n setShowEducation(false)}\n >\n Delete Education\n \n )}\n \n )}\n\n {!showEducation && isEditMode && (\n setShowEducation(true)}\n >\n Re-add Education\n \n )}\n\n \n\n {showAwards && (\n <>\n \n {isEditMode && (\n setShowAwards(false)}\n >\n Delete Awards\n \n )}\n \n )}\n\n {!showAwards && isEditMode && (\n setShowAwards(true)}\n >\n Re-add Awards\n \n )}\n\n \n\n {showActivities && (\n <>\n \n {isEditMode && (\n setShowActivities(false)}\n >\n Delete Activities\n \n )}\n \n )}\n\n {!showActivities && isEditMode && (\n setShowActivities(true)}\n >\n Re-add Activities\n \n )}\n\n \n\n {showTraining && (\n <>\n \n {isEditMode && (\n setShowTraining(false)}\n >\n Delete Training\n \n )}\n \n )}\n\n {!showTraining && isEditMode && (\n setShowTraining(true)}\n >\n Re-add Training\n \n )}\n\n \n\n {showAssociations && (\n <>\n \n {isEditMode && (\n setShowAssociations(false)}\n >\n Delete Associations\n \n )}\n \n )}\n\n {!showAssociations && isEditMode && (\n setShowAssociations(true)}\n >\n Re-add Associations\n \n )}\n
    \n\n {/* {showReferences && (\n <>\n \n {isEditMode && (\n setShowReferences(false)}\n >\n Delete References\n \n )}\n \n )} */}\n
    \n\n
    \n
    \n );\n};\n\nexport default ResumeEditor;\n","import React from \"react\";\nimport { Link, useNavigate } from \"react-router-dom\";\nimport logo from \"../../images/logo.svg\";\nimport \"./Header.scss\"; // Optional: Include custom SCSS or CSS styling\n\nconst Header = () => {\n const navigate = useNavigate(); // Hook for navigation\n\n const handleLogoClick = () => {\n navigate(\"/\"); // Navigate to Home\n };\n return (\n
    \n
    \n \"Site\n
    \n Home \n
    \n
    \n );\n};\n\nexport default Header;\n","import React, { useState } from \"react\";\nimport { Link, useNavigate } from \"react-router-dom\";\nimport { useTransition, animated } from \"@react-spring/web\";\nimport { loginUser } from \"../../../services/api\";\nimport fedLogo from \"../../../images/logo.svg\";\nimport \"./Login.scss\"; // Import the new CSS\nimport Header from \"../../../components/Header/Header\";\n\nconst Login = ({ setToken }) => {\n const [formData, setFormData] = useState({\n email: \"\",\n password: \"\",\n });\n const [isLoggingIn, setIsLoggingIn] = useState(false);\n const [error, setError] = useState(\"\"); // Error state\n const navigate = useNavigate();\n\n const handleChange = (e) => {\n setFormData({\n ...formData,\n [e.target.name]: e.target.value,\n });\n };\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n try {\n const response = await loginUser(formData);\n\n // Save token to localStorage and state\n const token = response.data.token;\n localStorage.setItem(\"token\", token);\n localStorage.setItem(\"usertype\", response.data.userType)\n setToken(token);\n setTimeout(() => navigate(\"/dashboard\"), 500); // Delay navigation for the transition\n } catch (error) {\n setError(\"Invalid email or password\");\n console.error(\"Login error:\", error.response || error.message);\n }\n };\n\n const handleForgotPassword = () => {\n navigate(\"/forgot-password\");\n };\n\n const transitions = useTransition(isLoggingIn, {\n from: { opacity: 1, transform: \"translateX(0)\" },\n leave: { opacity: 0, transform: \"translateX(-100%)\" },\n config: { duration: 500 },\n });\n\n return transitions((styles, item) =>\n !item ? (\n <>\n
    \n
    \n
    \n

    Welcome to Federal Resume Builder

    \n
    \n \n
    \n \n \n
    \n
    \n \n \n
    \n {error &&
    {error}
    }\n \n
    \n \n
    \n \n
    \n Don't have an account? Sign up\n
    \n
    \n \n ) : null\n );\n};\n\nexport default Login;\n","import { animated, useTransition } from \"@react-spring/web\";\nimport React, { useState } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport Header from \"../../../components/Header/Header\";\nimport \"./ForgotPassword.scss\"; // Import the new CSS\nimport { forgotPassword } from \"../../../services/api\";\n\n\nconst ForgotPassword = () => {\n const [formData, setFormData] = useState({\n email: \"\",\n });\n const [isSendingLink, setIsSendingLink] = useState(false);\n const [error, setError] = useState(\"\");\n const [isSuccess, setIsSuccess] = useState(false);\n const navigate = useNavigate();\n\n\n const handleChange = (e) => {\n setFormData({\n ...formData,\n [e.target.name]: e.target.value,\n });\n };\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n setError(\"\");\n try {\n setIsSendingLink(true);\n await forgotPassword(formData.email);\n setIsSuccess(true);\n } catch (error) {\n setError(error?.message || \"Failed to send reset link\");\n } finally {\n setIsSendingLink(false);\n }\n };\n\n\n const transitions = useTransition(true, {\n from: { opacity: 0, transform: \"translateY(20px)\" },\n enter: { opacity: 1, transform: \"translateY(0px)\" },\n leave: { opacity: 0, transform: \"translateY(-20px)\" },\n });\n\n\n return transitions((styles, item) => (\n <>\n
    \n
    \n
    \n {/* \"Federal */}\n
    \n \n {!isSuccess &&

    Request a new password

    }\n \n \n\n {!isSuccess ? (\n \n
    \n \n \n
    \n {error &&
    {error}
    }\n \n
    \n ) : (\n
    \n

    Check your email!

    \n

    We've sent you a link to reset your password.

    \n

    If you don't see it, check your spam folder.

    \n

    You can close this page.

    \n
    \n\n\n )}\n {!isSuccess && (\n \n )}\n
    \n
    \n \n ));\n};\n\nexport default ForgotPassword;\n","import { animated, useTransition } from \"@react-spring/web\";\nimport React, { useState } from \"react\";\nimport { useLocation, useNavigate } from \"react-router-dom\";\nimport Header from \"../../../components/Header/Header\";\nimport { resetPassword } from \"../../../services/api\";\nimport \"./ResetPassword.scss\"; // Import the new CSS\n\nconst ResetPassword = () => {\n const location = useLocation();\n const queryParams = new URLSearchParams(location.search);\n const token = queryParams.get(\"token\");\n\n console.log(token);\n\n const [formData, setFormData] = useState({\n password: \"\",\n confirmPassword: \"\",\n });\n\n const [isSettingPassword, setIsSettingPassword] = useState(false);\n const [error, setError] = useState(\"\");\n const [isSuccess, setIsSuccess] = useState(false);\n const navigate = useNavigate();\n\n\n const handleChange = (e) => {\n setFormData({\n ...formData,\n [e.target.name]: e.target.value,\n });\n };\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n setError(\"\");\n try {\n setIsSettingPassword(true);\n await resetPassword(token, formData.confirmPassword);\n setIsSuccess(true);\n } catch (error) {\n setError(error?.message || \"Failed to reset password\");\n } finally {\n setIsSettingPassword(false);\n }\n\n };\n\n const transitions = useTransition(true, {\n from: { opacity: 0, transform: \"translateY(20px)\" },\n enter: { opacity: 1, transform: \"translateY(0px)\" },\n leave: { opacity: 0, transform: \"translateY(-20px)\" },\n });\n\n return transitions((styles, item) => (\n <>\n
    \n
    \n
    \n

    Reset Password

    \n
    \n \n {!isSuccess ? (\n \n
    \n \n \n
    \n
    \n \n \n
    \n {error &&
    {error}
    }\n \n
    \n ) : (\n
    \n

    Password reset successfully!

    \n \n
    \n )}\n {!isSuccess && (\n \n )}\n
    \n
    \n \n ));\n};\n\nexport default ResetPassword;\n","import React, { useState } from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport { registerUser } from '../../../services/api';\nimport './Register.scss'; // Import your CSS for styling\nimport logo from '../../../images/logo.svg'; // Import your site logo\nimport Header from '../../../components/Header/Header';\n\nconst Register = () => {\n const [formData, setFormData] = useState({\n name: '',\n email: '',\n password: '',\n });\n const [errorMessage, setErrorMessage] = useState('');\n const navigate = useNavigate();\n\n const handleChange = (e) => {\n setFormData({\n ...formData,\n [e.target.name]: e.target.value,\n });\n };\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n try {\n // Call the new registerUser API\n const response = await registerUser(formData);\n\n // Navigate to login on successful registration\n navigate('/login');\n } catch (error) {\n // Set error message for the user in case of failure\n setErrorMessage('Registration failed, please try again.');\n console.error('Registration error:', error.response ? error.response.data : error.message);\n }\n };\n\n return (\n <>
    \n
    \n

    Federal Resume Builder

    \n

    Create your account

    \n\n
    \n {errorMessage &&

    {errorMessage}

    }\n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n \n
    \n\n
    \n

    \n Already have an account? Sign in\n

    \n
    \n
    \n
    \n );\n};\n\nexport default Register;","import React from \"react\";\n\nconst StarBorder = () => {\n return (\n
    \n
    \n
    \n
    \n
    \n );\n};\n\nexport default StarBorder;\n","import React, { useEffect, useState } from \"react\";\nimport { useLocation, useNavigate } from \"react-router-dom\"; // Import navigate and location\nimport { toast } from \"react-toastify\";\nimport AppHeader from \"../../components/AppHeader/AppHeader\";\nimport Footer from \"../../components/Footer/Footer\";\nimport StarBorder from \"../../components/StarBorder\";\nimport api, { getUserCount } from \"../../services/api\"; // Import the new API function\nimport \"./Pricing.scss\";\n\nconst Pricing = () => {\n const [userCount, setUserCount] = useState(0);\n const navigate = useNavigate(); // Initialize navigate\n const location = useLocation(); // Initialize location\n\n useEffect(() => {\n const fetchUserCount = async () => {\n try {\n const response = await getUserCount();\n setUserCount(response.data.userCount);\n } catch (error) {\n console.error(\"Error fetching user count:\", error);\n }\n };\n\n fetchUserCount();\n }, []);\n\n \n\n const handleCheckout = async () => {\n const storedToken = localStorage.getItem(\"token\");\n const userId = localStorage.getItem(\"userid\");\n\n\n if (!storedToken) {\n toast.error(\"You are not logged in\");\n return;\n }\n\n try {\n const response = await api.post(\n \"/billing/checkout-session\",\n { userId },\n {\n headers: { Authorization: `Bearer ${storedToken}` },\n }\n );\n\n if (response.data.url) {\n window.location.href = response.data.url; // Redirect to Stripe Checkout\n }\n } catch (error) {\n console.error(\"Billing error:\", error);\n toast.error(\"Failed to process payment\");\n }\n };\n\n return (\n <>\n \n
    \n
    \n
    \n Your resume is ready to go!\n
    \n {`Join the ${userCount} other job seekers who signed up last week.`}\n

    \n Unlike other resume builders that charge monthly fees, we offer\n affordable pricing for creating federally formatted resumes. We\n understand that job searches can take time, so you can return and\n revise your resume as often as you need—without any extra costs.\n

    \n
    \n
    \n
    \n
    \n \n $47\n \n /One Year\n
    \n \n
    \n
    \n
    \n
    \n \n
    \n \n );\n};\n\nexport default Pricing;\n","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgAvatar(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 512 512\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n \"data-name\": 1,\n id: \"_1\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M441.13,166.52h-372a15,15,0,1,1,0-30h372a15,15,0,0,1,0,30Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M441.13,279.72h-372a15,15,0,1,1,0-30h372a15,15,0,0,1,0,30Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M441.13,392.92h-372a15,15,0,1,1,0-30h372a15,15,0,0,1,0,30Z\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgAvatar);\nexport default __webpack_public_path__ + \"static/media/avatar.a411e1fef5989db1e06d671a60591aad.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useState, useEffect } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport fedLogo from '../images/logo.svg';\nimport avatarImg from '../images/avatar.svg';\n\nconst StickyHeader = ({ user }) => {\n const [dropdownVisible, setDropdownVisible] = useState(false);\n const navigate = useNavigate();\n let dropdownTimeout;\n\n const handleLogout = () => {\n localStorage.clear();\n navigate(\"/login\");\n window.location.reload(); // Forces the page to reload\n };\n \n const handleProfileClick = () => {\n navigate(\"/profile\"); // Redirect to the user profile page\n };\n\n // TODO\n // const handleFeatureRequest = () => {\n // navigate(\"/feature-request\"); // Redirect to feature request page\n // };\n\n const toggleDropdown = () => {\n setDropdownVisible(!dropdownVisible);\n };\n\n useEffect(() => {\n if (dropdownVisible) {\n dropdownTimeout = setTimeout(() => {\n setDropdownVisible(false);\n }, 5000); // Close dropdown after 5 seconds\n }\n\n return () => {\n clearTimeout(dropdownTimeout); // Clear timeout if component unmounts or dropdown is closed manually\n };\n }, [dropdownVisible]);\n\n return (\n
    \n
    navigate(\"/dashboard\")}>\n \"Federal\n Federal Resume Builder\n
    \n
    \n \n {dropdownVisible && (\n
    \n
      \n
    • User Profile
    • \n {/* TODO:
    • Feature Request
    • */}\n
    • Log Out
    • \n
    \n
    \n )}\n
    \n
    \n );\n};\n\nexport default StickyHeader;","// Profile.js\nimport React, { useState, useEffect } from \"react\";\nimport \"./Profile.scss\";\nimport { getUserProfile } from \"../../services/api\"; // Import the API function\nimport StickyHeader from \"../../components/StickyHeader\";\nimport StarBorder from \"../../components/StarBorder\";\nconst Profile = () => {\n const token = localStorage.getItem(\"token\"); // Ensure token is being retrieved from localStorage\n const [userProfile, setUserProfile] = useState(null);\n\n useEffect(() => {\n const fetchUserProfile = async () => {\n try {\n const response = await getUserProfile(token); // Fetch user profile\n setUserProfile(response.data);\n } catch (error) {\n console.error(\"Error fetching user profile:\", error);\n }\n };\n\n fetchUserProfile();\n }, [token]);\n\n if (!userProfile) {\n return
    Loading...
    ;\n }\n\n return (\n <>\n
    \n
    \n User Profile\n
    \n
    \n
    \n
    \n Username: \n {userProfile.name}\n
    \n
    \n Email: \n {userProfile.email}\n
    \n
    \n Account: \n {userProfile.usertype === 1 ? \"Pro\" : \"Basic\"}\n
    \n
    \n Membership: \n 12 Months\n
    \n
    \n
    \n

    Need help, have an issue, or have a question?

    \n send an email to info@federalresumebuilder.com\n \n
    \n \n );\n};\n\nexport default Profile;\n","import React from \"react\";\nimport \"./Offer.scss\";\n\nconst OfferPage = () => {\n const handleSubscribe = () => {\n window.location.href = \"/checkout?offer=49-annual\";\n };\n\n return (\n
    \n
    \n

    Special Offer Just for You!

    \n

    \n Unlock your federal career potential with an annual account for only\n

    \n

    $49

    \n

    (Regular price: $79)

    \n

    \n This exclusive offer is only available through this link. Act now to take\n the next step in your federal career journey!\n

    \n
    \n

    Why Choose FederalResumeBuilder.com?

    \n
      \n
    • Step-by-step guidance to create a perfect federal resume.
    • \n
    • ATS-compliant formatting to ensure your resume gets noticed.
    • \n
    • Professionally designed templates tailored for federal jobs.
    • \n
    • Built-in keyword optimization for higher chances of selection.
    • \n
    • Comprehensive tutorials and tips for crafting a standout resume.
    • \n
    • Easy-to-use platform accessible from anywhere.
    • \n
    \n
    \n \n
    \n
    \n );\n};\n\nexport default OfferPage;\n","// UpgradeSuccess.js\nimport React, { useEffect, useState } from \"react\";\nimport { useLocation, useNavigate } from \"react-router-dom\";\nimport api from \"../../services/api\";\nimport { toast } from \"react-toastify\";\nimport './Billing.scss'\nimport fedLogo from '../../images/logo.svg'\n\nconst UpgradeSuccess = () => {\n const navigate = useNavigate();\n const location = useLocation();\n const [isLoading, setIsLoading] = useState(true);\n\n // Handle payment success by checking query parameters\n useEffect(() => {\n const queryParams = new URLSearchParams(location.search);\n const userId = queryParams.get(\"userid\");\n\n if (userId) {\n // Call the backend to upgrade user type after successful payment\n const upgradeUser = async () => {\n try {\n const response = await api.post(\"/billing/upgrade-user\", { userId });\n localStorage.setItem(\"usertype\", response.data.usertype)\n toast.success(\"Upgrade successful! You can now go to the dashboard...\");\n setIsLoading(false);\n } catch (error) {\n console.error(\"Error upgrading user:\", error);\n toast.error(\"Failed to upgrade user. Please try again.\");\n setIsLoading(false);\n }\n };\n\n upgradeUser();\n }\n }, [location, navigate]);\n\n return (\n
    \n {isLoading ? (\n
    \n
    \n

    Processing your payment...

    \n
    \n ) : (\n <>\n \"federal\n

    Upgrade Successful

    \n \n \n )}\n
    \n );\n};\n\nexport default UpgradeSuccess;\n","// PaymentFailed.js\nimport React from \"react\";\nimport './Billing.scss'\nimport { toast } from \"react-toastify\";\nimport api from \"../../services/api\";\nimport { Link } from \"react-router-dom\";\n\nconst PaymentFailed = () => {\n\n const handleCheckout = async () => {\n const storedToken = localStorage.getItem(\"token\");\n const userId = localStorage.getItem(\"userid\");\n\n if (!storedToken) {\n toast.error(\"You are not logged in\");\n return;\n }\n\n try {\n const response = await api.post(\n \"/billing/checkout-session\",\n { userId },\n {\n headers: { Authorization: `Bearer ${storedToken}` },\n }\n );\n\n if (response.data.url) {\n window.location.href = response.data.url; // Redirect to Stripe Checkout\n }\n } catch (error) {\n console.error(\"Billing error:\", error);\n toast.error(\"Failed to process payment\");\n }\n };\n\n\n return (\n
    \n

    Something went wrong, please choose another card and try again.

    \n \n
    \n Home\n
    \n );\n};\n\nexport default PaymentFailed;\n","import React, { useState } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport \"./SelectBuilder.scss\";\nimport wizardIcon from '../../images/wizardIcon.png';\nimport classicIcon from '../../images/classicIcon.png';\n\nconst SelectBuilder = () => {\n const [selected, setSelected] = useState(null);\n const navigate = useNavigate();\n\n const handleSelect = (builderType) => {\n setSelected(builderType);\n };\n\n const handleContinue = () => {\n if (selected === \"Wizard\") {\n navigate(\"/wizard/name-resume\");\n } else if (selected === \"Classic\") {\n navigate(\"/resume-editor\");\n }\n };\n\n return (\n <>\n
    \n

    Let's get started

    \n
    \n
    \n handleSelect(\"Wizard\")}\n >\n \"wizard\n

    Wizard

    \n

    Create your resume with step-by-step help.

    \n

    You must complete the entire resume to save your information.

    \n
    \n {/* handleSelect(\"Classic\")}\n >\n \"classic\n

    Classic

    \n

    Create your resume using a standard template.

    \n
    */}\n
    \n \n Continue\n \n
    \n
    \n \n );\n};\n\nexport default SelectBuilder;\n","/* eslint no-restricted-syntax: 0, prefer-template: 0, guard-for-in: 0\n ---\n These rules are preventing the performance optimizations below.\n */\n\n/**\n * Compose classes from multiple sources.\n *\n * @example\n * ```tsx\n * const slots = {\n * root: ['root', 'primary'],\n * label: ['label'],\n * };\n *\n * const getUtilityClass = (slot) => `MuiButton-${slot}`;\n *\n * const classes = {\n * root: 'my-root-class',\n * };\n *\n * const output = composeClasses(slots, getUtilityClass, classes);\n * // {\n * // root: 'MuiButton-root MuiButton-primary my-root-class',\n * // label: 'MuiButton-label',\n * // }\n * ```\n *\n * @param slots a list of classes for each possible slot\n * @param getUtilityClass a function to resolve the class based on the slot name\n * @param classes the input classes from props\n * @returns the resolved classes for all slots\n */\nexport default function composeClasses(slots, getUtilityClass, classes = undefined) {\n const output = {};\n for (const slotName in slots) {\n const slot = slots[slotName];\n let buffer = '';\n let start = true;\n for (let i = 0; i < slot.length; i += 1) {\n const value = slot[i];\n if (value) {\n buffer += (start === true ? '' : ' ') + getUtilityClass(value);\n start = false;\n if (classes && classes[value]) {\n buffer += ' ' + classes[value];\n }\n }\n }\n output[slotName] = buffer;\n }\n return output;\n}","'use client';\n\nimport * as React from 'react';\nlet globalId = 0;\n\n// TODO React 17: Remove `useGlobalId` once React 17 support is removed\nfunction useGlobalId(idOverride) {\n const [defaultId, setDefaultId] = React.useState(idOverride);\n const id = idOverride || defaultId;\n React.useEffect(() => {\n if (defaultId == null) {\n // Fallback to this default id when possible.\n // Use the incrementing value for client-side rendering only.\n // We can't use it server-side.\n // If you want to use random values please consider the Birthday Problem: https://en.wikipedia.org/wiki/Birthday_problem\n globalId += 1;\n setDefaultId(`mui-${globalId}`);\n }\n }, [defaultId]);\n return id;\n}\n\n// See https://github.com/mui/material-ui/issues/41190#issuecomment-2040873379 for why\nconst safeReact = {\n ...React\n};\nconst maybeReactUseId = safeReact.useId;\n\n/**\n *\n * @example
    \n * @param idOverride\n * @returns {string}\n */\nexport default function useId(idOverride) {\n // React.useId() is only available from React 17.0.0.\n if (maybeReactUseId !== undefined) {\n const reactId = maybeReactUseId();\n return idOverride ?? reactId;\n }\n\n // TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler\n // eslint-disable-next-line react-hooks/rules-of-hooks -- `React.useId` is invariant at runtime.\n return useGlobalId(idOverride);\n}","/**\n * WARNING: Don't import this directly. It's imported by the code generated by\n * `@mui/interal-babel-plugin-minify-errors`. Make sure to always use string literals in `Error`\n * constructors to ensure the plugin works as expected. Supported patterns include:\n * throw new Error('My message');\n * throw new Error(`My message: ${foo}`);\n * throw new Error(`My message: ${foo}` + 'another string');\n * ...\n * @param {number} code\n */\nexport default function formatMuiErrorMessage(code, ...args) {\n const url = new URL(`https://mui.com/production-error/?code=${code}`);\n args.forEach(arg => url.searchParams.append('args[]', arg));\n return `Minified MUI error #${code}; visit ${url} for the full message.`;\n}","import _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\n// It should to be noted that this function isn't equivalent to `text-transform: capitalize`.\n//\n// A strict capitalization should uppercase the first letter of each word in the sentence.\n// We only handle the first word.\nexport default function capitalize(string) {\n if (typeof string !== 'string') {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'MUI: `capitalize(string)` expects a string argument.' : _formatMuiErrorMessage(7));\n }\n return string.charAt(0).toUpperCase() + string.slice(1);\n}","import capitalize from '@mui/utils/capitalize';\nexport default capitalize;","/**\n * TODO v5: consider making it private\n *\n * passes {value} to {ref}\n *\n * WARNING: Be sure to only call this inside a callback that is passed as a ref.\n * Otherwise, make sure to cleanup the previous {ref} if it changes. See\n * https://github.com/mui/material-ui/issues/13539\n *\n * Useful if you want to expose the ref of an inner component to the public API\n * while still using it inside the component.\n * @param ref A ref callback or ref object. If anything falsy, this is a no-op.\n */\nexport default function setRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n}","'use client';\n\nimport * as React from 'react';\nimport setRef from \"../setRef/index.js\";\n\n/**\n * Takes an array of refs and returns a new ref which will apply any modification to all of the refs.\n * This is useful when you want to have the ref used in multiple places.\n *\n * ```tsx\n * const rootRef = React.useRef(null);\n * const refFork = useForkRef(rootRef, props.ref);\n *\n * return (\n * \n * );\n * ```\n *\n * @param {Array | undefined>} refs The ref array.\n * @returns {React.RefCallback | null} The new ref callback.\n */\nexport default function useForkRef(...refs) {\n /**\n * This will create a new function if the refs passed to this hook change and are all defined.\n * This means react will call the old forkRef with `null` and the new forkRef\n * with the ref. Cleanup naturally emerges from this behavior.\n */\n return React.useMemo(() => {\n if (refs.every(ref => ref == null)) {\n return null;\n }\n return instance => {\n refs.forEach(ref => {\n setRef(ref, instance);\n });\n };\n // TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler -- intentionally ignoring that the dependency array must be an array literal\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, refs);\n}","import * as React from 'react';\n\n/**\n * Returns the ref of a React element handling differences between React 19 and older versions.\n * It will throw runtime error if the element is not a valid React element.\n *\n * @param element React.ReactElement\n * @returns React.Ref | null\n */\nexport default function getReactElementRef(element) {\n // 'ref' is passed as prop in React 19, whereas 'ref' is directly attached to children in older versions\n if (parseInt(React.version, 10) >= 19) {\n return element?.props?.ref || null;\n }\n // @ts-expect-error element.ref is not included in the ReactElement type\n // https://github.com/DefinitelyTyped/DefinitelyTyped/discussions/70189\n return element?.ref || null;\n}","export default function ownerDocument(node) {\n return node && node.ownerDocument || document;\n}","'use client';\n\n/* eslint-disable consistent-return, jsx-a11y/no-noninteractive-tabindex */\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { exactProp, elementAcceptingRef, unstable_useForkRef as useForkRef, unstable_ownerDocument as ownerDocument, unstable_getReactElementRef as getReactElementRef } from '@mui/utils';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n// Inspired by https://github.com/focus-trap/tabbable\nconst candidatesSelector = ['input', 'select', 'textarea', 'a[href]', 'button', '[tabindex]', 'audio[controls]', 'video[controls]', '[contenteditable]:not([contenteditable=\"false\"])'].join(',');\nfunction getTabIndex(node) {\n const tabindexAttr = parseInt(node.getAttribute('tabindex') || '', 10);\n if (!Number.isNaN(tabindexAttr)) {\n return tabindexAttr;\n }\n\n // Browsers do not return `tabIndex` correctly for contentEditable nodes;\n // https://issues.chromium.org/issues/41283952\n // so if they don't have a tabindex attribute specifically set, assume it's 0.\n // in Chrome,
    ,