{"version":3,"file":"static/js/main.a0a2b756.js","mappings":"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,MAAO,UACT,IAAK,KACH,MAAO,QACT,IAAK,KACH,MAAO,YACT,IAAK,KACH,MAAO,UACT,IAAK,KACH,MAAO,aACT,IAAK,KACH,MAAO,UACT,IAAK,KACH,MAAO,UACT,IAAK,KACH,MAAO,aACT,IAAK,KACH,MAAO,WACT,IAAK,KACH,MAAO,UACT,IAAK,KACH,MAAO,UACT,IAAK,KACH,MAAO,SACT,IAAK,KACH,MAAO,QACT,IAAK,KACH,MAAO,UACT,IAAK,KACH,MAAO,SACT,IAAK,KACH,MAAO,UACT,IAAK,KACH,MAAO,yBACT,IAAK,KACH,MAAO,WACT,IAAK,KACH,MAAO,SACT,IAAK,KACH,MAAO,yBACT,IAAK,KACH,MAAO,SACT,IAAK,KACH,MAAO,WACT,IAAK,KACH,MAAO,eACT,IAAK,KACH,MAAO,UACT,IAAK,KACH,MAAO,WACT,IAAK,KACH,MAAO,WACT,IAAK,KACH,MAAO,SACT,IAAK,KACH,MAAO,aACT,IAAK,KACH,MAAO,iBACT,IAAK,KACH,MAAO,2BACT,IAAK,KACH,MAAO,OACT,IAAK,KACH,MAAO,QACT,IAAK,KACH,MAAO,QACT,IAAK,KACH,MAAO,WACT,IAAK,KACH,MAAO,UACT,IAAK,KACH,MAAO,oCACT,IAAK,KACH,MAAO,qBACT,IAAK,KACH,MAAO,aACT,IAAK,KACH,MAAO,8BACT,IAAK,KACH,MAAO,UACT,IAAK,KACH,MAAO,OACT,IAAK,KACH,MAAO,SACT,IAAK,KACH,MAAO,iBACT,IAAK,KACH,MAAO,UACT,IAAK,KACH,MAAO,WACT,IAAK,KACH,MAAO,WACT,IAAK,KACH,MAAO,qBACT,IAAK,KACH,MAAO,UACT,IAAK,KACH,MAAO,QACT,IAAK,KACH,MAAO,cACT,IAAK,KACH,MAAO,oBACT,IAAK,KACH,MAAO,UACT,IAAK,KACH,MAAO,UACT,IAAK,KACH,MAAO,WACT,IAAK,KACH,MAAO,mBACT,IAAK,KACH,MAAO,OACT,IAAK,KACH,MAAO,UACT,IAAK,KACH,MAAO,SACT,IAAK,KACH,MAAO,gBACT,IAAK,KACH,MAAO,mBACT,IAAK,KACH,MAAO,QACT,IAAK,KACH,MAAO,SACT,IAAK,KACH,MAAO,UACT,IAAK,KACH,MAAO,UACT,IAAK,KACH,MAAO,QACT,IAAK,KACH,MAAO,YACT,IAAK,KACH,MAAO,SACT,IAAK,KACH,MAAO,UACT,IAAK,KACH,MAAO,aACT,IAAK,KACH,MAAO,YACT,IAAK,KACH,MAAO,SACT,IAAK,KACH,MAAO,gBACT,IAAK,KACH,MAAO,SACT,IAAK,KACH,MAAO,QACT,IAAK,KACH,MAAO,WACT,IAAK,KACH,MAAO,oBACT,IAAK,KACH,MAAO,UACT,IAAK,KACH,MAAO,UACT,IAAK,KACH,MAAO,QACT,IAAK,KACH,MAAO,YACT,IAAK,KACH,MAAO,OACT,IAAK,KACH,MAAO,OACT,IAAK,KACH,MAAO,UACT,IAAK,KACH,MAAO,SACT,IAAK,KACH,MAAO,QACT,IAAK,KACH,MAAO,UACT,IAAK,KACH,MAAO,QACT,IAAK,KACH,MAAO,SACT,IAAK,KACH,MAAO,aACT,IAAK,KACH,MAAO,QACT,IAAK,KACH,MAAO,gBACT,IAAK,KACH,MAAO,gBACT,IAAK,KACH,MAAO,SACT,IAAK,KACH,MAAO,aACT,IAAK,KACH,MAAO,OACT,IAAK,KACH,MAAO,SACT,IAAK,KACH,MAAO,UACT,IAAK,KACH,MAAO,UACT,IAAK,KACH,MAAO,UACT,IAAK,KACH,MAAO,yBACT,IAAK,KACH,MAAO,gBACT,IAAK,KACH,MAAO,YACT,IAAK,KACH,MAAO,aACT,IAAK,KACH,MAAO,QACT,IAAK,KACH,MAAO,YACT,IAAK,KACH,MAAO,aACT,IAAK,KACH,MAAO,SACT,IAAK,KACH,MAAO,WACT,IAAK,KACH,MAAO,OACT,IAAK,KACH,MAAO,QACT,IAAK,KACH,MAAO,mBACT,IAAK,KACH,MAAO,aACT,IAAK,KACH,MAAO,aACT,IAAK,KACH,MAAO,YACT,IAAK,KACH,MAAO,UACT,IAAK,KACH,MAAO,SACT,IAAK,KACH,MAAO,kCACT,IAAK,KACH,MAAO,UACT,IAAK,KACH,MAAO,SACT,IAAK,KACH,MAAO,WACT,IAAK,KACH,MAAO,aACT,IAAK,KACH,MAAO,UACT,IAAK,KACH,MAAO,aACT,IAAK,KACH,MAAO,UACT,IAAK,KACH,MAAO,UACT,IAAK,KACH,MAAO,QACT,IAAK,KACH,MAAO,QACT,IAAK,KACH,MAAO,cACT,IAAK,KACH,MAAO,uBACT,IAAK,KACH,MAAO,gBACT,IAAK,KACH,MAAO,cACT,IAAK,KACH,MAAO,YACT,IAAK,KACH,MAAO,QACT,IAAK,KACH,MAAO,UACT,IAAK,KACH,MAAO,SACT,IAAK,KACH,MAAO,OACT,IAAK,KAwJL,IAAK,KACH,MAAO,SAvJT,IAAK,KACH,MAAO,WACT,IAAK,KACH,MAAO,QACT,IAAK,KACH,MAAO,wBACT,IAAK,KACH,MAAO,SACT,IAAK,KACH,MAAO,mBACT,IAAK,KACH,MAAO,WACT,IAAK,KACH,MAAO,OACT,IAAK,KACH,MAAO,cACT,IAAK,KACH,MAAO,mBACT,IAAK,KACH,MAAO,SACT,IAAK,KACH,MAAO,WACT,IAAK,KACH,MAAO,QACT,IAAK,KACH,MAAO,UACT,IAAK,KACH,MAAO,UACT,IAAK,KACH,MAAO,oBACT,IAAK,KACH,MAAO,SACT,IAAK,KACH,MAAO,eACT,IAAK,KACH,MAAO,wBACT,IAAK,KACH,MAAO,cACT,IAAK,KACH,MAAO,4BACT,IAAK,KACH,MAAO,mCACT,IAAK,KACH,MAAO,QACT,IAAK,KACH,MAAO,aACT,IAAK,KACH,MAAO,wBACT,IAAK,KACH,MAAO,eACT,IAAK,KACH,MAAO,UACT,IAAK,KACH,MAAO,wBACT,IAAK,KACH,MAAO,aACT,IAAK,KACH,MAAO,eACT,IAAK,KACH,MAAO,WACT,IAAK,KACH,MAAO,WACT,IAAK,KACH,MAAO,kBACT,IAAK,KACH,MAAO,UACT,IAAK,KACH,MAAO,eACT,IAAK,KACH,MAAO,QACT,IAAK,KACH,MAAO,YACT,IAAK,KACH,MAAO,aACT,IAAK,KACH,MAAO,sBACT,IAAK,KACH,MAAO,YACT,IAAK,KACH,MAAO,0BACT,IAAK,KACH,MAAO,QACT,IAAK,KACH,MAAO,WACT,IAAK,KACH,MAAO,YACT,IAAK,KACH,MAAO,SACT,IAAK,KACH,MAAO,cACT,IAAK,KACH,MAAO,QACT,IAAK,KACH,MAAO,SACT,IAAK,KACH,MAAO,aACT,IAAK,KACH,MAAO,WACT,IAAK,KACH,MAAO,WACT,IAAK,KACH,MAAO,cACT,IAAK,KACH,MAAO,OACT,IAAK,KACH,MAAO,QACT,IAAK,KACH,MAAO,sBACT,IAAK,KACH,MAAO,UACT,IAAK,KACH,MAAO,SACT,IAAK,KACH,MAAO,eACT,IAAK,KACH,MAAO,2BACT,IAAK,KACH,MAAO,SACT,IAAK,KACH,MAAO,SACT,IAAK,KACH,MAAO,UACT,IAAK,KACH,MAAO,uBACT,IAAK,KACH,MAAO,iBACT,IAAK,KACH,MAAO,gBACT,IAAK,KACH,MAAO,UACT,IAAK,KACH,MAAO,aACT,IAAK,KACH,MAAO,UACT,IAAK,KACH,MAAO,YACT,IAAK,KACH,MAAO,UACT,IAAK,KACH,MAAO,4BACT,IAAK,KACH,MAAO,iBACT,IAAK,KACH,MAAO,QACT,IAAK,KACH,MAAO,iBACT,IAAK,KACH,MAAO,SACT,IAAK,KACH,MAAO,WAGT,QACE,OAAOA,EAEb,CAEO,SAASqM,EAAwBrM,GACtC,OAAQA,GACN,IAAK,GACH,MAAO,GACT,IAAK,WACH,MAAO,KACT,IAAK,YACH,MAAO,KACT,IAAK,cACH,MAAO,KACT,IAAK,UACH,MAAO,KACT,IAAK,UACH,MAAO,KACT,IAAK,UACH,MAAO,KACT,IAAK,SACH,MAAO,KACT,IAAK,WACH,MAAO,KACT,IAAK,sBACH,MAAO,KACT,IAAK,YACH,MAAO,KACT,IAAK,UACH,MAAO,KACT,IAAK,QACH,MAAO,KACT,IAAK,YACH,MAAO,KACT,IAAK,UACH,MAAO,KACT,IAAK,aACH,MAAO,KACT,IAAK,UACH,MAAO,KACT,IAAK,UACH,MAAO,KACT,IAAK,aACH,MAAO,KACT,IAAK,WACH,MAAO,KACT,IAAK,UACH,MAAO,KACT,IAAK,UACH,MAAO,KACT,IAAK,SACH,MAAO,KACT,IAAK,QACH,MAAO,KACT,IAAK,UACH,MAAO,KACT,IAAK,SACH,MAAO,KACT,IAAK,UACH,MAAO,KACT,IAAK,yBACH,MAAO,KACT,IAAK,WACH,MAAO,KACT,IAAK,SACH,MAAO,KACT,IAAK,yBACH,MAAO,KACT,IAAK,SACH,MAAO,KACT,IAAK,WACH,MAAO,KACT,IAAK,eACH,MAAO,KACT,IAAK,UACH,MAAO,KACT,IAAK,WACH,MAAO,KACT,IAAK,WACH,MAAO,KACT,IAAK,SACH,MAAO,KACT,IAAK,aACH,MAAO,KACT,IAAK,iBACH,MAAO,KACT,IAAK,2BACH,MAAO,KACT,IAAK,OACH,MAAO,KACT,IAAK,QACH,MAAO,KACT,IAAK,QACH,MAAO,KACT,IAAK,WACH,MAAO,KACT,IAAK,UACH,MAAO,KACT,IAAK,oCACH,MAAO,KACT,IAAK,qBACH,MAAO,KACT,IAAK,aACH,MAAO,KACT,IAAK,8BACH,MAAO,KACT,IAAK,UACH,MAAO,KACT,IAAK,OACH,MAAO,KACT,IAAK,SACH,MAAO,KACT,IAAK,iBACH,MAAO,KACT,IAAK,UACH,MAAO,KACT,IAAK,WACH,MAAO,KACT,IAAK,WACH,MAAO,KACT,IAAK,qBACH,MAAO,KACT,IAAK,UACH,MAAO,KACT,IAAK,QACH,MAAO,KACT,IAAK,cACH,MAAO,KACT,IAAK,oBACH,MAAO,KACT,IAAK,UACH,MAAO,KACT,IAAK,UACH,MAAO,KACT,IAAK,WACH,MAAO,KACT,IAAK,mBACH,MAAO,KACT,IAAK,OACH,MAAO,KACT,IAAK,UACH,MAAO,KACT,IAAK,SACH,MAAO,KACT,IAAK,gBACH,MAAO,KACT,IAAK,mBACH,MAAO,KACT,IAAK,QACH,MAAO,KACT,IAAK,SACH,MAAO,KACT,IAAK,UACH,MAAO,KACT,IAAK,UACH,MAAO,KACT,IAAK,QACH,MAAO,KACT,IAAK,YACH,MAAO,KACT,IAAK,SACH,MAAO,KACT,IAAK,UACH,MAAO,KACT,IAAK,aACH,MAAO,KACT,IAAK,YACH,MAAO,KACT,IAAK,SACH,MAAO,KACT,IAAK,gBACH,MAAO,KACT,IAAK,SACH,MAAO,KACT,IAAK,QACH,MAAO,KACT,IAAK,WACH,MAAO,KACT,IAAK,oBACH,MAAO,KACT,IAAK,UACH,MAAO,KACT,IAAK,UACH,MAAO,KACT,IAAK,QACH,MAAO,KACT,IAAK,YACH,MAAO,KACT,IAAK,OACH,MAAO,KACT,IAAK,OACH,MAAO,KACT,IAAK,UACH,MAAO,KACT,IAAK,SACH,MAAO,KACT,IAAK,QACH,MAAO,KACT,IAAK,UACH,MAAO,KACT,IAAK,QACH,MAAO,KACT,IAAK,SACH,MAAO,KACT,IAAK,aACH,MAAO,KACT,IAAK,QACH,MAAO,KACT,IAAK,gBACH,MAAO,KACT,IAAK,gBACH,MAAO,KACT,IAAK,SACH,MAAO,KACT,IAAK,aACH,MAAO,KACT,IAAK,OACH,MAAO,KACT,IAAK,SACH,MAAO,KACT,IAAK,UACH,MAAO,KACT,IAAK,UACH,MAAO,KACT,IAAK,UACH,MAAO,KACT,IAAK,yBACH,MAAO,KACT,IAAK,gBACH,MAAO,KACT,IAAK,YACH,MAAO,KACT,IAAK,aACH,MAAO,KACT,IAAK,QACH,MAAO,KACT,IAAK,YACH,MAAO,KACT,IAAK,aACH,MAAO,KACT,IAAK,SACH,MAAO,KACT,IAAK,WACH,MAAO,KACT,IAAK,OACH,MAAO,KACT,IAAK,QACH,MAAO,KACT,IAAK,mBACH,MAAO,KACT,IAAK,aACH,MAAO,KACT,IAAK,aACH,MAAO,KACT,IAAK,YACH,MAAO,KACT,IAAK,UACH,MAAO,KACT,IAAK,SACH,MAAO,KACT,IAAK,kCACH,MAAO,KACT,IAAK,UACH,MAAO,KACT,IAAK,SACH,MAAO,KACT,IAAK,WACH,MAAO,KACT,IAAK,aACH,MAAO,KACT,IAAK,UACH,MAAO,KACT,IAAK,aACH,MAAO,KACT,IAAK,UACH,MAAO,KACT,IAAK,UACH,MAAO,KACT,IAAK,QACH,MAAO,KACT,IAAK,QACH,MAAO,KACT,IAAK,cACH,MAAO,KACT,IAAK,uBACH,MAAO,KACT,IAAK,gBACH,MAAO,KACT,IAAK,cACH,MAAO,KACT,IAAK,YACH,MAAO,KACT,IAAK,QACH,MAAO,KACT,IAAK,UACH,MAAO,KACT,IAAK,SACH,MAAO,KACT,IAAK,OACH,MAAO,KACT,IAAK,SAwJL,IAAK,SACH,MAAO,KAvJT,IAAK,WACH,MAAO,KACT,IAAK,QACH,MAAO,KACT,IAAK,wBACH,MAAO,KACT,IAAK,SACH,MAAO,KACT,IAAK,mBACH,MAAO,KACT,IAAK,WACH,MAAO,KACT,IAAK,OACH,MAAO,KACT,IAAK,cACH,MAAO,KACT,IAAK,mBACH,MAAO,KACT,IAAK,SACH,MAAO,KACT,IAAK,WACH,MAAO,KACT,IAAK,QACH,MAAO,KACT,IAAK,UACH,MAAO,KACT,IAAK,UACH,MAAO,KACT,IAAK,oBACH,MAAO,KACT,IAAK,SACH,MAAO,KACT,IAAK,eAwCL,IAAK,aACH,MAAO,KAvCT,IAAK,wBAwCL,IAAK,sBACH,MAAO,KAvCT,IAAK,cAwCL,IAAK,YACH,MAAO,KAvCT,IAAK,4BAwCL,IAAK,0BACH,MAAO,KAvCT,IAAK,mCACH,MAAO,KACT,IAAK,QACH,MAAO,KACT,IAAK,aACH,MAAO,KACT,IAAK,wBACH,MAAO,KACT,IAAK,eACH,MAAO,KACT,IAAK,UACH,MAAO,KACT,IAAK,wBACH,MAAO,KACT,IAAK,aACH,MAAO,KACT,IAAK,eACH,MAAO,KACT,IAAK,WACH,MAAO,KACT,IAAK,WACH,MAAO,KACT,IAAK,kBACH,MAAO,KACT,IAAK,UACH,MAAO,KACT,IAAK,eACH,MAAO,KACT,IAAK,QACH,MAAO,KACT,IAAK,YACH,MAAO,KAST,IAAK,QACH,MAAO,KACT,IAAK,WACH,MAAO,KACT,IAAK,YACH,MAAO,KACT,IAAK,SACH,MAAO,KACT,IAAK,cACH,MAAO,KACT,IAAK,QACH,MAAO,KACT,IAAK,SACH,MAAO,KACT,IAAK,aACH,MAAO,KACT,IAAK,WACH,MAAO,KACT,IAAK,WACH,MAAO,KACT,IAAK,cACH,MAAO,KACT,IAAK,OACH,MAAO,KACT,IAAK,QACH,MAAO,KACT,IAAK,sBACH,MAAO,KACT,IAAK,UACH,MAAO,KACT,IAAK,SACH,MAAO,KACT,IAAK,eACH,MAAO,KACT,IAAK,2BACH,MAAO,KACT,IAAK,SACH,MAAO,KACT,IAAK,SACH,MAAO,KACT,IAAK,UACH,MAAO,KACT,IAAK,uBACH,MAAO,KACT,IAAK,iBACH,MAAO,KACT,IAAK,gBACH,MAAO,KACT,IAAK,UACH,MAAO,KACT,IAAK,aACH,MAAO,KACT,IAAK,UACH,MAAO,KACT,IAAK,YACH,MAAO,KACT,IAAK,UACH,MAAO,KACT,IAAK,4BACH,MAAO,KACT,IAAK,iBACH,MAAO,KACT,IAAK,QACH,MAAO,KACT,IAAK,iBACH,MAAO,KACT,IAAK,SACH,MAAO,KACT,IAAK,WACH,MAAO,KAGT,QACE,OAAOA,EAEb,CAwCO,SAAShK,EAAqBH,GACnC,IAAIyW,EAAoB7V,IAExB,GAAkB,MAAdZ,EACF,GAAyB,MAArByW,EAA2B,CAC7B,IAAIC,EAAcD,EAAkBhX,OAAOO,GAC3Cb,aAAaH,QAAQ,sBAAuB1B,KAAK2B,UAAUyX,GAC7D,MACEvX,aAAaH,QAAQ,sBAAuB1B,KAAK2B,UAAUe,GAGjE,CAEO,SAASY,IACd,OACiD,MAA/CzB,aAAa9B,QAAQ,wBAC0B,aAA/C8B,aAAa9B,QAAQ,uBAELC,KAAKC,MAAM4B,aAAa9B,QAAQ,wBAEpC,IAChB,CAEO,SAAS+E,EAAwBb,GACtC,GACiD,MAA/CpC,aAAa9B,QAAQ,wBAC0B,aAA/C8B,aAAa9B,QAAQ,uBACrB,CACA,IAAIM,EAAYL,KAAKC,MAAM4B,aAAa9B,QAAQ,wBAG5CkE,GAAS,IAEX5D,EAAUgZ,OAAOpV,EAAO,GACxBpC,aAAaH,QAAQ,sBAAuB1B,KAAK2B,UAAUtB,IAG/D,CAEF,CA2CO,SAASyF,EAAmBwT,GACjC,OAAIA,EAAqB3E,SAAS,SACzB,UACE2E,EAAqB3E,SAAS,SAChC,iBACE2E,EAAqB3E,SAAS,UAChC,iBACK2E,CAChB,CAEO,SAAS1Z,IACd,IAAIC,EAAcC,eAAeC,QAAQ,eACzC,OAAmB,MAAfF,IACFA,EAAcG,KAAKC,MAAMJ,IACM,IAA3BA,EAAY0Z,WAKpB,CAEA,MAAMC,EAAY/P,cAWZgQ,EAAkB3Z,eAAe4B,QACvC5B,eAAe4B,QAAU,SAAUgY,EAAKzG,GACtC,MAAM0G,EAAiBnI,IAAAA,IAAaoI,QAClC5Z,KAAK2B,UAAUsR,GACfuG,GACA/H,WACFgI,EAAgBI,KAAK/Z,eAAgB4Z,EAAKC,EAC5C,EAEA,MAAMG,GAAkBha,eAAeC,QACvCD,eAAeC,QAAU,SAAU2Z,GACjC,MAAMC,EAAiBG,GAAgBD,KAAK/Z,eAAgB4Z,GAC5D,IAAKC,EAAgB,OAAO,KAC5B,IACE,MAAMI,EAAQvI,IAAAA,IAAawI,QAAQL,EAAgBH,GAEnD,OAAOxZ,KAAKC,MAAM8Z,EAAMtI,SAASD,IAAAA,IAAayI,MAChD,CAAE,MAAOvZ,GAEP,OADAyQ,QAAQzQ,MAAM,oBAAqBA,GAC5B,IACT,CACF,2FCp1DO,MAAMgL,EAAqBlM,IAE3B,MAANA,EACC,MAAO0a,EAAMC,IAAW5Z,EAAAA,EAAAA,WAAS,GACjC,OACEgD,EAAAA,EAAAA,KAAAC,EAAAA,SAAA,CAAAC,UACAF,EAAAA,EAAAA,KAAC6W,EAAAA,EAAK,CACFF,KAAMA,EACNG,OAAQA,IAAMF,GAAQ,GACtBG,gBAAgB,YAChB,kBAAgB,qBAChBC,WAAW,EACXC,SAAS,SACTC,UAAU,EAAMhX,UAEhBF,EAAAA,EAAAA,KAACK,EAAAA,EAAG,CAAAH,UACAF,EAAAA,EAAAA,KAAC6W,EAAAA,EAAMM,KAAI,CAAC/W,UAAU,MAAKF,UACvBF,EAAAA,EAAAA,KAAA,OAAKI,UAAU,gBAAgB+B,IAAI,uBAAuBiV,IAAI,0BAIvE,gKCfA,MAAMC,EAAmBpb,IAEzB,MAANA,EACA,MAAME,EAAa+J,0CACZoR,EAAoBC,GAAyBC,EAAAA,UAAe,IAC5Dna,EAAcC,IAAmBC,EAAAA,EAAAA,MAClCka,EAAMpa,EAAaS,IAAI,QACtB4Z,EAAMC,IAAW3a,EAAAA,EAAAA,UAAS,CAAC,IAC3B4a,EAAcC,IAAiB7a,EAAAA,EAAAA,UAAS,CAAC,IACzC8a,EAAQC,IAAa/a,EAAAA,EAAAA,UAAS,CAAC,IAC/Bgb,EAAeC,IAAmBjb,EAAAA,EAAAA,UAAS,CAAC,IAC5C2Z,EAAMC,IAAW5Z,EAAAA,EAAAA,WAAS,IAC1Bkb,EAAMC,IAAWnb,EAAAA,EAAAA,UAAS,MAC1Bob,EAAkBC,IAAuBrb,EAAAA,EAAAA,WAAS,IAClDsb,EAAqBC,IAA0Bvb,EAAAA,EAAAA,UAAS,OACxDwb,EAAYC,IAAiBzb,EAAAA,EAAAA,UAAS,OACtC0b,EAAYC,IAAiB3b,EAAAA,EAAAA,UAAS,MACtC+X,EAAUE,IAAejY,EAAAA,EAAAA,WAAS6X,EAAAA,EAAAA,QAClClH,EAAMiL,IAAW5b,EAAAA,EAAAA,UAAS,OAC1B6b,EAAOC,GAAYtB,EAAAA,UAAe,IAClCva,EAASC,IAAcF,EAAAA,EAAAA,WAAS,IAChCG,EAAOC,IAAYJ,EAAAA,EAAAA,UAAS,MAC7ByK,GAAQ1I,EAAAA,EAAAA,MACd,IAAI,aAAEuF,EAAY,gBAAES,IAAoBlI,EAAAA,EAAAA,YAAWjC,EAAAA,KAC/C,aAAE+B,EAAY,gBAAEC,IAAoBC,EAAAA,EAAAA,YAAW9B,EAAAA,IAC/CyJ,EAAc,EAClB7H,EAAa8H,SAAQC,IACpBF,GAAeE,EAAQqU,cAAc,IAEtC,MAAM,cAAEhV,GAAa,iBAAEC,KAAqBnH,EAAAA,EAAAA,YAAWhC,EAAAA,KACjD,cAAEoJ,GAAa,iBAAEC,KAAqBrH,EAAAA,EAAAA,YAAW/B,EAAAA,KACjD,aAAEkK,GAAY,WAAEC,KAAepI,EAAAA,EAAAA,YAAW7B,EAAAA,IAChDsJ,EAAeA,EAAeP,GAAgBE,GAAgBO,EAAcQ,GAC5E,MAAMgU,IAAcpG,EAAAA,EAAAA,IAA6BtO,GAE3C2U,GAAqB,GAAAra,OAAMzC,EAAU,uBACrC+c,GAA+B,CACpCxX,OAAQ,OACR7C,QAAS,CACR,eAAgB,mBAChB,cAAiB4I,GAElB9F,KAAMlF,KAAK2B,UAAU,CACpB,MAASka,KA0KX,MAAMa,GAAWA,CAACC,EAAO1J,KACxBiI,GAAO0B,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACL3B,GAAI,IACP,CAAC0B,GAAQ1J,KAGJoI,EAAOsB,IAAQrB,GAASsB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EAC5BvB,GAAM,IACT,CAACsB,GAAQ,OACR,EAGGE,GAAiBA,KACtB,MAAM,aAAEC,EAAY,gBAAEC,GAAoB9B,EACpC+B,EAAY,CAAC,EAKnB,OAHKF,GAAiC,KAAjBA,EACXC,GAAuC,KAApBA,IAAwBC,EAAUD,gBAAkB,wBADvCC,EAAUF,aAAe,oBAG5DE,CAAS,EAkCjB,MA6BMC,GAAiBA,CAACN,EAAO1J,KAC9BmI,GAAawB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACXzB,GAAY,IACf,CAACwB,GAAQ1J,KAGJsI,EAAcoB,IAAQnB,GAAeoB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACzCrB,GAAa,IAChB,CAACoB,GAAQ,OACR,EAqFH,OACCjZ,EAAAA,EAAAA,MAAAF,EAAAA,SAAA,CAAAC,SAAA,CACEjD,IAAW+C,EAAAA,EAAAA,KAAA,OAAKI,UAAU,SAAQF,UAClCF,EAAAA,EAAAA,KAACmI,EAAAA,EAAkB,OAEpBnI,EAAAA,EAAAA,KAAC6W,EAAAA,EAAK,CACLF,KAAMA,EACNG,OAAQA,IAAMF,GAAQ,GACtBG,gBAAgB,uBAChB,kBAAgB,mBAAkB7W,SAGnB,KAAdwY,GACAvY,EAAAA,EAAAA,MAACE,EAAAA,EAAG,CAAAH,SAAA,EACHF,EAAAA,EAAAA,KAACM,EAAAA,EAAG,CAACuO,GAAI,EAAE3O,UACVF,EAAAA,EAAAA,KAAC6W,EAAAA,EAAMM,KAAI,CAAC/W,UAAU,MAAKF,UAC1BC,EAAAA,EAAAA,MAAA,OAAKC,UAAU,SAAQF,SAAA,EACtBC,EAAAA,EAAAA,MAAA,OAAKC,UAAU,OAAMF,SAAA,EACpBF,EAAAA,EAAAA,KAAA,MAAAE,SAAI,yBACJC,EAAAA,EAAAA,MAAA,MAAAD,SAAA,EACCC,EAAAA,EAAAA,MAAA,MAAAD,SAAA,EAAIF,EAAAA,EAAAA,KAAA,OAAKmC,IAAI,8BAAkC,sBAC/ChC,EAAAA,EAAAA,MAAA,MAAAD,SAAA,EAAIF,EAAAA,EAAAA,KAAA,OAAKmC,IAAI,8BAAkC,8BAC/ChC,EAAAA,EAAAA,MAAA,MAAAD,SAAA,EAAIF,EAAAA,EAAAA,KAAA,OAAKmC,IAAI,8BAAkC,8BAC/ChC,EAAAA,EAAAA,MAAA,MAAAD,SAAA,EAAIF,EAAAA,EAAAA,KAAA,OAAKmC,IAAI,8BAAkC,0BAGjDnC,EAAAA,EAAAA,KAAA,UAAQI,UAAU,gBAAgBkI,KAAK,SAASlH,QAASA,IAAMuX,EAAc,KAAKzY,SAAC,yBAItFF,EAAAA,EAAAA,KAACM,EAAAA,EAAG,CAACuO,GAAI,EAAE3O,UACVF,EAAAA,EAAAA,KAAA,OAAKI,UAAU,QAAOF,SACZ,KAARgY,EACoB,GAApBE,GAECjY,EAAAA,EAAAA,MAACiP,EAAAA,EAAI,CAAAlP,SAAA,EACJF,EAAAA,EAAAA,KAAC6W,EAAAA,EAAM8C,OAAM,CAACvZ,UAAU,wBAAwBwZ,aAAW,EAAA1Z,UAC1DF,EAAAA,EAAAA,KAAA,MAAAE,SAAI,cAELC,EAAAA,EAAAA,MAAC0W,EAAAA,EAAMM,KAAI,CAAC/W,UAAU,mBAAkBF,SAAA,EACvCC,EAAAA,EAAAA,MAAA,MAAAD,SAAA,CAAI,+CAA6C8Y,GAAYnW,UAAU,kBACvE1C,EAAAA,EAAAA,MAACiP,EAAAA,EAAKyK,MAAK,CAACzZ,UAAU,OAAMF,SAAA,EAC3BF,EAAAA,EAAAA,KAACoP,EAAAA,EAAK0K,MAAK,CAAA5Z,SAAC,WACZF,EAAAA,EAAAA,KAACoP,EAAAA,EAAKC,QAAO,CACZ/G,KAAK,OACLiH,YAAY,yBACZE,SAAUsK,GAAKZ,GAAS,eAAgBY,EAAE1R,OAAOqH,OACjDsK,YAAmB,OAANlC,QAAM,IAANA,IAAAA,EAAQyB,iBAEtBvZ,EAAAA,EAAAA,KAACoP,EAAAA,EAAKC,QAAQ4K,SAAQ,CAAC3R,KAAK,UAASpI,SAC7B,OAAN4X,QAAM,IAANA,OAAM,EAANA,EAAQyB,mBAGXpZ,EAAAA,EAAAA,MAACiP,EAAAA,EAAKyK,MAAK,CAACzZ,UAAU,OAAMF,SAAA,EAC3BF,EAAAA,EAAAA,KAACoP,EAAAA,EAAK0K,MAAK,CAAA5Z,SAAC,cACZF,EAAAA,EAAAA,KAACoP,EAAAA,EAAKC,QAAO,CACZ/G,KAAK,WACLiH,YAAY,gBACZE,SAAUsK,GAAKZ,GAAS,kBAAmBY,EAAE1R,OAAOqH,OACpDsK,YAAmB,OAANlC,QAAM,IAANA,IAAAA,EAAQ0B,oBAEtBxZ,EAAAA,EAAAA,KAACoP,EAAAA,EAAKC,QAAQ4K,SAAQ,CAAC3R,KAAK,UAASpI,SAC7B,OAAN4X,QAAM,IAANA,OAAM,EAANA,EAAQ0B,yBAKZrZ,EAAAA,EAAAA,MAAC0W,EAAAA,EAAMqD,OAAM,CAAC9Z,UAAU,8BAA6BF,SAAA,EACpDF,EAAAA,EAAAA,KAAA,KAAGI,UAAU,yBAAyBgB,QAASA,KAAQiX,GAAoB,GAAOE,EAAuB,KAAK,EAAGrY,SAAC,sBAClHF,EAAAA,EAAAA,KAAA,UAAQI,UAAU,eAAekI,KAAK,SAASlH,QA/NrC2Y,IACpBzb,aAAaiB,WAAW,SACxBjB,aAAaiB,WAAW,YACxBjB,aAAaiB,WAAW,gBAExBjB,aAAaiB,WAAW,mBACxBjB,aAAaiB,WAAW,wBAExB,MAAMka,EAAYH,KAEda,OAAOC,KAAKX,GAAWpa,OAAS,GACnC0a,EAAElR,iBAEFkP,EAAU0B,MAEVjb,EAAAA,EAAAA,MAEIkZ,GAvKN,SAAoBvC,EAAOkF,GAE1B,MAAMC,EAAuB,GAEvBC,EAAiB,GAAA3b,OAAMzC,EAAU,kBAAAyC,OAAiBuW,GAEpC1W,WACnB,IACC,MAAM+b,QAA2B7b,MAChC4b,EACA,CACC1b,QAAS,CACR,eAAiBE,EAAAA,EAAAA,SAIpB,IAAKyb,EAAmBxb,GACvB,MAAM,IAAIC,MAAM,wCAADL,OAC0B4b,EAAmBtb,SAG7D,IAAIub,QAAmBD,EAAmBpb,OAC1C6V,EAAYwF,GACZrd,EAAS,MAETkB,aAAaH,QAAQ,WAAY1B,KAAK2B,UAAUqc,IAChDnc,aAAaH,QAAQ,eAAgB1B,KAAK2B,UAAU+W,IAIpD7W,aAAaH,QAAQ,uBAAwB1B,KAAK2B,UAAUkc,GAG7D,CAAE,MAAO3a,GAERmZ,GAAS,GACT1b,EAASuC,EAAIC,QACd,GAEDiV,GAGA,MAAM6F,EAAa,GAAA9b,OAAMzC,EAAU,eAE7Bwe,EAAuB,CAC5BjZ,OAAQ,OACR7C,QAAS,CACR,eAAgB,mBAChB,eAAiBE,EAAAA,EAAAA,OAElB4C,KAAMlF,KAAK2B,UAAU,CACpB,MAAS+W,EACT,SAAYkF,KAKU5b,WACvB,IACC,MAAMmc,QAAuBjc,MAC5B+b,EAAeC,GAIhB,IAAKC,EAAe5b,GACnB,MAAM,IAAIC,MAAM,wCAADL,OAC0Bgc,EAAe1b,SAGpD,CACJ,IAAI2b,QAAsBD,EAAexb,OAEH,GAAlCyb,EAAcC,kBACjBhC,GAAS,IACTnE,EAAAA,EAAAA,KAAe,GACfvX,EAAS,MACT2a,EAAU,MAKVzZ,aAAaH,QAAQ,QAAS1B,KAAK2B,WAAU,KAE7C6R,EAAAA,EAAAA,IAAa4K,EAAcpT,MAAMoJ,eACjCT,EAAAA,EAAAA,IAAmByK,EAAcpT,MAAMqJ,YAEvCxS,aAAaH,QAAQ,eAAgB1B,KAAK2B,UAAU+W,IAMzC,oCAAPsC,GAA6CoD,EAAcpT,MAAMoJ,aACpErR,OAAOC,SAAS2I,KAAO,mCAAkC,QAAAxJ,OAAWic,EAAcpT,MAAMoJ,aAAY,YAAAjS,OAAWic,EAAcpT,MAAMqJ,aAInI8F,GAAQ,GACRpX,OAAOC,SAASC,YAKbgY,GACHe,EAAkB,OAAJf,QAAI,IAAJA,OAAI,EAAJA,EAAM6B,cAErBpB,EAAQ,KAEV,CACD,CAAE,MAAOxY,GACRiO,QAAQC,IAAIlO,GACZoY,EAAU,CAAE,aAAgB,iCAC5Be,GAAS,EACV,CAAC,QACA5b,GAAW,EACZ,GAED6d,EAED,CAiDGC,CAAWtD,EAAK6B,aAAc7B,EAAK8B,iBAErC,EA2M+EtZ,SAAC,iBAEtEC,EAAAA,EAAAA,MAAA,MAAAD,SAAA,CAAI,gCAA4BF,EAAAA,EAAAA,KAAA,KAAGoB,QAASA,IAAMwV,GAAQ,GAAQxW,UAAU,QAAQ,aAAW,QAAOF,SAAC,qCAKzGC,EAAAA,EAAAA,MAACiP,EAAAA,EAAI,CAAAlP,SAAA,EACJF,EAAAA,EAAAA,KAAC6W,EAAAA,EAAM8C,OAAM,CAACvZ,UAAU,wBAAwBwZ,aAAW,EAAA1Z,UAC1DF,EAAAA,EAAAA,KAAA,MAAAE,SAAI,uBAELC,EAAAA,EAAAA,MAAC0W,EAAAA,EAAMM,KAAI,CAAC/W,UAAU,mBAAkBF,SAAA,EACvCC,EAAAA,EAAAA,MAACiP,EAAAA,EAAKyK,MAAK,CAACzZ,UAAU,OAAMF,SAAA,EAC3BF,EAAAA,EAAAA,KAACoP,EAAAA,EAAK0K,MAAK,CAAA5Z,SAAC,WACZF,EAAAA,EAAAA,KAACoP,EAAAA,EAAKC,QAAO,CACZ/G,KAAK,OACLiH,YAAY,yBACZE,SAAUsK,GAAKxB,EAAuBwB,EAAE1R,OAAOqH,aAGjD1P,EAAAA,EAAAA,KAACoP,EAAAA,EAAKC,QAAO,CACZ/G,KAAK,OACL2S,UAAQ,EACR7a,UAAU,eAGZD,EAAAA,EAAAA,MAAC0W,EAAAA,EAAMqD,OAAM,CAAC9Z,UAAU,8BAA6BF,SAAA,EACpDF,EAAAA,EAAAA,KAAA,UAAQI,UAAU,eAAekI,KAAK,SAASlH,QA7Z1D,YAPsF,GAAhF,gDAAgD0H,KAQLwP,KAP/CtW,MAAM,4DACC,OAQPxD,EAAAA,EAAAA,MACAia,EAAcH,GA7BS7Z,WACxB,IACC,MAAMyc,QAA+Bvc,MACpCsa,GAAuBC,IAExB,IAAKgC,EAAuBlc,GAC3B,MAAM,IAAIC,MAAM,wCAADL,OAC0Bsc,EAAuBhc,SAGjEmZ,GAAoB,GACpBF,EAAQ,IACT,CAAE,MAAOxY,GACRqC,MAAM,gCACP,GAgBCmZ,GAEF,EAsZiFjb,SAAC,oBACvEC,EAAAA,EAAAA,MAAA,MAAAD,SAAA,CAAI,gCAA4BF,EAAAA,EAAAA,KAAA,KAAGoB,QAASA,IAAMwV,GAAQ,GAAQxW,UAAU,QAAQ,aAAW,QAAOF,SAAC,qCAK1GC,EAAAA,EAAAA,MAACiP,EAAAA,EAAI,CAAAlP,SAAA,EACJF,EAAAA,EAAAA,KAAC6W,EAAAA,EAAM8C,OAAM,CAACvZ,UAAU,0BAAyBF,UAEhDF,EAAAA,EAAAA,KAAA,MAAII,UAAU,kBAAiBF,SAAC,2BAEjCC,EAAAA,EAAAA,MAAC0W,EAAAA,EAAMM,KAAI,CAAC/W,UAAU,mBAAkBF,SAAA,EACvCF,EAAAA,EAAAA,KAAA,KAAAE,SAAG,+BACHF,EAAAA,EAAAA,KAAA,KAAAE,UAAGF,EAAAA,EAAAA,KAAA,UAAAE,SAASsY,OACZxY,EAAAA,EAAAA,KAAA,KAAGI,UAAU,OAAMF,SAAC,iDAEpBF,EAAAA,EAAAA,KAAA,KAAGI,UAAU,OAAMF,SAAC,oCACpBC,EAAAA,EAAAA,MAAA,KAAAD,SAAA,CAAG,wBAAoBF,EAAAA,EAAAA,KAAA,KAAGoI,KAAK,sCAAqClI,SAAC,iCAAgC,0BAEtGC,EAAAA,EAAAA,MAAC0W,EAAAA,EAAMqD,OAAM,CAAC9Z,UAAU,4CAA2CF,SAAA,EAClEF,EAAAA,EAAAA,KAAA,UAAQI,UAAU,eAAekI,KAAK,SAASlH,QAASA,KArPjE+W,EAAQ,KACRgB,GAAS,eAAgB,MACzBA,GAAS,kBAAmB,WAC5BV,EAAc,OAkP0EvY,SAAC,4BAEhFC,EAAAA,EAAAA,MAAA,MAAAD,SAAA,CAAI,gCAA4BF,EAAAA,EAAAA,KAAA,KAAGoB,QAASA,IAAMwV,GAAQ,GAAQxW,UAAU,QAAQ,aAAW,QAAOF,SAAC,4CAQ7GC,EAAAA,EAAAA,MAACE,EAAAA,EAAG,CAAAH,SAAA,EACHF,EAAAA,EAAAA,KAACM,EAAAA,EAAG,CAACuO,GAAI,EAAE3O,UACVF,EAAAA,EAAAA,KAAC6W,EAAAA,EAAMM,KAAI,CAAC/W,UAAU,MAAKF,UAC1BC,EAAAA,EAAAA,MAAA,OAAKC,UAAU,wBAAuBF,SAAA,EACrCF,EAAAA,EAAAA,KAAA,OAAKI,UAAU,OAAMF,UACpBF,EAAAA,EAAAA,KAAA,MAAAE,SAAI,yBAELF,EAAAA,EAAAA,KAAA,UAAQI,UAAU,gBAAgBkI,KAAK,SAASlH,QAASA,IAAMuX,EAAc,KAAKzY,SAAC,yBAItFF,EAAAA,EAAAA,KAACM,EAAAA,EAAG,CAACuO,GAAI,EAAE3O,UACVF,EAAAA,EAAAA,KAAA,OAAKI,UAAU,QAAOF,UACrBC,EAAAA,EAAAA,MAACiP,EAAAA,EAAI,CAAAlP,SAAA,EACJF,EAAAA,EAAAA,KAAC6W,EAAAA,EAAM8C,OAAM,CAACvZ,UAAU,wBAAwBwZ,aAAW,EAAA1Z,UAC1DF,EAAAA,EAAAA,KAAA,MAAAE,SAAI,eAELC,EAAAA,EAAAA,MAAC0W,EAAAA,EAAMM,KAAI,CAAC/W,UAAU,6BAA4BF,SAAA,EACjDC,EAAAA,EAAAA,MAACiP,EAAAA,EAAKyK,MAAK,CAACzZ,UAAU,OAAMF,SAAA,EAC3BF,EAAAA,EAAAA,KAACoP,EAAAA,EAAK0K,MAAK,CAAA5Z,SAAC,WACZF,EAAAA,EAAAA,KAACoP,EAAAA,EAAKC,QAAO,CACZ/G,KAAK,OACLiH,YAAY,yBACZE,SAAUsK,GAAKL,GAAe,eAAgBK,EAAE1R,OAAOqH,OACvDsK,YAAahC,EAAcoD,gBAE5Bpb,EAAAA,EAAAA,KAACoP,EAAAA,EAAKC,QAAQ4K,SAAQ,CAAC3R,KAAK,UAASpI,SACnC8X,EAAcoD,mBAMjBjb,EAAAA,EAAAA,MAACiP,EAAAA,EAAKyK,MAAK,CAACzZ,UAAU,OAAMF,SAAA,EAC3BF,EAAAA,EAAAA,KAACoP,EAAAA,EAAK0K,MAAK,CAAA5Z,SAAC,cACZF,EAAAA,EAAAA,KAAA,MAAAE,SAAI,mCACJF,EAAAA,EAAAA,KAACoP,EAAAA,EAAKC,QAAO,CACZ/G,KAAK,WACLiH,YAAY,gBACZE,SAAUsK,GAAKL,GAAe,kBAAmBK,EAAE1R,OAAOqH,OAC1DsK,YAAahC,EAAcqD,mBAE5Brb,EAAAA,EAAAA,KAACoP,EAAAA,EAAKC,QAAQ4K,SAAQ,CAAC3R,KAAK,UAASpI,SACnC8X,EAAcqD,sBAIjBlb,EAAAA,EAAAA,MAACiP,EAAAA,EAAKyK,MAAK,CAAA3Z,SAAA,EACVF,EAAAA,EAAAA,KAACoP,EAAAA,EAAK0K,MAAK,CAAA5Z,SAAC,uBACZF,EAAAA,EAAAA,KAAA,MAAAE,SAAI,mCACJF,EAAAA,EAAAA,KAACoP,EAAAA,EAAKC,QAAO,CACZ/G,KAAK,WACLiH,YAAY,gBACZE,SAAUsK,GAAKL,GAAe,sBAAuBK,EAAE1R,OAAOqH,OAC9DsK,YAAahC,EAAcsD,uBAE5Btb,EAAAA,EAAAA,KAACoP,EAAAA,EAAKC,QAAQ4K,SAAQ,CAAC3R,KAAK,UAASpI,SACnC8X,EAAcsD,6BAKlBtb,EAAAA,EAAAA,KAAC6W,EAAAA,EAAMqD,OAAM,CAAC9Z,UAAU,+BAA8BF,UACrDF,EAAAA,EAAAA,KAAA,UAAQI,UAAU,eAAekI,KAAK,SAASlH,QA9PnC2Y,KACpBvb,EAAAA,EAAAA,MAGA,MAAMib,EApBsB8B,MAC5B,MAAM,aAAEH,EAAY,UAAEI,EAAS,gBAAEH,EAAe,oBAAEC,EAAmB,gBAAEG,EAAe,uBAAEC,GAA2B9D,EAC7G6B,EAAY,CAAC,EAWnB,OAVK2B,GAAiC,KAAjBA,EAC4D,GAAvE,gDAAgDtS,KAAKsS,GAAyB3B,EAAU2B,aAAe,0DAIvGC,GAAuC,KAApBA,EACnBC,GAA+C,KAAxBA,EACxBD,IAAoBC,EAAqB7B,EAAU6B,oBAAsB,6CACzEA,EAAoBjc,OAAS,IAAGoa,EAAU6B,oBAAsB,2CAFZ7B,EAAU6B,oBAAsB,4BADxC7B,EAAU4B,gBAAkB,4BALvC5B,EAAU2B,aAAe,yBAU5D3B,CAAS,EAOE8B,GAElB,GAAIpB,OAAOC,KAAKX,GAAWpa,OAAS,EACnC0a,EAAElR,iBAEFoP,EAAgBwB,OACV,CACNX,GAAS,GACT,MAAM6C,EAAgB,GAAA/c,OAAMzC,EAAU,kBAGhCyf,EAA0B,CAC/Bla,OAAQ,OACR7C,QAAS,CACR,eAAgB,mBAChB,eAAiBE,EAAAA,EAAAA,OAElB4C,KAAMlF,KAAK2B,UAAU,CACpB,MAASwZ,EAAawD,aACtB,SAAYxD,EAAayD,gBACzB,gBAAmBzD,EAAa0D,uBAGX7c,WACtB,IACC,MAAMod,QAA0Bld,MAC/Bgd,EAAkBC,GAEnB,IAAIE,QAAyBD,EAAkBzc,OAC/C,IAAKyc,EAAkB7c,GAEtB,MADAgD,MAAM8Z,EAAiBlc,SACjB,IAAIX,MAAM,wCAADL,OAC0Bid,EAAkB3c,SAG5D0Z,EAAQkD,GACR1e,EAAS,MAGuB,IAA5B0e,EAAiB5c,QACpByZ,EAAc,KACd3W,MAAM,sDAGNA,MAAM8Z,EAAiBlc,QAEzB,CAAE,MAAOD,GACRvC,EAASuC,EAAIC,SACbgZ,EAAQ,KACT,CAAC,QACA1b,GAAW,EACZ,GAED6e,EACD,GAoM6E7b,SAAC,4BAQ3E,wHC7kBE,MAAM8b,EAAkB/f,IAcxB,IAdyB,aAC/BggB,EAAe,EAAC,oBAChBrV,EAAmB,UACnBsV,EAAS,YACTpV,EAAW,YACXC,EAAW,YACXC,EAAW,SACXmV,EAAQ,UACRC,EAAS,gBAETlV,EAAe,gBACfC,EAAe,MAEf0R,GACA5c,EAIA,MAAME,EAAa+J,0CACb,UAAEmB,EAAS,aAAEC,IAAiBzK,EAAAA,EAAAA,YAAW5B,EAAAA,KACzC,aAAE+J,EAAY,WAAEC,IAAepI,EAAAA,EAAAA,YAAW7B,EAAAA,KAG1C,YAAEkK,EAAW,eAAEC,IAAmBtI,EAAAA,EAAAA,YAAWvB,EAAAA,KAC7C,gBAAE6I,EAAe,mBAAEC,IAAuBvH,EAAAA,EAAAA,YAAWxB,EAAAA,KACrD,qBAAEkM,EAAoB,wBAAEC,IAA4B3K,EAAAA,EAAAA,YAAWtB,EAAAA,IAG/D6L,EAAW3K,KAAKC,MAAM4B,aAAa9B,QAAQ,aAC3C2Y,EAAQ1Y,KAAKC,MAAM4B,aAAa9B,QAAQ,kBAEvC6f,EAAmBC,IAAwBtf,EAAAA,EAAAA,UAAS,KACpDuf,EAAmBC,IAAsBxf,EAAAA,EAAAA,WAAS,IAiBzDuB,EAAAA,EAAAA,YAAU,KACTqP,QAAQC,IAAI,wBAADjP,OAAyB2I,GAAuB,GACzD,CAACA,IAaJ,MAAMkV,EAAoBhe,UACzB,IACC,MAAM0O,QAAiBxO,MAAM,GAADC,OACxBzC,EAAU,mBAAAyC,OAAkBuW,GAC/B,CACCzT,OAAQ,OACR7C,QAAS,CACR,eAAgB,mBAChB,eAAiBE,EAAAA,EAAAA,OAElB4C,KAAMlF,KAAK2B,UAAU,CACpBse,UAAWR,EACXS,YAAa7V,EACb8V,cAAe7V,EACf+E,WAAY9E,EACZ6V,QAASV,EACT3P,QAAS4P,MAKZ,GAAIjP,EAASnO,GAAI,CAChB,IAAI2O,QAAaR,EAAS/N,OAK1B,GAJAkd,EAAqB3O,GAID,IAAhBA,EAAKtO,OAAc,CAEtB,MAAMyd,EAAgBnP,EAAK,GAAGoP,YAC9B5X,EAAe2X,GACfE,EAAiBF,EAClB,CACD,CAED,CAAE,MAAO3f,GACRyQ,QAAQzQ,MAAM,gCAAiCA,EAChD,GA2CK6f,EAAoBC,KACzBze,EAAAA,EAAAA,MACA,MAAMqG,EAAKqY,SAASC,eAAe,eAC7BC,EAAMF,SAASC,eAAe,mBAIpC,GAHAtY,EAAGwY,UAAUC,IAAI,UACjBF,EAAIC,UAAUC,IAAI,UAEF,KAAZL,EAIH,OAHA7Y,EAAmB,GACnBoD,EAAwB,WACxBrC,EAAe8X,GAICxe,WAChB,IACC,MAAM0O,QAAiBxO,MAAM,GAADC,OACxBzC,EAAU,YACb,CACCuF,OAAQ,OACR7C,QAAS,CACR,eAAgB,mBAChB,eAAiBE,EAAAA,EAAAA,OAElB4C,KAAMlF,KAAK2B,UAAU,CACpB8G,YAAa+X,EACbM,MAAO3W,EACP8V,UAAWR,EACXS,YAAa7V,EACb8V,cAAe7V,EACf+E,WAAY9E,EACZ6V,QAASV,EACT3P,QAAS4P,EACThR,cAAelE,EACf+E,cAAe9E,MAMlB,GAAwB,MAApBgG,EAASjO,OAOZ,OALA2F,EAAG2Y,YAAc,gEACjB3Y,EAAGwY,UAAUI,OAAO,UACpBrZ,EAAmB,GACnBoD,EAAwB,WACxBrC,EAAe8X,GAIhB,IAAK9P,EAASnO,GAAI,CACjB,IAAI0e,QAAkBvQ,EAAS/N,OAC/B,MAAM,IAAIH,MACTye,EAAU/O,KAAG,wCAAA/P,OAA4CuO,EAASjO,QAEpE,CAEA,IAAIoO,QAAmBH,EAAS/N,OAGP,GAArBkO,EAAWjO,SAEViO,EAAW,GAAGqQ,kBArJf,SAFuBC,EAuJgCxW,GArJzC,KACHwW,IAsJbxZ,EAAmBQ,WAAW0I,EAAW,GAAGuQ,eAC5C1Y,EAAe8X,GACfhY,EAAW,GACXqC,EAAa,QAGb8V,EAAIC,UAAUI,OAAO,UACrBrZ,EAAmB,GACnBoD,EAAwB,MACxBrC,EAAe8X,IAGlB,CAAE,MAAOtd,GAERkF,EAAG2Y,YAAc7d,EAAIC,SAAW,eAEhCiF,EAAGwY,UAAUI,OAAO,UACpBrZ,EAAmB,GACnBoD,EAAwB,MACxBrC,EAAe8X,EAChB,CA7KF,IAA8BW,CA6K5B,EAKDE,EAAU,EAUX,OANAvf,EAAAA,EAAAA,YAAU,KACTke,GAAmB,GACjB,KAKFzc,EAAAA,EAAAA,KAAAC,EAAAA,SAAA,CAAAC,UACCC,EAAAA,EAAAA,MAAA,OAAKC,UAAU,oBAAmBF,SAAA,EACjCC,EAAAA,EAAAA,MAAA,SAAOe,MAAO,OAAQd,UAAU,mBAAkBF,SAAA,EACjDF,EAAAA,EAAAA,KAAA,MAAAE,UACCF,EAAAA,EAAAA,KAAA,MAAI6P,QAAS,EAAE3P,UAACF,EAAAA,EAAAA,KAAA,MAAAE,SAAI,0BAIrBF,EAAAA,EAAAA,KAAA,MAAAE,UACCC,EAAAA,EAAAA,MAAA,MAAAD,SAAA,EAAIC,EAAAA,EAAAA,MAAA,MAAAD,SAAA,CAAK+b,EAAajJ,OAASpO,WAAWqX,EAAajJ,QAAQnQ,UAAY,EAAE,cAAY7C,EAAAA,EAAAA,KAAA,MAAAE,SAAI,uBAG/FF,EAAAA,EAAAA,KAACK,EAAAA,EAAG,CAACD,UAAU,MAAKF,UACnBC,EAAAA,EAAAA,MAACiP,EAAAA,EAAK2O,OAAM,CAAC3d,UAAU,eAAeO,GAAG,wBAAwBC,KAAK,wBAAwB6O,SAAWsK,GA7N7G,SAAiBrK,EAAOhL,GACvB,MAAM/D,EAAK+D,EAAQsZ,aAAa,MAChC/Y,EAAWyK,GACXpI,EAAa3G,GACbwE,EAAe,MACff,EAAmB,GACnBoD,EAAwB,OAEXsL,EAAAA,EAAAA,IAAqBpD,EACnC,CAoNmHuO,CAAQlE,EAAE1R,OAAOqH,MAAOqK,EAAE1R,OAAO6V,WAAWnE,EAAE1R,OAAO8V,cAAgB,IAAIje,SAAA,EACvLF,EAAAA,EAAAA,KAAA,UAAQ8P,MAAM,eAAeR,UAAQ,EAAApP,SAAC,0BACtCF,EAAAA,EAAAA,KAACoe,EAAAA,EAASC,QAAO,KACjBre,EAAAA,EAAAA,KAAA,UAAQ0P,MAAM,IAAI4O,UAAQ,EAAApe,SAAc,OAAZ+b,QAAY,IAAZA,GAAAA,EAAczO,QAAU,uCAAyC,wBAC5FyO,GAAgBA,EAAazO,SAAWyO,EAAazO,QAAQhN,KAAI,CAAAC,EAAsCC,KAAK,IAA1C,GAAEC,EAAE,KAAE4d,EAAI,SAAEC,EAAQ,KAAE5d,EAAI,MAAE6d,GAAOhe,EAAA,OACrGT,EAAAA,EAAAA,KAAA,UAAQW,GAAIA,EAAI+O,MAAO8O,EAASte,SAAEU,GAAc,UAMnDZ,EAAAA,EAAAA,KAAA,SAAOkB,MAAO,OAAQd,UAAU,mBAAkBF,UAEjDF,EAAAA,EAAAA,KAAA,MAAAE,SApKImc,EAAkBhd,OAAS,EAAC,cAAAT,OAClByd,EAAkBhd,OAAM,8BACtC,iCAoKDc,EAAAA,EAAAA,MAACE,EAAAA,EAAG,CAACD,UAAU,yBAAwBF,SAAA,EACtCF,EAAAA,EAAAA,KAACoP,EAAAA,EAAKC,QAAO,CACZjP,UAAU,eACVkI,KAAK,OACL3H,GAAG,aACH+O,MAAOxK,EACPwZ,QAvKoBC,KACxBlC,IACAD,GAAmB,EAAK,EAsKpBoC,OA/ImBC,KACvBC,YAAW,IAAMtC,GAAmB,IAAQ,IAAI,EAgJ5C/M,SAAWsK,IACV,MAAMgF,EAAWhF,EAAE1R,OAAOqH,MA/J/BvK,EAgK8B4Z,GA/J9BvC,GAAmB,GAiKdpY,EAAmB,GACnBoD,EAAwB,KAAK,IAM9B+U,GAAqBF,EAAkBhd,OAAS,IAChDW,EAAAA,EAAAA,KAAA,MAAII,UAAU,sBAAqBF,SACjCmc,EAAkB7b,KAAK1E,IACvBkE,EAAAA,EAAAA,KAAA,MAECoB,QAASA,KAAM4d,OArLM/B,EAqLcnhB,EAAKihB,YApL/C5X,EAAe8X,QACfT,GAAmB,GAFSS,KAqLgC,EAAA/c,UAErDC,EAAAA,EAAAA,MAAA,OAAKC,UAAU,qBAAoBF,SAAA,EAClCF,EAAAA,EAAAA,KAAA,QAAMI,UAAU,iBAChBJ,EAAAA,EAAAA,KAAA,QAAMI,UAAU,iBAChBJ,EAAAA,EAAAA,KAAA,QAAMI,UAAU,iBAChBJ,EAAAA,EAAAA,KAAA,QAAMI,UAAU,iBAChBD,EAAAA,EAAAA,MAAA,OAAKC,UAAU,kBAAiBF,SAAA,EAC/BC,EAAAA,EAAAA,MAAA,OAAKC,UAAU,UAASF,SAAA,EAEvBF,EAAAA,EAAAA,KAAA,OAAAE,SACuB,WAArBpE,EAAKmjB,YAAwB,GAAArgB,OAAM9C,EAAK6hB,iBAAe/e,OAAG9C,EAAK+hB,cAAY,GAAAjf,OAAQ9C,EAAK+hB,aAAY,QAEtG7d,EAAAA,EAAAA,KAAA,OAAKwC,MAAO,CAAEG,SAAU,QAASzC,SAAC,YAEnCC,EAAAA,EAAAA,MAAA,OAAKC,UAAU,sBAAqBF,SAAA,EAEnCC,EAAAA,EAAAA,MAAA,OAAKqC,MAAO,CAAEI,WAAY,QAAS1C,SAAA,CACZ,WAArBpE,EAAKmjB,YAAwB,GAAArgB,OAAM9C,EAAK6hB,iBAAe/e,OAAG9C,EAAK+hB,cAAY,GAAAjf,OAAQ9C,EAAK+hB,aAAY,KAAI,WAE1G1d,EAAAA,EAAAA,MAAA,OAAKqC,MAAO,CAAE0c,MAAO,UAAWC,UAAW,MAAOxc,SAAU,OAAQC,WAAY,QAAS1C,SAAA,CAAC,gBAC3EpE,EAAKsjB,wBAtBlBtjB,EAAKihB,kBAkCd/c,EAAAA,EAAAA,KAAA,SAAOW,GAAG,cAAcP,UAAU,SAAQF,SAAC,kBAC3CF,EAAAA,EAAAA,KAAA,SAAOW,GAAG,kBAAkBP,UAAU,SAAQF,SAAC,yCAE9B,aAAhBgF,IACA/E,EAAAA,EAAAA,MAAAF,EAAAA,SAAA,CAAAC,SAAA,EACCF,EAAAA,EAAAA,KAAA,OAAKI,UAAU,OAAOoC,MAAO,CAAE0c,MAAO,kBAAmBvc,SAAU,QAASzC,SAAC,6BAC7EF,EAAAA,EAAAA,KAACoP,EAAAA,EAAKC,QAAO,CACZjP,UAAU,eACVkI,KAAK,OACL3H,GAAG,gCACH+O,MAAOnI,EACPkI,SAAWsK,IAAMsF,OApNe3P,EAoNeqK,EAAE1R,OAAOqH,WAnN9DlI,EAAwBkI,GADcA,KAoN+B,QAMlE1P,EAAAA,EAAAA,KAAA,UAAQoB,QAASA,IAAM4b,EAAiB9X,GAAc9E,UAAU,eAAcF,SAAC,iBAI/E,8yCC5VL,SAASof,iBAAgBrjB,MAQrB,IARsB,8BAAEsjB,8BAA6B,YAGxDxY,YAAW,YACXC,YAAW,gBACXC,gBAAe,SACf8N,SAAQ,2BACRyK,4BACAvjB,KACA,MAAME,WAAa+J,0CACb,YAAEuZ,YAAW,eAAEC,iBAAmB7iB,EAAAA,mCAAAA,YAAW3B,0CAAAA,KAC5CykB,YAAaC,iBAAkB5iB,EAAAA,mCAAAA,UAASiK,kBACxC4Y,WAAYC,gBAAiB9iB,EAAAA,mCAAAA,UAAS,CAAC,IACvC+iB,aAAcC,kBAAmBhjB,EAAAA,mCAAAA,UAAS,CAAC,IAC3CoM,IAAK6W,SAAUjjB,EAAAA,mCAAAA,UAAS,CAAC,IACzBkjB,MAAOC,WAAYnjB,EAAAA,mCAAAA,UAAS,CAAC,GAC9BZ,iBAAkBC,EAAAA,uCAAAA,OACjB+jB,QAASC,aAAcrjB,EAAAA,mCAAAA,UAAS,KAChCC,QAASC,aAAcF,EAAAA,mCAAAA,WAAS,IAChCsjB,SAAUC,cAAevjB,EAAAA,mCAAAA,UAAS,OAClCwjB,MAAOC,WAAYzjB,EAAAA,mCAAAA,UAAS,KAC5B0jB,MAAOC,WAAY3jB,EAAAA,mCAAAA,UAAS,KAC5B4jB,SAAUC,cAAe7jB,EAAAA,mCAAAA,UAAS,KAEzCuB,EAAAA,mCAAAA,YAAU,KAGQ,OAAb+hB,WAC8C,MAA7CpD,SAASC,eAAe,MAADve,OAAO0hB,WACjCpD,SAASC,eAAe,MAADve,OAAO0hB,WAAY5Q,MAAQ8Q,MAES,MAAnDtD,SAASC,eAAe,YAADve,OAAa0hB,aAC5CpD,SAASC,eAAe,YAADve,OAAa0hB,WAAY5Q,MAAQgR,MACxDI,uBAAuBR,SAAU,IAAItP,KAAK4P,YAG3CH,SAAS,IACTE,SAAS,IACTE,YAAY,IACZN,YAAY,MACb,GACE,CAACR,eAKJ,MAAMgB,gCAAkCA,CAACrR,EAAO/O,KAC/C,MAAMqgB,EAAa9D,SAASC,eAAexc,GAC7B,KAAV+O,EACEsR,EAAW3D,UAAU4D,SAAS,eAClCD,EAAW3D,UAAUC,IAAI,cAItB0D,EAAW3D,UAAU4D,SAAS,eACjCD,EAAW3D,UAAUI,OAAO,aAE9B,EAIKhW,OAAQ1I,EAAAA,uCAAAA,OACdR,EAAAA,mCAAAA,YAAU,MAyBTC,EAAAA,uCAAAA,MAC6B,OAAzBwO,EAAAA,uCAAAA,OAzBevO,WAClB,IACC,MAAMyiB,QAAqBviB,MAAM,GAADC,OAC5BzC,WAAU,sBAAAyC,QAAqBoO,EAAAA,uCAAAA,OAClC,CACCnO,QAAS,CACR,cAAiB4I,SAIpB,IAAKyZ,EAAaliB,GACjB,MAAM,IAAIC,MAAM,wCAADL,OAC0BsiB,EAAahiB,SAGvD,IAAIiiB,QAAiBD,EAAa9hB,OAClCihB,WAAWc,EAEZ,CAAE,MAAOxhB,GACR0gB,WAAW,KACZ,CAAC,QACAnjB,YAAW,EACZ,GAIAkkB,EACD,GACE,EAACriB,EAAAA,uCAAAA,QAIJ,MAAMsiB,YAAcA,CAACjI,EAAO1J,KAC3BuQ,QAAM5G,EAAAA,0IAAAA,IAAAA,EAAAA,0IAAAA,GAAC,CAAC,EACJjQ,KAAG,IACN,CAACgQ,GAAQ1J,IACR,EAGGoR,uBAAyBA,CAAC1H,EAAO1J,KACtCyQ,UAAQ9G,EAAAA,0IAAAA,IAAAA,EAAAA,0IAAAA,GAAC,CAAC,EACN6G,OAAK,IACR,CAAC9G,GAAQ1J,IACR,GAGHnR,EAAAA,mCAAAA,YAAU,KACT,GAAuB,GAAnBnC,gBAAyB,CAC5B,IAAIklB,EAAS,GACTC,EAAY,CAAC,EACbC,EAAW,CAAC,EAEhBhC,2BAA2B/a,SAAQ,CAACC,EAAShE,KAC5C4gB,EAAO9X,KAAK,IAAIwH,KAAKtM,EAAQ+c,qBAAqBvW,MAAM,KAAK,KAElB,IAAvCxG,EAAQgd,6BAA4E,MAAvChd,EAAQgd,8BAGxDH,EAAU7gB,IAAS,EACnB8gB,EAAS9gB,GAAS,IAAIsQ,KAAKtM,EAAQgd,6BAEpC,IAKDvB,SAASqB,GACTxB,gBAAgBuB,GAChBtB,OAAOqB,EACR,MAEiB,MAAZvM,WACiB,MAAhBA,SAAS3L,KAA+B,IAAhB2L,SAAS3L,KACpCiY,YAAY,IAAK,IAAIrQ,KAAK+D,SAAS3L,MAGX,IAArB2L,SAAS7L,UAA6C,IAA3B6L,SAAS4M,gBACvCC,UAAU,GAAG,GACbd,uBAAuB,EAAG,IAAI9P,KAAK+D,SAAS4M,kBAG5CC,UAAU,GAAG,GAGhB,GACE,IAEH,MAAOlK,KAAMC,UAAW3a,EAAAA,mCAAAA,UAAS,CAAC,GAElC,SAAS6kB,mBACR,IAAIC,EAAa,EAOjB,OANW3H,OAAO4H,OAAOlC,YACrBpb,SAAQC,IACK,MAAZA,GACHod,GACD,IAEMA,CACR,EAGAvjB,EAAAA,mCAAAA,YAAU,KACT,MAAMyjB,EAAQH,mBACdnC,eAAesC,EAAM,GACnB,CAACnC,aAIJ,MAAM1G,SAAWA,CAACC,EAAO1J,KACxBoQ,eAAazG,EAAAA,0IAAAA,IAAAA,EAAAA,0IAAAA,GAAC,CAAC,EACXwG,YAAU,IACb,CAACzG,GAAQ1J,IACR,EAGGkS,UAAYA,CAACxI,EAAO1J,KAGzBsQ,iBAAe3G,EAAAA,0IAAAA,IAAAA,EAAAA,0IAAAA,GAAC,CAAC,EACb0G,cAAY,IACf,CAAC3G,GAAQ1J,IACR,EAIGuS,yBAA2BA,CAAC1Z,EAAO2Z,KACb,OAAvB3Z,EAAMF,OAAOqH,OAChBkS,UAAUM,GAAG,GACb3C,8BAA8BhX,EAAO,GAAI,WAAY2Z,GACrD3C,8BAA8BhX,EAAO,GAAI,uBAAwB2Z,KAEjEN,UAAUM,GAAG,GACb3C,8BAA8BhX,EAAO,GAAI,KAAM2Z,GAChD,EAEKC,kBAAoBA,CAAC5Z,EAAO2Z,KACjC/I,SAAS+I,EAAG3Z,EAAMF,OAAOqH,MAAM,EAQhC,IAAI0S,qBAAuB7lB,eAAeC,QAAQ,sBAC9C6lB,qBAAuB9lB,eAAeC,QAAQ,sBAC9C8lB,kBAAoBC,KAAKH,sBACzBI,kBAAoBD,KAAKF,sBAM7B,SAASI,SAASla,EAAOmH,EAAO0J,EAAO8I,GACtC,IAAIQ,EAAWxF,SAASC,eAAe,cAADve,OAAesjB,IACjDS,EAAkBzF,SAASC,eAAe,eAADve,OAAgBsjB,IACzDU,EAAkB1F,SAASC,eAAe,eAADve,OAAgBsjB,IACzDW,EAAoB3F,SAASC,eAAe,iBAADve,OAAkBsjB,IAK7DY,GADe5F,SAASC,eAAe,QAChC,GACX,GAAe,MAAXiD,QACH,IAAK,IAAI2C,EAAI,EAAGA,EAAI3C,QAAQ/gB,OAAQ0jB,IAEnC,IAAa,KADbD,EAAO1C,QAAQ2C,GAAGC,YAAcN,EAAShT,OAASoT,GAC/B,CAGlBvD,8BAA8BhX,EAAO6X,QAAQ2C,GAAGC,UAAW,aAAcd,GACzE3C,8BAA8BhX,EAAO6X,QAAQ2C,GAAGzZ,YAAa,cAAe4Y,GAC5E3C,8BAA8BhX,EAAO6X,QAAQ2C,GAAG/Z,YAAa,cAAekZ,GAE5ES,EAAgBjT,MAAQ0Q,QAAQ2C,GAAG/Z,YACnC4Z,EAAgBlT,MAAQ0Q,QAAQ2C,GAAGzZ,YACd,IAAjB8W,QAAQ2C,GAAG5Z,IAA6B,MAAjBiX,QAAQ2C,GAAG5Z,IACrCsX,SAASL,QAAQ2C,GAAG5Z,IACpBoX,YAAY2B,GACZW,EAAkBnT,MAAQ,KAC1BkS,UAAUM,GAAG,GACb3C,8BAA8BhX,EAAO,GAAI,WAAY2Z,GACrD3C,8BAA8BhX,EAAO,GAAI,uBAAwB2Z,GACjE3C,8BAA8BhX,EAAO6X,QAAQ2C,GAAG5Z,GAAI,KAAM+Y,GAC1DhF,SAASC,eAAe,MAADve,OAAOsjB,IAAKxS,MAAQ0Q,QAAQ2C,GAAG5Z,KAKtDwX,SAASP,QAAQ2C,GAAG7Z,UACpB2X,YAAYT,QAAQ2C,GAAGE,iBACvB1C,YAAY2B,GACZW,EAAkBnT,MAAQ,KAC1BkS,UAAUM,GAAG,GAEb3C,8BAA8BhX,EAAO,GAAI,KAAM2Z,GAC/C3C,8BAA8BhX,EAAO6X,QAAQ2C,GAAG7Z,SAAU,WAAYgZ,GACtE3C,8BAA8BhX,EAAO6X,QAAQ2C,GAAGE,gBAAiB,uBAAwBf,GAGzFhF,SAASC,eAAe,YAADve,OAAasjB,IAAKxS,MAAQ0Q,QAAQ2C,GAAG7Z,SAC5D4X,uBAAuBoB,EAAG,IAAIlR,KAAKoP,QAAQ2C,GAAGE,mBAG/C,KACD,CAGF1D,8BAA8BhX,EAAOmH,EAAO0J,EAAO8I,EACpD,CAKA,OAHgC,GAA5BI,kBAAkBjjB,SACrBG,OAAOC,SAAS2I,KAAO,MAGvBpI,EAAAA,+CAAAA,KAAAC,+CAAAA,SAAA,CAAAC,UACCC,EAAAA,+CAAAA,MAAA,OAAKC,UAAU,yBAAwBF,SAAA,EACtCF,EAAAA,+CAAAA,KAACiP,2CAAAA,EAAY,CACZC,MAAM,yBACNC,YAAY,uBAEbnP,EAAAA,+CAAAA,KAAA,OAAKI,UAAU,iBAAgBF,UAC9BC,EAAAA,+CAAAA,MAACiP,kDAAAA,EAAI,CAAAlP,SAAA,EACJF,EAAAA,+CAAAA,KAACoP,kDAAAA,EAAK0K,MAAK,CAAA5Z,SAAC,+BACZF,EAAAA,+CAAAA,KAAA,YAAUW,GAAG,MAAKT,UACjBF,EAAAA,+CAAAA,KAAA,UAAAE,SACEkgB,SAAWA,QAAQ5f,KAAI,CAAAC,EAAgBC,KAAK,IAApB,UAAEsiB,GAAWviB,EAAA,OACrCT,EAAAA,+CAAAA,KAAA,UAAoB0P,MAAOsT,GAAdtiB,EAA2B,SAQ3CV,EAAAA,+CAAAA,KAAA,WAAAE,SACEkK,MAAM8Y,KAAK,CAAE7jB,OAAQ4H,kBAAmB,CAACkc,EAAGjB,KAC5CliB,EAAAA,+CAAAA,KAAAC,+CAAAA,SAAA,CAAAC,UACCC,EAAAA,+CAAAA,MAACiP,kDAAAA,EAAKyK,MAAK,CAACzZ,UAAU,YAAWF,SAAA,EAChCF,EAAAA,+CAAAA,KAACK,8CAAAA,EAAG,CAAAH,UACHC,EAAAA,+CAAAA,MAACG,8CAAAA,EAAG,CAAAJ,SAAA,EACHF,EAAAA,+CAAAA,KAAA,OAAKI,UAAU,YAAWF,UACzBF,EAAAA,+CAAAA,KAAA,QAAMI,UAAU,kBAAiBF,SAAQ,GAALgiB,EAAU,gCAA+B,yBAAAtjB,OAA4BsjB,EAAI,QAE9GliB,EAAAA,+CAAAA,KAAA,QAAMI,UAAU,iBAAgBF,SAAA,UAAAtB,OAAY0jB,kBAAkBJ,GAAGkB,YAAW,KAAAxkB,OAA6B,MAAxB4jB,kBAAkBN,GAAc,GAAE,YAAAtjB,OAAe4jB,kBAAkBN,GAAGkB,sBAIzJjjB,EAAAA,+CAAAA,MAACE,8CAAAA,EAAG,CAAAH,SAAA,EACHF,EAAAA,+CAAAA,KAACM,8CAAAA,EAAG,CAAC+iB,GAAI,EAAGxU,GAAI,EAAGzO,UAAU,eAAcF,UAC1CF,EAAAA,+CAAAA,KAAA,MAAAE,SAAI,qBAELF,EAAAA,+CAAAA,KAACM,8CAAAA,EAAG,CAAC+iB,GAAI,EAAGxU,GAAI,EAAE3O,UACjBC,EAAAA,+CAAAA,MAACiP,kDAAAA,EAAK2O,OAAM,CAACzO,SAA6B,GAAnBlT,gBAAiEuE,GAAE,eAAA/B,OAAiBsjB,GAAK9hB,UAAS,kBAAqBqP,SAAUlH,IAAWgX,8BAA8BhX,EAAOA,EAAMF,OAAOqH,MAAO,cAAewS,GAAIC,kBAAkB5Z,EAAO2Z,GAAInB,gCAAgCxY,EAAMF,OAAOqH,MAAM,eAAD9Q,OAAiBsjB,GAAI,EAAI1S,aAAiC,GAAnBpT,gBAA0BojB,2BAA2B0C,GAAGoB,cAAgB,IAAIpjB,SAAA,EAChbF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,GAAExP,SAAC,iBACjBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,IAAI4O,UAAQ,EAAApe,SAAC,WAC3BF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,IAAGxP,SAAC,kBAAoB,eAAAtB,OAH4CsjB,UAUrF/hB,EAAAA,+CAAAA,MAACE,8CAAAA,EAAG,CAAAH,SAAA,EACHF,EAAAA,+CAAAA,KAACM,8CAAAA,EAAG,CAACuO,GAAI,EAAE3O,UACVF,EAAAA,+CAAAA,KAACoP,kDAAAA,EAAKC,QAAO,CAACC,SAA6B,GAAnBlT,gBAAwCmnB,aAAa,MAA8B5iB,GAAE,cAAA/B,OAAgBsjB,GAAKsB,KAAK,MAAMpjB,UAAU,WAAWkI,KAAK,OAAOiH,YAAY,iCAAiCE,SAAUlH,GAASka,SAASla,EAAOA,EAAMF,OAAOqH,MAAO,aAAcwS,GAAI1S,aAAiC,GAAnBpT,gBAA0BojB,2BAA2B0C,GAAGuB,cAAsB,GAALvB,GAAsB,MAAZnN,SAAoBA,SAASC,SAAW,IAAG,cAAApW,OAA1UsjB,OAEvGliB,EAAAA,+CAAAA,KAACM,8CAAAA,EAAG,CAACuO,GAAI,EAAE3O,UACVC,EAAAA,+CAAAA,MAACiP,kDAAAA,EAAK2O,OAAM,CAACzO,SAA6B,GAAnBlT,gBAA4DuE,GAAE,UAAA/B,OAAYsjB,GAAK9hB,UAAS,QAAAxB,OAA6B,GAAnBxC,gBAA0BojB,2BAA2B0C,GAAGwB,iBAAyB,GAALxB,GAAuB,OAAbnN,SAAqB,GAAK,cACxOvF,aAAiC,GAAnBpT,gBAA0BojB,2BAA2B0C,GAAGwB,iBAAyB,GAALxB,GAAuB,OAAbnN,SAAqBA,SAAS1L,OAAS,GAAIoG,SAAUlH,IAAWgX,8BAA8BhX,EAAOA,EAAMF,OAAOqH,MAAO,SAAUwS,GAAInB,gCAAgCxY,EAAMF,OAAOqH,MAAM,UAAD9Q,OAAYsjB,GAAI,EAAGhiB,SAAA,EAChTF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,GAAExP,SAAC,YACjBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,IAAGxP,SAAC,UAClBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,IAAGxP,SAAC,aAAe,UAAAtB,OAJ4CsjB,OAO/E/hB,EAAAA,+CAAAA,MAACG,8CAAAA,EAAG,CAACuO,GAAI,EAAE3O,SAAA,EACVF,EAAAA,+CAAAA,KAAC2jB,yDAAU,CACVlU,SAAWkC,IACV4N,8BAA8B5N,GAAMuB,EAAAA,uCAAAA,GAA2BvB,GAAO,MAAOuQ,GAC7Eb,YAAYa,EAAGvQ,EAAK,EAErB2M,SAAUlV,IAAI8Y,GACd0B,eAAa,EACbC,mBAAiB,EACjBC,kBAAgB,EAChBxU,SAA6B,GAAnBlT,gBACV2nB,QAAS,IAAI/S,KACbgT,aAAa,SACbC,gBAAgB,gBAChBC,WAAW,aACX9jB,UAAU,iBAGXJ,EAAAA,+CAAAA,KAACoP,kDAAAA,EAAK0K,MAAK,CAAA5Z,SAAC,wBAIdC,EAAAA,+CAAAA,MAACE,8CAAAA,EAAG,CAAAH,SAAA,EACHF,EAAAA,+CAAAA,KAACM,8CAAAA,EAAG,CAACuO,GAAI,EAAE3O,UACVC,EAAAA,+CAAAA,MAACiP,kDAAAA,EAAK2O,OAAM,CAACzO,SAA6B,GAAnBlT,gBAAiEuE,GAAE,eAAA/B,OAAiBsjB,GAAK9hB,UAAS,QAAAxB,OAA6B,GAAnBxC,iBAA0BuZ,EAAAA,uCAAAA,IAAwB6J,2BAA2B0C,GAAGiC,uBAA+B,GAALjC,GAAuB,OAAbnN,SAAqB,GAAK,cAChRvF,aAAiC,GAAnBpT,iBAA0BuZ,EAAAA,uCAAAA,IAAwB6J,2BAA2B0C,GAAGiC,uBAA+B,GAALjC,GAAuB,OAAbnN,SAAqBA,SAASzL,YAAc,GAAImG,SAAUlH,IAAWgX,8BAA8BhX,EAAOA,EAAMF,OAAOqH,MAAO,cAAewS,GAAInB,gCAAgCxY,EAAMF,OAAOqH,MAAM,eAAD9Q,OAAiBsjB,GAAI,EAAGhiB,SAAA,EAC7VF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,GAAExP,SAAC,iBAEjBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,cACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,eAEnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,iBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,aACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,aACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,aACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,YACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,cACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,yBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,eACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,aACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,WACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,eACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,aACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,gBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,aACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,aACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,gBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,cACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,aACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,aACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,YACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,WACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,aACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,YACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,aACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,4BACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,cACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,YACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,4BACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,YACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,cACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,kBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,aACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,cACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,cACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,YACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,gBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,oBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,8BACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,UACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,WACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,WACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,cACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,aACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,uCACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,wBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,gBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,iCACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,aACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,UACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,YACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,oBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,aACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,cACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,cACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,wBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,aACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,WACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,iBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,uBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,aACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,aACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,cACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,sBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,UACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,aACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,YACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,mBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,sBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,WACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,YACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,aACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,aACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,WACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,eACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,YACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,aACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,gBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,eACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,YACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,mBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,YACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,WACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,cACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,uBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,aACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,aACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,WACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,eACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,UACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,UACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,aACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,YACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,WACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,aACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,WACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,YACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,gBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,WACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,mBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,mBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,YACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,gBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,UACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,YACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,aACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,aACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,aACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,4BACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,mBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,eACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,gBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,WACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,eACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,gBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,YAEnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,cACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,UACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,WACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,sBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,gBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,gBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,eACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,aACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,YACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,qCACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,aACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,YACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,cACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,gBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,aACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,gBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,aACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,aACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,WACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,WACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,iBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,0BACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,mBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,iBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,eACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,WACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,aACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,YACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,UACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,YACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,cACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,WACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,2BACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,YACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,sBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,cACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,UACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,iBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,sBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,YACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,cACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,WACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,aACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,aACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,uBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,YACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,kBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,2BACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,iBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,+BACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,sCACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,WACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,gBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,2BACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,kBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,aACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,2BACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,gBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,kBAEnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,cACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,cACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,qBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,aACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,kBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,WACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,eACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,gBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,yBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,eACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,6BACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,WACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,cACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,eACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,YACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,iBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,WACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,YACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,gBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,cACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,cACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,iBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,UACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,WACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,yBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,aACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,YACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,kBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,8BACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,YACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,YACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,aACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,0BACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,oBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,mBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,aACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,gBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,aACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,eACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,aACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,+BACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,oBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,WACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,oBACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,YACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,cACnBF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,aAAe,eAAAtB,OArOgDsjB,OAwOpFliB,EAAAA,+CAAAA,KAACM,8CAAAA,EAAG,CAACuO,GAAI,EAAE3O,UACVC,EAAAA,+CAAAA,MAACiP,kDAAAA,EAAK2O,OAAM,CAACzO,SAA6B,GAAnBlT,gBAAmEuE,GAAE,iBAAA/B,OAAmBsjB,GAAK9hB,UAAU,OAAOqP,SAAUlH,GAAS0Z,yBAAyB1Z,EAAO2Z,GAAI1S,aAAiC,GAAnBpT,gBAAyE,IAA/CojB,2BAA2B0C,GAAGkC,cAAsB,KAAO,KAAa,GAALlC,GAAsB,MAAZnN,SAAoC,IAAfA,SAAS5L,IAAiC,IAArB4L,SAAS7L,UAAyC,IAAf6L,SAAS5L,GAAjB,KAAoC,KAAO,KAAKjJ,SAAA,EACraF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAK4O,UAAQ,EAAApe,SAAC,mBAC5BF,EAAAA,+CAAAA,KAAA,UAAQ0P,MAAM,KAAIxP,SAAC,eAAiB,iBAAAtB,OAFgDsjB,MAMrFnC,aAAamC,IACZ/hB,EAAAA,+CAAAA,MAAAF,+CAAAA,SAAA,CAAAC,SAAA,EACCF,EAAAA,+CAAAA,KAACM,8CAAAA,EAAG,CAACuO,GAAI,EAAE3O,UACVF,EAAAA,+CAAAA,KAACoP,kDAAAA,EAAKC,QAAO,CAACC,SAA6B,GAAnBlT,gBAA8DuE,GAAE,YAAA/B,OAAcsjB,GAAK5Z,KAAK,OAAOiH,YAAY,eAAeE,SAAUlH,GAASgX,8BAA8BhX,EAAOA,EAAMF,OAAOqH,MAAO,WAAYwS,GAAI1S,aAAiC,GAAnBpT,gBAA0BojB,2BAA2B0C,GAAGmC,kBAA0B,GAALnC,GAAsB,MAAZnN,SAAoBA,SAAS7L,SAAW,IAAG,YAAAtK,OAA7SsjB,OAElF/hB,EAAAA,+CAAAA,MAACG,8CAAAA,EAAG,CAACuO,GAAI,EAAE3O,SAAA,EACVF,EAAAA,+CAAAA,KAAC2jB,yDAAU,CACVlU,SAAWkC,IACV4N,8BAA8B5N,GAAMuB,EAAAA,uCAAAA,GAA2BvB,GAAO,wBAAyBuQ,GAC/FpB,uBAAuBoB,EAAGvQ,EAAK,EAEhC2M,SAAU4B,MAAMgC,GAChB0B,eAAa,EACbC,mBAAiB,EACjBC,kBAAgB,EAChBxU,SAA6B,GAAnBlT,gBACVkoB,QAAS,IAAItT,KACbgT,aAAa,SACbC,gBAAgB,kBAChBC,WAAW,aACX9jB,UAAU,iBAGXJ,EAAAA,+CAAAA,KAACoP,kDAAAA,EAAK0K,MAAK,CAAA5Z,SAAC,wBAIdF,EAAAA,+CAAAA,KAAAC,+CAAAA,SAAA,CAAAC,UACCF,EAAAA,+CAAAA,KAACM,8CAAAA,EAAG,CAACuO,GAAI,EAAE3O,UACVF,EAAAA,+CAAAA,KAACoP,kDAAAA,EAAKC,QAAO,CAACC,SAA6B,GAAnBlT,gBAAwDuE,GAAE,MAAA/B,OAAQsjB,GAAK5Z,KAAK,OAAOic,UAAU,KAAKhV,YAAY,QAAQE,SAAUlH,GAASgX,8BAA8BhX,EAAOA,EAAMF,OAAOqH,MAAO,KAAMwS,GAAI1S,aAAiC,GAAnBpT,gBAA0BojB,2BAA2B0C,GAAGkC,cAAsB,GAALlC,GAAsB,MAAZnN,SAAoBA,SAAS5L,GAAK,IAAG,MAAAvK,OAA/RsjB,6BAa1F,CAEA,wKCtoBO,MAAMsC,EAAiBvoB,IAavB,IAADwoB,EAAA,IAbyB,QAC9BC,EAAO,mBACPC,EAAkB,wBAClBC,EAAuB,OACvB/d,EAAM,aACNge,EAAe,GAAE,YACjB/d,EAAW,YACXC,EAAW,YACXC,EAAW,UACX8d,EAAS,YACTC,EAAW,YACXC,EAAW,YACXC,GACAhpB,EACIipB,EAAa,EACjB,MAAM9oB,GAAkBC,EAAAA,EAAAA,MAClB8oB,GAAgB7P,EAAAA,EAAAA,OAChB,YAAEmK,EAAW,eAAEC,IAAmB7iB,EAAAA,EAAAA,YAAW3B,EAAAA,KAC5CmC,EAAcC,IAAmBC,EAAAA,EAAAA,MAClC6nB,EAA2C,QAAjCX,EAAGpnB,EAAaS,IAAI,qBAAa,IAAA2mB,EAAAA,EAAI,GAqBrD,GAAuB,GAAnBroB,GAC0C,MAAzCG,eAAeC,QAAQ,eAAwB,CAClD,MAAM6oB,EAAyB5oB,KAAKC,MAAMH,eAAeC,QAAQ,gBACjEuK,EAAcie,EAAY/Z,eAAeC,MAAM,KAAK,GACjC,MAAf+Z,IACHje,EAAcie,EAAYha,eAAeC,MAAM,KAAK,IAErD4Z,EAAYO,EAAuBC,SACpC,CAOD,IAAIC,EAAwB,KAC5B,MAAM,mBAAEngB,EAAkB,cAAEC,IAAkBxI,EAAAA,EAAAA,YAAWnC,EAAAA,KACnD,mBAAE8qB,EAAkB,cAAEC,IAAkB5oB,EAAAA,EAAAA,YAAWlC,EAAAA,KACnD,cAAEoJ,EAAa,iBAAEC,IAAqBnH,EAAAA,EAAAA,YAAWhC,EAAAA,KACjD,cAAEoJ,EAAa,iBAAEC,IAAqBrH,EAAAA,EAAAA,YAAW/B,EAAAA,KACjD,aAAEwJ,EAAY,gBAAES,IAAoBlI,EAAAA,EAAAA,YAAWjC,EAAAA,IAKrD,SAAS8qB,IACR,GAA4B,IAAxBb,EAAaxlB,OAChB,MAAO,eAEH,GAA4B,IAAxBwlB,EAAaxlB,OACrB,OAAOwlB,EAAa,GAAGzB,YAIvB,IADA,IAAIuC,EAAQ,GACHzD,EAAI,EAAGA,EAAI2C,EAAaxlB,SAAU6iB,EAC1CyD,EAAMnc,KAAKqb,EAAa3C,GAAGkB,aAI5B,OAFqBuC,EAAMpT,KAAK,IAIlC,CAKA,GAAmB,MAAf0S,EAAqB,CACxB,MAAMW,EAAwBX,EAAYha,eAAeC,MAAM,KAAK,GAEpEqa,EAAwB,IAAI9R,KAAKC,eAAe,KAC/C,CACCT,KAAM,UACNhB,MAAO,QACPL,IAAK,UACL+B,QAAS,SAETC,OAAO5C,KAAKtU,MAAMkpB,GAErB,CAEA,MAAMC,EAAwB,IAAIpS,KAAKC,eAAe,KACrD,CACCT,KAAM,UACNhB,MAAO,QACPL,IAAK,UACL+B,QAAS,SAETC,OAAO5C,KAAKtU,MAAMqK,IAEpB,GAAe,UAAX2d,EAAqB,CACxB,MAAMoB,GAAuBzT,EAAAA,EAAAA,IAAgB2S,EAAY/Z,eAAeC,MAAM,KAAK,IACnF,IAAI6a,EAAM,UAAAnnB,OAAa+lB,EAAkB,iBAAA/lB,OAAgBgmB,EAAuB,iBAAAhmB,OAAgBmI,EAAW,iBAAAnI,OAAgBoI,EAAW,eAAApI,OAAckmB,EAAS,gBAAAlmB,OAAewmB,GACxKhd,EAAI,GAAAxJ,OAAMmmB,EAAW,KAAAnmB,OAAImnB,GACzB3pB,IACHgM,EAAO2c,GAGR,IAAIiB,GAAkBhB,EAAYhf,KAAOgf,EAAYiB,YAAYpjB,QAAQ,GAmBzE,OAPAqiB,EAAaF,EAAYhf,KAAO6e,EAAaxlB,OAAU2mB,EAAiBvG,GACpElK,EAAAA,EAAAA,OACHyQ,GAAkBhB,EAAYkB,gBAAkBlB,EAAYmB,iBAAiBtjB,QAAQ,GACrFqiB,EAAaF,EAAYkB,gBAAkBrB,EAAaxlB,OAAU2mB,EAAiBvG,IAKnFtf,EAAAA,EAAAA,MAAAF,EAAAA,SAAA,CAAAC,SAAA,EAAEF,EAAAA,EAAAA,KAACK,EAAAA,EAAG,CAAAH,UACLC,EAAAA,EAAAA,MAACG,EAAAA,EAAG,CAACuO,GAAI,GAAG3O,SAAA,EAEXC,EAAAA,EAAAA,MAAA,OAAKC,UAAU,kBAAiBF,SAAA,EAC/BF,EAAAA,EAAAA,KAAA,OAAKI,UAAU,eAAcF,SAC3B8kB,EAAYoB,QAAQ/mB,OAAS,GAAE,GAAAT,OAAMomB,EAAYoB,QAAQC,UAAU,EAAG,IAAG,OAAQrB,EAAYoB,WAE/FpmB,EAAAA,EAAAA,KAAA,OAAKI,UAAU,oBAOhBD,EAAAA,EAAAA,MAAA,OAAKC,UAAU,0BAAyBF,SAAA,EACvCF,EAAAA,EAAAA,KAAA,OAAKI,UAAU,eAAcF,SAC3B8kB,EAAYsB,SAASjnB,OAAS,GAAE,GAAAT,OAAMomB,EAAYsB,SAASD,UAAU,EAAG,IAAG,OAAQrB,EAAYsB,YAEjGtmB,EAAAA,EAAAA,KAAA,OAAKI,UAAU,+BAIjBJ,EAAAA,EAAAA,KAACK,EAAAA,EAAG,CAAAH,UACHC,EAAAA,EAAAA,MAACG,EAAAA,EAAG,CAAAJ,SAAA,EACHC,EAAAA,EAAAA,MAAA,SAAOe,MAAO,OAAOhB,SAAA,EACpBC,EAAAA,EAAAA,MAAA,MAAAD,SAAA,EACCF,EAAAA,EAAAA,KAAA,MAAAE,UACCF,EAAAA,EAAAA,KAAA,MAAAE,SAAI,qBAELF,EAAAA,EAAAA,KAAA,MAAAE,UACCF,EAAAA,EAAAA,KAAA,MAAAE,SAAK2lB,UAGP1lB,EAAAA,EAAAA,MAAA,MAAAD,SAAA,EACCF,EAAAA,EAAAA,KAAA,MAAAE,UACCF,EAAAA,EAAAA,KAAA,MAAAE,SAAI,sBAELF,EAAAA,EAAAA,KAAA,MAAAE,UACCF,EAAAA,EAAAA,KAAA,MAAAE,SAAK4lB,UAGP3lB,EAAAA,EAAAA,MAAA,MAAAD,SAAA,EACCF,EAAAA,EAAAA,KAAA,MAAAE,UACCF,EAAAA,EAAAA,KAAA,MAAAE,SAAI,qBAELF,EAAAA,EAAAA,KAAA,MAAAE,UACCF,EAAAA,EAAAA,KAAA,MAAAE,SAAKwlB,YAGPvlB,EAAAA,EAAAA,MAAA,MAAAD,SAAA,EACCF,EAAAA,EAAAA,KAAA,MAAAE,UACCF,EAAAA,EAAAA,KAAA,MAAAE,SAAI,YAELF,EAAAA,EAAAA,KAAA,MAAAE,UACCC,EAAAA,EAAAA,MAAA,MAAAD,SAAA,CAAI,OAxEY8F,EAwEMkf,EAvE5BlhB,EAAiBgC,GACb5J,EACI,EAGA4J,EAAKnD,QAAQ,gBAsElB7C,EAAAA,EAAAA,KAACumB,EAAAA,GAAI,CAACC,GAAIpe,EAAMhH,QAASA,KAAQiE,EAAc,IAAKogB,EAAc,GAAG,EAAGvlB,SAAC,uBAM9E,CAlFC,IAAuB8F,EAmFxB,GAAmB,MAAfif,EAAqB,CACxB,MAAMwB,GAAuBpU,EAAAA,EAAAA,IAAgB4S,EAAYha,eAAeC,MAAM,KAAK,IAEnF,IAAI6a,EAAM,UAAAnnB,OAAa+lB,EAAkB,iBAAA/lB,OAAgBgmB,EAAuB,iBAAAhmB,OAAgBmI,EAAW,iBAAAnI,OAAgBoI,EAAW,eAAApI,OAAckmB,EAAS,iBAAAlmB,OAAgBomB,EAAW,gBAAApmB,OAAewmB,GACnMhd,EAAI,GAAAxJ,OAAMmmB,EAAW,KAAAnmB,OAAImnB,GACzB3pB,IACHgM,EAAO2c,GAGR,IAAIiB,GAAkBf,EAAYjf,KAAOif,EAAYgB,YAAYpjB,QAAQ,GAEzE,SAAS6jB,EAAc1gB,GAEtB,OADA9B,EAAiB8B,GACb5J,EACI,EAGA4J,EAAKnD,QAAQ,EAEtB,CAMA,OALAqiB,EAAaD,EAAYjf,KAAO6e,EAAaxlB,OAAU2mB,EAAiBvG,GACpElK,EAAAA,EAAAA,OACHyQ,GAAkBf,EAAYiB,gBAAkBjB,EAAYkB,iBAAiBtjB,QAAQ,GACrFqiB,EAAaD,EAAYiB,gBAAkBrB,EAAaxlB,OAAU2mB,EAAiBvG,IAGnFtf,EAAAA,EAAAA,MAAAF,EAAAA,SAAA,CAAAC,SAAA,EAAEF,EAAAA,EAAAA,KAACK,EAAAA,EAAG,CAAAH,UACLC,EAAAA,EAAAA,MAACG,EAAAA,EAAG,CAACuO,GAAI,GAAG3O,SAAA,EAEXC,EAAAA,EAAAA,MAAA,OAAKC,UAAU,kBAAiBF,SAAA,EAC/BF,EAAAA,EAAAA,KAAA,OAAKI,UAAU,eAAcF,SAG3B+kB,EAAYmB,QAAQ/mB,OAAS,GAAE,GAAAT,OAAMqmB,EAAYmB,QAAQC,UAAU,EAAG,IAAG,OAAQpB,EAAYmB,WAE/FpmB,EAAAA,EAAAA,KAAA,OAAKI,UAAU,oBAGhBD,EAAAA,EAAAA,MAAA,OAAKC,UAAU,0BAAyBF,SAAA,EACvCF,EAAAA,EAAAA,KAAA,OAAKI,UAAU,eAAcF,SAG3B+kB,EAAYqB,SAASjnB,OAAS,GAAE,GAAAT,OAAMqmB,EAAYqB,SAASD,UAAU,EAAG,IAAG,OAAQpB,EAAYqB,YAEjGtmB,EAAAA,EAAAA,KAAA,OAAKI,UAAU,+BAIjBJ,EAAAA,EAAAA,KAACK,EAAAA,EAAG,CAAAH,UACHC,EAAAA,EAAAA,MAACG,EAAAA,EAAG,CAAAJ,SAAA,EACHC,EAAAA,EAAAA,MAAA,SAAOe,MAAO,OAAOhB,SAAA,EACpBC,EAAAA,EAAAA,MAAA,MAAAD,SAAA,EACCF,EAAAA,EAAAA,KAAA,MAAAE,UACCF,EAAAA,EAAAA,KAAA,MAAAE,SAAI,qBAELF,EAAAA,EAAAA,KAAA,MAAAE,UACCF,EAAAA,EAAAA,KAAA,MAAAE,SAAKqlB,UAGPplB,EAAAA,EAAAA,MAAA,MAAAD,SAAA,EACCF,EAAAA,EAAAA,KAAA,MAAAE,UACCF,EAAAA,EAAAA,KAAA,MAAAE,SAAI,sBAELF,EAAAA,EAAAA,KAAA,MAAAE,UACCF,EAAAA,EAAAA,KAAA,MAAAE,SAAKumB,UAGPtmB,EAAAA,EAAAA,MAAA,MAAAD,SAAA,EACCF,EAAAA,EAAAA,KAAA,MAAAE,UACCF,EAAAA,EAAAA,KAAA,MAAAE,SAAI,qBAELF,EAAAA,EAAAA,KAAA,MAAAE,UACCF,EAAAA,EAAAA,KAAA,MAAAE,SAAKwlB,YAGPvlB,EAAAA,EAAAA,MAAA,MAAAD,SAAA,EACCF,EAAAA,EAAAA,KAAA,MAAAE,UACCF,EAAAA,EAAAA,KAAA,MAAAE,SAAI,YAELF,EAAAA,EAAAA,KAAA,MAAAE,UACCC,EAAAA,EAAAA,MAAA,MAAAD,SAAA,CAAKilB,EAAc,IAAEuB,EAAcxB,eAItCllB,EAAAA,EAAAA,KAACumB,EAAAA,GAAI,CAACC,GAAIpe,EAAMhH,QAASA,KAAQiE,EAAc,IAAKogB,EAAc,GAAG,EAAGvlB,SAAC,uBAM9E,GCpSYymB,EAAyB1qB,IAG/B,IAADwoB,EAAA,IAHiC,wBACtCpgB,EAAuB,UACvBygB,GACA7oB,EAEIipB,EAAa,GACO7oB,EAAAA,EAAAA,OACFiZ,EAAAA,EAAAA,MADtB,MAEM,YAAEmK,EAAW,eAAEC,IAAmB7iB,EAAAA,EAAAA,YAAW3B,EAAAA,KAC5CmC,EAAcC,IAAmBC,EAAAA,EAAAA,MACxBknB,EAAGpnB,EAAaS,IAAI,cAIpC,MAAM,mBAAEsH,EAAkB,cAAEC,IAAkBxI,EAAAA,EAAAA,YAAWnC,EAAAA,KACnD,mBAAE8qB,EAAkB,cAAEC,IAAkB5oB,EAAAA,EAAAA,YAAWlC,EAAAA,KACnD,cAAEoJ,EAAa,iBAAEC,IAAqBnH,EAAAA,EAAAA,YAAWhC,EAAAA,KACjD,cAAEoJ,EAAa,iBAAEC,IAAqBrH,EAAAA,EAAAA,YAAW/B,EAAAA,KACjD,aAAEwJ,EAAY,gBAAES,IAAoBlI,EAAAA,EAAAA,YAAWjC,EAAAA,IAK/CirB,EAAwB,IAAIpS,KAAKC,eAAe,KACrD,CACCT,KAAM,UACNhB,MAAO,QACPL,IAAK,UACL+B,QAAS,SAETC,OAAO5C,KAAKtU,MAAM2H,EAAwB4G,iBAEtC6a,GAAuBzT,EAAAA,EAAAA,IAAgBhO,EAAwB4G,eAAeC,MAAM,KAAK,IAc/F,OAFAga,EAAa7gB,EAAwB2B,KAAO8e,GAG3C3kB,EAAAA,EAAAA,MAAAF,EAAAA,SAAA,CAAAC,SAAA,EAAEF,EAAAA,EAAAA,KAACK,EAAAA,EAAG,CAAAH,UACLC,EAAAA,EAAAA,MAACG,EAAAA,EAAG,CAACuO,GAAI,GAAG3O,SAAA,EAEXC,EAAAA,EAAAA,MAAA,OAAKC,UAAU,kBAAiBF,SAAA,EAC/BF,EAAAA,EAAAA,KAAA,OAAKI,UAAU,eAAcF,SAC3BmE,EAAwB+hB,QAAQ/mB,OAAS,GAAE,GAAAT,OAAMyF,EAAwB+hB,QAAQC,UAAU,EAAG,IAAG,OAAQhiB,EAAwB+hB,WAEnIpmB,EAAAA,EAAAA,KAAA,OAAKI,UAAU,oBAOhBD,EAAAA,EAAAA,MAAA,OAAKC,UAAU,0BAAyBF,SAAA,EACvCF,EAAAA,EAAAA,KAAA,OAAKI,UAAU,eAAcF,SAC3BmE,EAAwBiiB,SAASjnB,OAAS,GAAE,GAAAT,OAAMyF,EAAwBiiB,SAASD,UAAU,EAAG,IAAG,OAAQhiB,EAAwBiiB,YAErItmB,EAAAA,EAAAA,KAAA,OAAKI,UAAU,+BAIjBJ,EAAAA,EAAAA,KAACK,EAAAA,EAAG,CAAAH,UACHF,EAAAA,EAAAA,KAACM,EAAAA,EAAG,CAAAJ,UACHC,EAAAA,EAAAA,MAAA,SAAOe,MAAO,OAAOhB,SAAA,EACpBC,EAAAA,EAAAA,MAAA,MAAAD,SAAA,EACCF,EAAAA,EAAAA,KAAA,MAAAE,UACCF,EAAAA,EAAAA,KAAA,MAAAE,SAAI,qBAELF,EAAAA,EAAAA,KAAA,MAAAE,UACCF,EAAAA,EAAAA,KAAA,MAAAE,SAAK2lB,UAGP1lB,EAAAA,EAAAA,MAAA,MAAAD,SAAA,EACCF,EAAAA,EAAAA,KAAA,MAAAE,UACCF,EAAAA,EAAAA,KAAA,MAAAE,SAAI,sBAELF,EAAAA,EAAAA,KAAA,MAAAE,UACCF,EAAAA,EAAAA,KAAA,MAAAE,SAAK4lB,UAGP3lB,EAAAA,EAAAA,MAAA,MAAAD,SAAA,EACCF,EAAAA,EAAAA,KAAA,MAAAE,UACCF,EAAAA,EAAAA,KAAA,MAAAE,SAAI,qBAELF,EAAAA,EAAAA,KAAA,MAAAE,UACCF,EAAAA,EAAAA,KAAA,MAAAE,SAAI,uBAGNC,EAAAA,EAAAA,MAAA,MAAAD,SAAA,EACCF,EAAAA,EAAAA,KAAA,MAAAE,UACCF,EAAAA,EAAAA,KAAA,MAAAE,SAAI,YAELF,EAAAA,EAAAA,KAAA,MAAAE,UACCF,EAAAA,EAAAA,KAAA,MAAAE,SAAI,uBASP,EC1GQ0mB,EAAiB3qB,IAAe,IAAd,KAAEC,GAAMD,EACtC,MAAOoB,EAAcC,IAAmBC,EAAAA,EAAAA,MAGlCspB,GAFcxpB,EAAaS,IAAI,UACZT,EAAaS,IAAI,eACjBT,EAAaS,IAAI,gBACpCgpB,EAAmBzpB,EAAaS,IAAI,eACpCipB,EAAiB1pB,EAAaS,IAAI,cAElC,eAAEN,EAAc,kBAAEC,IAAsBZ,EAAAA,EAAAA,YAC7CrB,EAAAA,KAGK,gBAAEkC,EAAe,mBAAEC,IAAuBd,EAAAA,EAAAA,YAC/ChB,EAAAA,IAGD,IAAI,mBAAEuJ,EAAkB,cAAEC,IAAkBxI,EAAAA,EAAAA,YAC3CnC,EAAAA,KAEG,mBAAE8qB,EAAkB,cAAEC,IAAkB5oB,EAAAA,EAAAA,YAC3ClC,EAAAA,IAGekD,OAAOR,EAAaS,IAAI,cAAgB,GAAxD,MAEMxB,EAAcG,KAAKC,MAAMH,eAAeC,QAAQ,gBAChDwqB,EAAmBvqB,KAAKC,MAC7BH,eAAeC,QAAQ,qBAGX,aAATN,IACHkJ,EAAqB3I,KAAKC,MACzBH,eAAeC,QAAQ,uBAExBgpB,EAAqB/oB,KAAKC,MACzBH,eAAeC,QAAQ,wBAIzB,MAAMyqB,EAAaxqB,KAAKC,MAAMH,eAAeC,QAAQ,eAC/C0qB,EAAazqB,KAAKC,MAAMH,eAAeC,QAAQ,eAC/C6H,EAA0B5H,KAAKC,MACpCH,eAAeC,QAAQ,yBAGxB,OACC2D,EAAAA,EAAAA,MAAAF,EAAAA,SAAA,CAAAC,SAAA,CACEmE,IACAlE,EAAAA,EAAAA,MAAAF,EAAAA,SAAA,CAAAC,SAAA,EACCF,EAAAA,EAAAA,KAAA,MAAAE,SAAI,iBACJF,EAAAA,EAAAA,KAAA,OAAKI,UAAU,kBAAiBF,UAC/BF,EAAAA,EAAAA,KAAC2mB,EAAsB,CACtBtiB,wBAAyBA,EACzBygB,UAAW1f,EAAmB/F,eAMlCW,EAAAA,EAAAA,KAAA,MAAAE,SAAI,cACJF,EAAAA,EAAAA,KAAA,OAAKI,UAAU,kBAAiBF,UAC/BF,EAAAA,EAAAA,KAACwkB,EAAc,CACdE,QAAQ,SACRC,mBAAoBroB,EAAY6qB,wBAChCvC,wBAAyBoC,EAAiBG,wBAC1CtgB,OAAQvK,EAAY8qB,oBACpBvC,aAAczf,EACd0B,YAAakgB,EAAiBI,oBAC9BrgB,YACqB,MAApB8f,EAA2BA,EAAmBvqB,EAAYyO,WAE3D/D,YACqB,MAApB8f,EAA2BA,EAAmBxqB,EAAYwP,WAE3DgZ,UACmB,MAAlBiC,EAAyBA,EAAiBzqB,EAAYgpB,UAEvDN,YAAaiC,EACblC,YAAY,kBAGC,MAAdmC,GACAlnB,EAAAA,EAAAA,KAAA,OAAKI,UAAU,kBAAiBF,UAC/BF,EAAAA,EAAAA,KAACwkB,EAAc,CACdE,QAAQ,SACRC,mBAAoBroB,EAAY6qB,wBAChCvC,wBAAyBoC,EAAiBG,wBAC1CtgB,OAAQvK,EAAY8qB,oBACpBvC,aAAcW,EACd1e,YAAakgB,EAAiBI,oBAC9BrgB,YACqB,MAApB8f,EACGA,EACAvqB,EAAYyO,WAEhB/D,YACqB,MAApB8f,EACGA,EACAxqB,EAAYwP,WAEhBgZ,UACmB,MAAlBiC,EAAyBA,EAAiBzqB,EAAYgpB,UAEvDN,YAAaiC,EACbhC,YAAaiC,EACbnC,YAAY,kBAId,KAEC,wHChHE,MAAMsC,EAAyBprB,IAAkC,IAAjC,aAAEggB,EAAe,EAAC,MAAEpD,GAAO5c,GAG5D,cAAE8H,EAAa,iBAAEC,IAAqBnH,EAAAA,EAAAA,YAAWhC,EAAAA,KACjD,cAAEoJ,EAAa,iBAAEC,IAAqBrH,EAAAA,EAAAA,YAAW/B,EAAAA,KACjD,aAAEkK,EAAY,WAAEC,IAAepI,EAAAA,EAAAA,YAAW7B,EAAAA,IAC1C2B,EAAeF,KAAKC,MAAMH,eAAeC,QAAQ,UACjD8H,EAAe7H,KAAKC,MAAMH,eAAeC,QAAQ,YAEjDgI,EAAc,EAClB7H,EAAa8H,SAASC,IACpBF,GAAeE,EAAQqU,cAAc,IAIvCzU,EAAeA,EAAeE,EAAcQ,EAC5C,MAAO2R,EAAMC,IAAW5Z,EAAAA,EAAAA,UAAS,MAC3BmY,GAAQnI,EAAAA,EAAAA,MAGR5Q,GAAkBC,EAAAA,EAAAA,MAClB2c,GAAcpG,EAAAA,EAAAA,IAA6BxW,EAAkB,EAAIkI,GAQvE,IANA/F,EAAAA,EAAAA,YAAU,KACI,GAARoY,GACFC,GAAQ,EACV,GACC,EAAU,IAATD,KAEU,IAAVkC,EACF,OACE7Y,EAAAA,EAAAA,KAAAC,EAAAA,SAAA,CAAAC,UACEF,EAAAA,EAAAA,KAAA,OAAKI,UAAU,6BAA4BF,UACzCC,EAAAA,EAAAA,MAACE,EAAAA,EAAG,CAAAH,SAAA,EACFC,EAAAA,EAAAA,MAACG,EAAAA,EAAG,CAAC+iB,GAAI,EAAGxU,GAAI,EAAGzO,UAAU,OAAMF,SAAA,EACjCF,EAAAA,EAAAA,KAAA,MAAAE,SAAI,iBACJF,EAAAA,EAAAA,KAAA,MAAAE,SAAKiV,KACLhV,EAAAA,EAAAA,MAAA,MAAAD,SAAA,CAAI,iBAAe8Y,EAAYnW,UAAU,iBAE3C1C,EAAAA,EAAAA,MAACG,EAAAA,EAAG,CAAC+iB,GAAI,EAAGxU,GAAI,EAAGzO,UAAU,aAAYF,SAAA,EACvCC,EAAAA,EAAAA,MAAA,MAAAD,SAAA,CAC0B,MAAvB+b,EAAajJ,QAAyC,IAAvBiJ,EAAajJ,OAAeiJ,EAAajJ,OAAS,EAAE,cAEtFhT,EAAAA,EAAAA,KAAA,MAAAE,SAAI,sBAYd,OACEC,EAAAA,EAAAA,MAAAF,EAAAA,SAAA,CAAAC,SAAA,EACY,IAATyW,GAAgB3W,EAAAA,EAAAA,KAACqX,EAAAA,EAAgB,IAAM,IACxCrX,EAAAA,EAAAA,KAAA,OAAKI,UAAU,6BAA4BF,UACzCC,EAAAA,EAAAA,MAACE,EAAAA,EAAG,CAAAH,SAAA,EACFF,EAAAA,EAAAA,KAACM,EAAAA,EAAG,CAACuO,GAAI,EAAGzO,UAAU,OAAMF,UAC1BC,EAAAA,EAAAA,MAAA,MAAAD,SAAA,CAAI,uBACiBF,EAAAA,EAAAA,KAAA,QAAAE,SAAO8Y,EAAYnW,YAAiB,+CAI3D7C,EAAAA,EAAAA,KAACM,EAAAA,EAAG,CAACuO,GAAI,EAAGzO,UAAU,aAAYF,UAChCF,EAAAA,EAAAA,KAAA,UACEI,UAAU,gBACVkI,KAAK,SACLlH,QAASA,KAnBnBwV,GAASD,EAmB4B,EAAAzW,SAC5B,0BAQb,2gDC3DF,SAASonB,WACP,MAAMzO,MAAQpc,KAAKC,MAAM4B,aAAa9B,QAAQ,UACxCuY,UAAWF,EAAAA,uCAAAA,OAEX,aAAE7P,aAAY,WAAEC,aAAepI,EAAAA,mCAAAA,YAAW7B,0CAAAA,KACzC2S,KAAMiL,UAAW5b,EAAAA,mCAAAA,UAAS,OAC1BuqB,SAAUC,cAAexqB,EAAAA,mCAAAA,WAAS,IAClCC,QAASC,aAAcF,EAAAA,mCAAAA,WAAS,IAChCG,MAAOC,WAAYJ,EAAAA,mCAAAA,UAAS,OAE7B,YAAEkI,YAAW,eAAEC,iBAAmBtI,EAAAA,mCAAAA,YAAWvB,0CAAAA,IAGnD,IAAI8mB,qBAAuB7lB,eAAeC,QAAQ,sBAC9C6lB,qBAAuB9lB,eAAeC,QAAQ,sBAC9C8lB,kBAAoBC,KAAKH,sBACzBI,kBAAoBD,KAAKF,uBAE7B9jB,EAAAA,mCAAAA,YAAU,KACK,GAATsa,OAA2B,MAATA,QACpB4O,qBAAqB,MACrBnpB,aAAaiB,WAAW,SACxBjB,aAAaiB,WAAW,eACxBjB,aAAaiB,WAAW,YACxBjB,aAAaiB,WAAW,gBACxBjB,aAAaiB,WAAW,mBACxBjB,aAAaiB,WAAW,wBAC1B,GACC,IACyB,MAAxB6iB,uBACFpgB,MAAM,2BACNxC,OAAOC,SAAS2I,KAAO,KA0BzB,MAAMsf,kBAAoB,CACxB1e,YAAa,IACbS,MAAO,EACPR,WACc,MAAZ8L,UAAyC,MAArBA,SAASC,SAAmBD,SAASC,SAAW,KACtE5L,IAAiB,MAAZ2L,UAAoC,MAAhBA,SAAS3L,IAAc2L,SAAS3L,IAAM,KAC/DC,OACc,MAAZ0L,UAAuC,MAAnBA,SAAS1L,OAAiB0L,SAAS1L,OAAS,KAClEC,YACc,MAAZyL,UAA4C,MAAxBA,SAASzL,YACzByL,SAASzL,YACT,KACNH,GAAgB,MAAZ4L,UAAmC,MAAfA,SAAS5L,GAAa4L,SAAS5L,GAAK,KAC5DD,SACc,MAAZ6L,UAAyC,MAArBA,SAAS7L,SAAmB6L,SAAS7L,SAAW,KACtEY,qBACc,MAAZiL,UAA+C,MAA3BA,SAAS4M,eACzB5M,SAAS4M,eACT,KAENjY,oBACsC,MAApC4Y,kBAAkB,GAAGc,YACjBd,kBAAkB,GAAGc,YACrB,KACN7Z,eACiC,MAA/B+Y,kBAAkB,GAAGqF,OAAiBrF,kBAAkB,GAAGqF,OAAS,KACtEhe,mBACqC,MAAnC2Y,kBAAkB,GAAGsF,WACjBtF,kBAAkB,GAAGsF,WACrB,KACNhe,iBACmC,MAAjC0Y,kBAAkB,GAAGuF,SACjBvF,kBAAkB,GAAGuF,SACrB,KACNhe,iBACmC,MAAjCyY,kBAAkB,GAAGwF,SACjBxF,kBAAkB,GAAGwF,SACrB,KAEN9d,oBACEwY,mBAAiD,GAA5BA,kBAAkBnjB,QACC,MAApCmjB,kBAAkB,GAAGY,YACnBZ,kBAAkB,GAAGY,YAEvB,KACNrZ,eACEyY,mBAAiD,GAA5BA,kBAAkBnjB,QACJ,MAA/BmjB,kBAAkB,GAAGmF,OACnBnF,kBAAkB,GAAGmF,OAEvB,KACN1d,mBACEuY,mBAAiD,GAA5BA,kBAAkBnjB,QACA,MAAnCmjB,kBAAkB,GAAGoF,WACnBpF,kBAAkB,GAAGoF,WAEvB,KACN1d,iBACEsY,mBAAiD,GAA5BA,kBAAkBnjB,QACF,MAAjCmjB,kBAAkB,GAAGqF,SACnBrF,kBAAkB,GAAGqF,SAEvB,KACN1d,iBACEqY,mBAAiD,GAA5BA,kBAAkBnjB,QACF,MAAjCmjB,kBAAkB,GAAGsF,SACnBtF,kBAAkB,GAAGsF,SAEvB,OAKDphB,OAAQqhB,WAAY/qB,EAAAA,mCAAAA,UAAS,CAAC0qB,qBAG9B9gB,oBAAqB6gB,uBAAwBzqB,EAAAA,mCAAAA,UACzC,MAAT6b,OAAgB7L,EAAAA,uCAAAA,MAAwB,MAGpC5Q,iBAAkBC,EAAAA,uCAAAA,MACxB,IAAI2rB,aACU,MAAZjT,UAAuC,MAAnBA,SAASkT,OAAiBlT,SAASkT,OAAe,GAExE,GAAI7rB,gBAAiB,CACnB,IAAI8rB,EAAiB3rB,eAAeC,QAAQ,eACf,IAAD2rB,gBAAAC,sBAA5B,GAAsB,MAAlBF,EACFA,EAAiBzrB,KAAKC,MAAMwrB,GAC5BF,aAA6B,QAAjBG,gBAAGD,SAAc,IAAAC,iBAAqB,QAArBC,sBAAdD,gBAAgB7I,iBAAiB,UAAE,IAAA8I,2BAArB,EAAdA,sBAAqCC,gBAExD,CACA,MAAO1hB,sBAAuB2hB,yBAC5BtrB,EAAAA,mCAAAA,UAASgrB,cAEX,IAAIO,QAAUhsB,eAAeC,QAAQ,WAErC,MAAOa,aAAcC,kBAAmBC,EAAAA,+CAAAA,MACxC,IAAIirB,YAAcnrB,aAAaS,IAAI,UAC/B2qB,iBAAmBprB,aAAaS,IAAI,eACpC+oB,iBAAmBxpB,aAAaS,IAAI,eACpCgpB,iBAAmBzpB,aAAaS,IAAI,eACpC4qB,qBAAuBrrB,aAAaS,IAAI,aACxC6qB,4BAA8B,KAElC,GAA4C,MAAxCpsB,eAAeC,QAAQ,cACzBwF,MAAM,2BACNxC,OAAOC,SAAS2I,KAAO,QAClB,CACL,MAAMwgB,EAAUnsB,KAAKC,MAAMH,eAAeC,QAAQ,eAKlD,GAHAgsB,YAAcI,EAAQC,YACtBJ,iBAAmBG,EAAQE,UAEvB1sB,gBAAiB,CACnB,IAAIipB,uBAAyB9oB,eAAeC,QAAQ,eACtB,MAA1B6oB,yBACFA,uBAAyB5oB,KAAKC,MAAM2oB,wBACpCqD,qBAAuBrD,uBAAuBC,UAC9CqD,4BAA8BtD,uBAAuB/F,kBAEvD,IAAIyJ,sBAAwBxsB,eAAeC,QAAQ,cAEnD,GADAqqB,iBAAmB+B,EAAQ3d,eAAeC,MAAM,KAAK,GACT,MAAxC3O,eAAeC,QAAQ,cAAuB,CAChD,IAAIwsB,sBAAwBvsB,KAAKC,MAC/BH,eAAeC,QAAQ,eAEzBsqB,iBAAmBkC,sBAAsB/d,eAAeC,MAAM,KAAK,EACrE,CACF,CACF,EACA3M,EAAAA,mCAAAA,YAAU,KACR,GAAuB,GAAnBnC,gBAAyB,CAC3B,IAAI6sB,EAA0B,GAC9B,IAAK,IAAIlG,EAAI,EAAGA,EAAI4F,4BAA4BtpB,OAAQ0jB,IACtDkG,EAAwBzf,KAAK,CAC3BR,YAAa2f,4BAA4B5F,GAAGO,cAC5C7Z,MAAOsZ,EAAI,EACX9Z,WAAY0f,4BAA4B5F,GAAGU,cAC3Cra,IAAKuf,4BAA4B5F,GAAGtB,qBAAqBvW,MACvD,KACA,GACF7B,OAAQsf,4BAA4B5F,GAAGW,iBACvCpa,aAAaqM,EAAAA,uCAAAA,IACXgT,4BAA4B5F,GAAGoB,uBAEjChb,GACkD,MAAhDwf,4BAA4B5F,GAAGqB,cAC3BuE,4BAA4B5F,GAAGqB,cAC/B,KACNlb,SACsD,MAApDyf,4BAA4B5F,GAAGsB,mBACqB,IAApDsE,4BAA4B5F,GAAGsB,kBAC3BsE,4BAA4B5F,GAAGsB,kBAC/B,GACNva,qBAEI,MADF6e,4BAA4B5F,GAAGrB,6BAE+B,IAA9DiH,4BAA4B5F,GAAGrB,4BAC3BiH,4BAA4B5F,GAAGrB,4BAC/B,GACNhY,oBACsC,MAApC4Y,kBAAkBS,GAAGK,YACjBd,kBAAkBS,GAAGK,YACrB,KACN7Z,eACiC,MAA/B+Y,kBAAkBS,GAAG4E,OACjBrF,kBAAkBS,GAAG4E,OACrB,KACNhe,mBACqC,MAAnC2Y,kBAAkBS,GAAG6E,WACjBtF,kBAAkBS,GAAG6E,WACrB,KACNhe,iBACmC,MAAjC0Y,kBAAkBS,GAAG8E,SACjBvF,kBAAkBS,GAAG8E,SACrB,KACNhe,iBACmC,MAAjCyY,kBAAkBS,GAAG+E,SACjBxF,kBAAkBS,GAAG+E,SACrB,KAEN9d,oBACEwY,mBAAiD,GAA5BA,kBAAkBnjB,QACC,MAApCmjB,kBAAkBO,GAAGK,YACnBZ,kBAAkBO,GAAGK,YAEvB,KACNrZ,eACEyY,mBAAiD,GAA5BA,kBAAkBnjB,QACJ,MAA/BmjB,kBAAkBO,GAAG4E,OACnBnF,kBAAkBO,GAAG4E,OAEvB,KACN1d,mBACEuY,mBAAiD,GAA5BA,kBAAkBnjB,QACA,MAAnCmjB,kBAAkBO,GAAG6E,WACnBpF,kBAAkBO,GAAG6E,WAEvB,KACN1d,iBACEsY,mBAAiD,GAA5BA,kBAAkBnjB,QACF,MAAjCmjB,kBAAkBO,GAAG8E,SACnBrF,kBAAkBO,GAAG8E,SAEvB,KACN1d,iBACEqY,mBAAiD,GAA5BA,kBAAkBnjB,QACF,MAAjCmjB,kBAAkBO,GAAG+E,SACnBtF,kBAAkBO,GAAG+E,SAEvB,OAGVC,SAASkB,EACX,IACC,IAEH,MAAMrc,UAAY1G,sCACZ2G,QAAU3G,aACV4G,WAAa5G,2CAEnB,IAAIsC,gBAAkBlK,aAAa9B,QAAQ,gBAEvC0sB,oBAAsB,EAC1B,MAAMnc,kBAAmBC,EAAAA,uCAAAA,MACzB,IAAIC,IAAG,GAAArO,OAAMgO,UAAS,aAAAhO,OAAYkO,WAAU,KAAAlO,OAAImO,iBAAgB,MAEhE,MAAM3F,SAAW3K,KAAKC,MAAM4B,aAAa9B,QAAQ,aAC3C2sB,eAAiB1sB,KAAKC,MAAMH,eAAeC,QAAQ,mBACnD4sB,eAAiB3sB,KAAKC,MAAMH,eAAeC,QAAQ,mBAEnD6sB,6BAA+BA,CAAC9gB,EAAOmH,EAAO4Z,KAC3B,kBAAnBA,GACF7B,qBAAqB/X,GAGA,oBAAnB4Z,GACFhB,uBAAuB5Y,EACzB,EAGI6Z,8BAAgCA,CAAChhB,EAAOmH,EAAO4Z,EAAgBnT,KACnE,GAAIzP,OAAQ,CACV,IAAI8iB,EAAO9iB,OAAOyP,GAEN,MAARqT,EACFA,EAAKF,GAAkB5Z,GAEvB8Z,EAAO,IAAIrP,QACNmP,GAAkB5Z,EAEzB8Z,EAAK/f,MAAQ0M,EAAM,EAER,GAAPA,GAAmC,MAAvBqT,EAAkB,aAChB,MAAZzU,WACFyU,EAAKxgB,YAAc,KAIZ,GAAPmN,GAAkC,MAAtBqT,EAAiB,YACf,MAAZzU,UAAyC,MAArBA,SAASC,WAC/BwU,EAAKvgB,WAAa8L,SAASC,UAIpB,GAAPmB,GAA2B,MAAfqT,EAAU,KACR,MAAZzU,UAAoC,MAAhBA,SAAS3L,MAC/BogB,EAAKpgB,KAAM0K,EAAAA,uCAAAA,IAA+BiB,SAAS3L,MAI5C,GAAP+M,GAA8B,MAAlBqT,EAAa,QACX,MAAZzU,UAAuC,MAAnBA,SAAS1L,SAC/BmgB,EAAKngB,OAAS0L,SAAS1L,QAIhB,GAAP8M,GAAmC,MAAvBqT,EAAkB,aAChB,MAAZzU,UAA4C,MAAxBA,SAASzL,cAC/BkgB,EAAKlgB,YAAcyL,SAASzL,aAIrB,GAAP6M,GAA2B,IAAdqT,EAAS,IAAyB,MAAdA,EAAS,KAC5B,MAAZzU,UAAmC,MAAfA,SAAS5L,IAA6B,IAAf4L,SAAS5L,GACtDqgB,EAAKrgB,GAAK4L,SAAS5L,GAEP,MAAZ4L,UACqB,IAArBA,SAAS7L,UACkB,IAA3B6L,SAAS4M,iBAET6H,EAAKtgB,SAAW6L,SAAS7L,SACzBsgB,EAAK1f,qBAAuBiL,SAAS4M,iBAMrCW,oBAEAA,kBAAkBnM,IAC2B,oBAAtCmM,kBAAkBnM,GAAKiN,cAE9BoG,EAAK9f,oBAAsB4Y,kBAAkBnM,GAAKiN,aAGlDd,kBAAkBnM,IACsB,oBAAjCmM,kBAAkBnM,GAAKwR,SAE9B6B,EAAKjgB,eAAiB+Y,kBAAkBnM,GAAKwR,QAI7CrF,kBAAkBnM,IAC0B,oBAArCmM,kBAAkBnM,GAAKyR,aAE9B4B,EAAK7f,mBAAqB2Y,kBAAkBnM,GAAKyR,YAIjDtF,kBAAkBnM,IACwB,oBAAnCmM,kBAAkBnM,GAAK0R,WAE9B2B,EAAK5f,iBAAmB0Y,kBAAkBnM,GAAK0R,UAI/CvF,kBAAkBnM,IACwB,oBAAnCmM,kBAAkBnM,GAAK2R,WAE9B0B,EAAK3f,iBAAmByY,kBAAkBnM,GAAK2R,WAI/CtF,oBAEAA,kBAAkBrM,IAC2B,oBAAtCqM,kBAAkBrM,GAAKiN,cAE9BoG,EAAKxf,oBAAsBwY,kBAAkBrM,GAAKiN,aAGlDZ,kBAAkBrM,IACsB,oBAAjCqM,kBAAkBrM,GAAKwR,SAE9B6B,EAAKzf,eAAiByY,kBAAkBrM,GAAKwR,QAI7CnF,kBAAkBrM,IAC0B,oBAArCqM,kBAAkBrM,GAAKyR,aAE9B4B,EAAKvf,mBAAqBuY,kBAAkBrM,GAAKyR,YAIjDpF,kBAAkBrM,IACwB,oBAAnCqM,kBAAkBrM,GAAK0R,WAE9B2B,EAAKtf,iBAAmBsY,kBAAkBrM,GAAK0R,UAI/CrF,kBAAkBrM,IACwB,oBAAnCqM,kBAAkBrM,GAAK2R,WAE9B0B,EAAKrf,iBAAmBqY,kBAAkBrM,GAAK2R,WAInDphB,OAAOyP,GAAOqT,CAChB,GAuCF,OApCAjrB,EAAAA,mCAAAA,YAAU,MA6BRC,EAAAA,uCAAAA,MA3BgBC,WACd,IACE,MAAM0O,QAAiBxO,MAAMsO,IAAK,CAChCvL,OAAQ,MACR0L,KAAM,OACNvO,QAAS,CACPwO,OAAQR,QACR/N,eAAeC,EAAAA,uCAAAA,SAGnB,IAAKoO,EAASnO,GACZ,MAAM,IAAIC,MAAM,wCAADL,OAC2BuO,EAASjO,SAGrD,IAAIoO,QAAmBH,EAAS/N,OAChCwZ,QAAQtL,GACRlQ,SAAS,MACToqB,aAAY,EACd,CAAE,MAAO7nB,GACPvC,SAASuC,EAAIC,SACbgZ,QAAQ,KACV,CAAC,QACC1b,YAAW,EACb,GAIFusB,EAAS,GACR,IAES,MAAR9b,OACFub,oBAAsBvb,OAGtBxN,EAAAA,gDAAAA,MAAAF,gDAAAA,SAAA,CAAAC,SAAA,CACI2Y,MAA+B,IAAvB7Y,EAAAA,gDAAAA,KAACqX,+CAAAA,EAAgB,KAC3BrX,EAAAA,gDAAAA,KAAC0pB,4DAAAA,EAAS,CAAAxpB,UACRC,EAAAA,gDAAAA,MAACE,sDAAAA,EAAG,CAAAH,SAAA,EACFC,EAAAA,gDAAAA,MAACG,sDAAAA,EAAG,CAACC,GAAI,EAAEL,SAAA,EACTF,EAAAA,gDAAAA,KAACqnB,sDAAAA,EAAsB,CACrBpL,aAAciN,oBACdrQ,MAAOA,SAET7Y,EAAAA,gDAAAA,KAACsf,gDAAAA,EAAgB,CACfC,8BAA+BgK,8BAG/BxiB,YAAa8f,iBACb7f,YAAa8f,iBACb7f,gBAAiByhB,qBACjB3T,SAAUA,SACVyK,2BACiC,MAA/BmJ,4BACIA,4BACA,QAOR3oB,EAAAA,gDAAAA,KAAC2pB,gDAAAA,EAAiB,CAChB7a,6BAA8Bua,6BAC9Bta,WACc,MAAZgG,UACuB,MAAnBA,SAASkT,OACPlT,SAASkT,OAEX,GAENjZ,0BACiC,MAA/B2Z,4BACIA,4BAA4B,GAAGN,iBAC/B,WAKVroB,EAAAA,gDAAAA,KAACM,sDAAAA,EAAG,CAACC,GAAI,EAAEL,UACTF,EAAAA,gDAAAA,KAAA,OAAKI,UAAU,2BAA0BF,UACvCC,EAAAA,gDAAAA,MAAA,OAAKC,UAAU,kBAAiBF,SAAA,EAC9BF,EAAAA,gDAAAA,KAAC4mB,8CAAAA,EAAc,CAAC1qB,KAAK,cACrB8D,EAAAA,gDAAAA,KAAChE,oCAAAA,EAAK,CAACE,KAAK,aACQ,GAAnBE,iBACC4D,EAAAA,gDAAAA,KAACgc,+CAAAA,EAAe,CACdC,aAAciN,oBACdtiB,oBAAqBA,oBACrBsV,UAAWsM,YACX1hB,YAAa2hB,iBACb1hB,YAAa8f,iBACb7f,YACsB,MAApB8f,kBAAiD,SAArBA,iBACxB,GACAA,iBAEN3K,SAAUoM,QACVnM,UAAWsM,qBACXxhB,gBAAiBiiB,eACjBhiB,gBAAiBiiB,iBAInB,IAEFjpB,EAAAA,gDAAAA,MAACE,sDAAAA,EAAG,CAAAH,SAAA,EACFF,EAAAA,gDAAAA,KAACwD,8CAAAA,EAAe,CACdI,wBAAyBoB,aACzB9I,KAAK,cAGP8D,EAAAA,gDAAAA,KAAC8E,2CAAAA,EAAY,CAAC5I,KAAK,iBAErB8D,EAAAA,gDAAAA,KAACK,sDAAAA,EAAG,CAAAH,UACFF,EAAAA,gDAAAA,KAACyG,oDAAAA,EAAsB,CACrBC,OAA2B,GAAnBtK,gBAA0BsK,OAAOkjB,UAAYljB,OACrDE,oBAAqBA,oBACrBD,sBAAuBA,sBACvBE,OAAQ2hB,YACR1hB,YAAa2hB,iBACb1hB,YAAa8f,iBACb7f,YAAa8f,iBACb7f,gBAAiByhB,qBACjBxhB,gBAAiBiiB,eACjBhiB,gBAAiBiiB,eACjBhiB,SAAUA,2BAU9B,CAEA,uLCxkBe,SAASyiB,EAAiBC,EAAyBC,EAAcC,QAC9D,IAAZA,IACFA,GAAU,GAGZ,IAAIC,GAA0BC,EAAAA,EAAAA,IAAcH,GACxCI,GAAuBD,EAAAA,EAAAA,IAAcH,IAf3C,SAAyBrlB,GACvB,IAAI0lB,EAAO1lB,EAAQ2lB,wBACfC,GAASC,EAAAA,EAAAA,IAAMH,EAAKlpB,OAASwD,EAAQ8lB,aAAe,EACpDC,GAASF,EAAAA,EAAAA,IAAMH,EAAKM,QAAUhmB,EAAQimB,cAAgB,EAC1D,OAAkB,IAAXL,GAA2B,IAAXG,CACzB,CAU4DG,CAAgBb,GACtEc,GAAkBC,EAAAA,EAAAA,GAAmBf,GACrCK,GAAOC,EAAAA,EAAAA,GAAsBP,EAAyBK,EAAsBH,GAC5Ee,EAAS,CACXC,WAAY,EACZC,UAAW,GAETC,EAAU,CACZC,EAAG,EACHC,EAAG,GAkBL,OAfInB,IAA4BA,IAA4BD,MACxB,UAA9BqB,EAAAA,EAAAA,GAAYtB,KAChBuB,EAAAA,EAAAA,GAAeT,MACbE,ECnCS,SAAuBQ,GACpC,OAAIA,KAASC,EAAAA,EAAAA,GAAUD,KAAUrB,EAAAA,EAAAA,IAAcqB,GCJxC,CACLP,YAFyCtmB,EDQb6mB,GCNRP,WACpBC,UAAWvmB,EAAQumB,YDGZQ,EAAAA,EAAAA,GAAgBF,GCNZ,IAA8B7mB,CDU7C,CD6BegnB,CAAc3B,KAGrBG,EAAAA,EAAAA,IAAcH,KAChBmB,GAAUb,EAAAA,EAAAA,GAAsBN,GAAc,IACtCoB,GAAKpB,EAAa4B,WAC1BT,EAAQE,GAAKrB,EAAa6B,WACjBf,IACTK,EAAQC,GAAIU,EAAAA,EAAAA,GAAoBhB,KAI7B,CACLM,EAAGf,EAAK0B,KAAOf,EAAOC,WAAaE,EAAQC,EAC3CC,EAAGhB,EAAK2B,IAAMhB,EAAOE,UAAYC,EAAQE,EACzClqB,MAAOkpB,EAAKlpB,MACZwpB,OAAQN,EAAKM,OAEjB,6CGvDA,SAASsB,EAAMC,GACb,IAAIzrB,EAAM,IAAI0rB,IACVC,EAAU,IAAIC,IACdC,EAAS,GAKb,SAASC,EAAKC,GACZJ,EAAQ7O,IAAIiP,EAAS3rB,MACN,GAAGhC,OAAO2tB,EAASC,UAAY,GAAID,EAASE,kBAAoB,IACtEhoB,SAAQ,SAAUioB,GACzB,IAAKP,EAAQQ,IAAID,GAAM,CACrB,IAAIE,EAAcpsB,EAAI1C,IAAI4uB,GAEtBE,GACFN,EAAKM,EAET,CACF,IACAP,EAAO7iB,KAAK+iB,EACd,CAQA,OAzBAN,EAAUxnB,SAAQ,SAAU8nB,GAC1B/rB,EAAIqsB,IAAIN,EAAS3rB,KAAM2rB,EACzB,IAiBAN,EAAUxnB,SAAQ,SAAU8nB,GACrBJ,EAAQQ,IAAIJ,EAAS3rB,OAExB0rB,EAAKC,EAET,IACOF,CACT,CChCe,SAASS,EAASC,GAC/B,IAAIC,EACJ,OAAO,WAUL,OATKA,IACHA,EAAU,IAAIC,SAAQ,SAAUC,GAC9BD,QAAQC,UAAUxf,MAAK,WACrBsf,OAAUzpB,EACV2pB,EAAQH,IACV,GACF,KAGKC,CACT,CACF,CCLA,IAAIG,EAAkB,CACpBC,UAAW,SACXnB,UAAW,GACXoB,SAAU,YAGZ,SAASC,IACP,IAAK,IAAIC,EAAOhc,UAAUlS,OAAQmuB,EAAO,IAAIpjB,MAAMmjB,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/ED,EAAKC,GAAQlc,UAAUkc,GAGzB,OAAQD,EAAK/f,MAAK,SAAU/I,GAC1B,QAASA,GAAoD,oBAAlCA,EAAQ2lB,sBACrC,GACF,CAEO,SAASqD,EAAgBC,QACL,IAArBA,IACFA,EAAmB,CAAC,GAGtB,IAAIC,EAAoBD,EACpBE,EAAwBD,EAAkBE,iBAC1CA,OAA6C,IAA1BD,EAAmC,GAAKA,EAC3DE,EAAyBH,EAAkBI,eAC3CA,OAA4C,IAA3BD,EAAoCZ,EAAkBY,EAC3E,OAAO,SAAsBE,EAAWC,EAAQC,QAC9B,IAAZA,IACFA,EAAUH,GAGZ,IAAII,EAAQ,CACVhB,UAAW,SACXiB,iBAAkB,GAClBF,QAAShU,OAAOmU,OAAO,CAAC,EAAGnB,EAAiBa,GAC5CO,cAAe,CAAC,EAChBC,SAAU,CACRP,UAAWA,EACXC,OAAQA,GAEVO,WAAY,CAAC,EACbC,OAAQ,CAAC,GAEPC,EAAmB,GACnBC,GAAc,EACdC,EAAW,CACbT,MAAOA,EACPU,WAAY,SAAoBC,GAC9B,IAAIZ,EAAsC,oBAArBY,EAAkCA,EAAiBX,EAAMD,SAAWY,EACzFC,IACAZ,EAAMD,QAAUhU,OAAOmU,OAAO,CAAC,EAAGN,EAAgBI,EAAMD,QAASA,GACjEC,EAAMa,cAAgB,CACpBhB,WAAWiB,EAAAA,EAAAA,IAAUjB,IAAakB,EAAAA,EAAAA,GAAkBlB,GAAaA,EAAUmB,gBAAiBD,EAAAA,EAAAA,GAAkBlB,EAAUmB,gBAAkB,GAC1IlB,QAAQiB,EAAAA,EAAAA,GAAkBjB,IAI5B,IAAIG,EFhCG,SAAwBpC,GAErC,IAAIoC,EAAmBrC,EAAMC,GAE7B,OAAOoD,EAAAA,GAAeC,QAAO,SAAUC,EAAKC,GAC1C,OAAOD,EAAI3wB,OAAOyvB,EAAiBoB,QAAO,SAAUlD,GAClD,OAAOA,EAASiD,QAAUA,CAC5B,IACF,GAAG,GACL,CEuB+BE,CClEhB,SAAqBzD,GAClC,IAAI0D,EAAS1D,EAAUqD,QAAO,SAAUK,EAAQC,GAC9C,IAAIC,EAAWF,EAAOC,EAAQhvB,MAK9B,OAJA+uB,EAAOC,EAAQhvB,MAAQivB,EAAW1V,OAAOmU,OAAO,CAAC,EAAGuB,EAAUD,EAAS,CACrEzB,QAAShU,OAAOmU,OAAO,CAAC,EAAGuB,EAAS1B,QAASyB,EAAQzB,SACrDxgB,KAAMwM,OAAOmU,OAAO,CAAC,EAAGuB,EAASliB,KAAMiiB,EAAQjiB,QAC5CiiB,EACED,CACT,GAAG,CAAC,GAEJ,OAAOxV,OAAOC,KAAKuV,GAAQnvB,KAAI,SAAU2V,GACvC,OAAOwZ,EAAOxZ,EAChB,GACF,CDqD8C2Z,CAAY,GAAGlxB,OAAOkvB,EAAkBM,EAAMD,QAAQlC,aAM5F,OAJAmC,EAAMC,iBAAmBA,EAAiBoB,QAAO,SAAUM,GACzD,OAAOA,EAAEC,OACX,IA+FF5B,EAAMC,iBAAiB5pB,SAAQ,SAAUxI,GACvC,IAAI2E,EAAO3E,EAAK2E,KACZqvB,EAAeh0B,EAAKkyB,QACpBA,OAA2B,IAAjB8B,EAA0B,CAAC,EAAIA,EACzCC,EAASj0B,EAAKi0B,OAElB,GAAsB,oBAAXA,EAAuB,CAChC,IAAIC,EAAYD,EAAO,CACrB9B,MAAOA,EACPxtB,KAAMA,EACNiuB,SAAUA,EACVV,QAASA,IAGPiC,EAAS,WAAmB,EAEhCzB,EAAiBnlB,KAAK2mB,GAAaC,EACrC,CACF,IA/GSvB,EAASwB,QAClB,EAMAC,YAAa,WACX,IAAI1B,EAAJ,CAIA,IAAI2B,EAAkBnC,EAAMI,SACxBP,EAAYsC,EAAgBtC,UAC5BC,EAASqC,EAAgBrC,OAG7B,GAAKZ,EAAiBW,EAAWC,GAAjC,CAKAE,EAAMoC,MAAQ,CACZvC,UAAWpE,EAAiBoE,GAAWwC,EAAAA,EAAAA,GAAgBvC,GAAoC,UAA3BE,EAAMD,QAAQd,UAC9Ea,QAAQwC,EAAAA,EAAAA,GAAcxC,IAOxBE,EAAMuC,OAAQ,EACdvC,EAAMhB,UAAYgB,EAAMD,QAAQf,UAKhCgB,EAAMC,iBAAiB5pB,SAAQ,SAAU8nB,GACvC,OAAO6B,EAAMG,cAAchC,EAAS3rB,MAAQuZ,OAAOmU,OAAO,CAAC,EAAG/B,EAAS5e,KACzE,IAEA,IAAK,IAAIjN,EAAQ,EAAGA,EAAQ0tB,EAAMC,iBAAiBhvB,OAAQqB,IACzD,IAAoB,IAAhB0tB,EAAMuC,MAAV,CAMA,IAAIC,EAAwBxC,EAAMC,iBAAiB3tB,GAC/CqsB,EAAK6D,EAAsB7D,GAC3B8D,EAAyBD,EAAsBzC,QAC/C2C,OAAsC,IAA3BD,EAAoC,CAAC,EAAIA,EACpDjwB,EAAOgwB,EAAsBhwB,KAEf,oBAAPmsB,IACTqB,EAAQrB,EAAG,CACTqB,MAAOA,EACPD,QAAS2C,EACTlwB,KAAMA,EACNiuB,SAAUA,KACNT,EAdR,MAHEA,EAAMuC,OAAQ,EACdjwB,GAAS,CAzBb,CATA,CAqDF,EAGA2vB,OAAQvD,GAAS,WACf,OAAO,IAAIG,SAAQ,SAAUC,GAC3B2B,EAASyB,cACTpD,EAAQkB,EACV,GACF,IACA2C,QAAS,WACP/B,IACAJ,GAAc,CAChB,GAGF,IAAKtB,EAAiBW,EAAWC,GAC/B,OAAOW,EAmCT,SAASG,IACPL,EAAiBlqB,SAAQ,SAAUsoB,GACjC,OAAOA,GACT,IACA4B,EAAmB,EACrB,CAEA,OAvCAE,EAASC,WAAWX,GAASzgB,MAAK,SAAU0gB,IACrCQ,GAAeT,EAAQ6C,eAC1B7C,EAAQ6C,cAAc5C,EAE1B,IAmCOS,CACT,CACF,2DElMe,SAAS5N,EAASgQ,EAAQjP,GACvC,IAAIkP,EAAWlP,EAAMmP,aAAenP,EAAMmP,cAE1C,GAAIF,EAAOhQ,SAASe,GAClB,OAAO,EAEJ,GAAIkP,IAAYE,EAAAA,EAAAA,IAAaF,GAAW,CACzC,IAAIG,EAAOrP,EAEX,EAAG,CACD,GAAIqP,GAAQJ,EAAOK,WAAWD,GAC5B,OAAO,EAITA,EAAOA,EAAKE,YAAcF,EAAKG,IACjC,OAASH,EACX,CAGF,OAAO,CACT,yFClBe,SAAShH,EAAsB3lB,EAAS+sB,EAAcC,QAC9C,IAAjBD,IACFA,GAAe,QAGO,IAApBC,IACFA,GAAkB,GAGpB,IAAIC,EAAajtB,EAAQ2lB,wBACrBC,EAAS,EACTG,EAAS,EAETgH,IAAgBvH,EAAAA,EAAAA,IAAcxlB,KAChC4lB,EAAS5lB,EAAQ8lB,YAAc,IAAID,EAAAA,EAAAA,IAAMoH,EAAWzwB,OAASwD,EAAQ8lB,aAAmB,EACxFC,EAAS/lB,EAAQimB,aAAe,IAAIJ,EAAAA,EAAAA,IAAMoH,EAAWjH,QAAUhmB,EAAQimB,cAAoB,GAG7F,IACIiH,IADO1C,EAAAA,EAAAA,IAAUxqB,IAAW8mB,EAAAA,EAAAA,GAAU9mB,GAAWlF,QAC3BoyB,eAEtBC,IAAoBC,EAAAA,EAAAA,MAAsBJ,EAC1CvG,GAAKwG,EAAW7F,MAAQ+F,GAAoBD,EAAiBA,EAAeG,WAAa,IAAMzH,EAC/Fc,GAAKuG,EAAW5F,KAAO8F,GAAoBD,EAAiBA,EAAeI,UAAY,IAAMvH,EAC7FvpB,EAAQywB,EAAWzwB,MAAQopB,EAC3BI,EAASiH,EAAWjH,OAASD,EACjC,MAAO,CACLvpB,MAAOA,EACPwpB,OAAQA,EACRqB,IAAKX,EACL6G,MAAO9G,EAAIjqB,EACXgxB,OAAQ9G,EAAIV,EACZoB,KAAMX,EACNA,EAAGA,EACHC,EAAGA,EAEP,8DCvCe,SAAS+G,EAAiBztB,GACvC,OAAO8mB,EAAAA,EAAAA,GAAU9mB,GAASytB,iBAAiBztB,EAC7C,2DCFe,SAASomB,EAAmBpmB,GAEzC,SAASwqB,EAAAA,EAAAA,IAAUxqB,GAAWA,EAAQ0tB,cACtC1tB,EAAQwY,WAAa1d,OAAO0d,UAAU2N,eACxC,8DCFe,SAAS6F,EAAchsB,GACpC,IAAIitB,GAAatH,EAAAA,EAAAA,GAAsB3lB,GAGnCxD,EAAQwD,EAAQ8lB,YAChBE,EAAShmB,EAAQimB,aAUrB,OARI0H,KAAKC,IAAIX,EAAWzwB,MAAQA,IAAU,IACxCA,EAAQywB,EAAWzwB,OAGjBmxB,KAAKC,IAAIX,EAAWjH,OAASA,IAAW,IAC1CA,EAASiH,EAAWjH,QAGf,CACLS,EAAGzmB,EAAQqtB,WACX3G,EAAG1mB,EAAQstB,UACX9wB,MAAOA,EACPwpB,OAAQA,EAEZ,8BCxBe,SAASW,EAAY3mB,GAClC,OAAOA,GAAWA,EAAQ6tB,UAAY,IAAIC,cAAgB,IAC5D,wGCDe,SAASC,EAAe/tB,GACrC,MAAO,CAAC,QAAS,KAAM,MAAMguB,SAAQrH,EAAAA,EAAAA,GAAY3mB,KAAa,CAChE,yBCKA,SAASiuB,EAAoBjuB,GAC3B,OAAKwlB,EAAAA,EAAAA,IAAcxlB,IACoB,WAAvCytB,EAAAA,EAAAA,GAAiBztB,GAASkuB,SAInBluB,EAAQqlB,aAHN,IAIX,CAwCe,SAAS0G,EAAgB/rB,GAItC,IAHA,IAAIlF,GAASgsB,EAAAA,EAAAA,GAAU9mB,GACnBqlB,EAAe4I,EAAoBjuB,GAEhCqlB,GAAgB0I,EAAe1I,IAA6D,YAA5CoI,EAAAA,EAAAA,GAAiBpI,GAAc6I,UACpF7I,EAAe4I,EAAoB5I,GAGrC,OAAIA,IAA+C,UAA9BsB,EAAAA,EAAAA,GAAYtB,IAA0D,UAA9BsB,EAAAA,EAAAA,GAAYtB,IAAwE,YAA5CoI,EAAAA,EAAAA,GAAiBpI,GAAc6I,UAC3HpzB,EAGFuqB,GAhDT,SAA4BrlB,GAC1B,IAAImuB,EAAY,WAAW/pB,MAAKgqB,EAAAA,EAAAA,MAGhC,GAFW,WAAWhqB,MAAKgqB,EAAAA,EAAAA,QAEf5I,EAAAA,EAAAA,IAAcxlB,IAII,WAFXytB,EAAAA,EAAAA,GAAiBztB,GAEnBkuB,SACb,OAAO,KAIX,IAAIG,GAAcC,EAAAA,EAAAA,GAActuB,GAMhC,KAJI0sB,EAAAA,EAAAA,IAAa2B,KACfA,EAAcA,EAAYvB,OAGrBtH,EAAAA,EAAAA,IAAc6I,IAAgB,CAAC,OAAQ,QAAQL,SAAQrH,EAAAA,EAAAA,GAAY0H,IAAgB,GAAG,CAC3F,IAAIE,GAAMd,EAAAA,EAAAA,GAAiBY,GAI3B,GAAsB,SAAlBE,EAAIC,WAA4C,SAApBD,EAAIE,aAA0C,UAAhBF,EAAIG,UAAiF,IAA1D,CAAC,YAAa,eAAeV,QAAQO,EAAII,aAAsBR,GAAgC,WAAnBI,EAAII,YAA2BR,GAAaI,EAAIxD,QAAyB,SAAfwD,EAAIxD,OACjO,OAAOsD,EAEPA,EAAcA,EAAYxB,UAE9B,CAEA,OAAO,IACT,CAgByB+B,CAAmB5uB,IAAYlF,CACxD,8ECjEe,SAASwzB,EAActuB,GACpC,MAA6B,UAAzB2mB,EAAAA,EAAAA,GAAY3mB,GACPA,EAMPA,EAAQ6uB,cACR7uB,EAAQ6sB,cACRH,EAAAA,EAAAA,IAAa1sB,GAAWA,EAAQ8sB,KAAO,QAEvC1G,EAAAA,EAAAA,GAAmBpmB,EAGvB,+BClBe,SAAS8mB,EAAUD,GAChC,GAAY,MAARA,EACF,OAAO/rB,OAGT,GAAwB,oBAApB+rB,EAAKrd,WAAkC,CACzC,IAAIkkB,EAAgB7G,EAAK6G,cACzB,OAAOA,GAAgBA,EAAcoB,aAAwBh0B,MAC/D,CAEA,OAAO+rB,CACT,8ECVe,SAASE,EAAgBF,GACtC,IAAIkI,GAAMjI,EAAAA,EAAAA,GAAUD,GAGpB,MAAO,CACLP,WAHeyI,EAAIC,YAInBzI,UAHcwI,EAAIE,YAKtB,kFCNe,SAAS9H,EAAoBnnB,GAQ1C,OAAO2lB,EAAAA,EAAAA,IAAsBS,EAAAA,EAAAA,GAAmBpmB,IAAUonB,MAAOL,EAAAA,EAAAA,GAAgB/mB,GAASsmB,UAC5F,8ECVA,SAASkE,EAAU3D,GAEjB,OAAOA,aADUC,EAAAA,EAAAA,GAAUD,GAAMqI,SACIrI,aAAgBqI,OACvD,CAEA,SAAS1J,EAAcqB,GAErB,OAAOA,aADUC,EAAAA,EAAAA,GAAUD,GAAMsI,aACItI,aAAgBsI,WACvD,CAEA,SAASzC,EAAa7F,GAEpB,MAA0B,qBAAfuI,aAKJvI,aADUC,EAAAA,EAAAA,GAAUD,GAAMuI,YACIvI,aAAgBuI,WACvD,8DCnBe,SAAShC,IACtB,OAAQ,iCAAiChpB,MAAKgqB,EAAAA,EAAAA,KAChD,8DCFe,SAASxH,EAAe5mB,GAErC,IAAIqvB,GAAoB5B,EAAAA,EAAAA,GAAiBztB,GACrCsvB,EAAWD,EAAkBC,SAC7BC,EAAYF,EAAkBE,UAC9BC,EAAYH,EAAkBG,UAElC,MAAO,6BAA6BprB,KAAKkrB,EAAWE,EAAYD,EAClE,wFCLe,SAASE,EAAgB5I,GACtC,MAAI,CAAC,OAAQ,OAAQ,aAAamH,SAAQrH,EAAAA,EAAAA,GAAYE,KAAU,EAEvDA,EAAK6G,cAAczwB,MAGxBuoB,EAAAA,EAAAA,IAAcqB,KAASD,EAAAA,EAAAA,GAAeC,GACjCA,EAGF4I,GAAgBnB,EAAAA,EAAAA,GAAczH,GACvC,eCJe,SAAS4D,EAAkBzqB,EAAS8e,GACjD,IAAI4Q,OAES,IAAT5Q,IACFA,EAAO,IAGT,IAAI6Q,EAAeF,EAAgBzvB,GAC/B4vB,EAASD,KAAqE,OAAlDD,EAAwB1vB,EAAQ0tB,oBAAyB,EAASgC,EAAsBzyB,MACpH8xB,GAAMjI,EAAAA,EAAAA,GAAU6I,GAChBhsB,EAASisB,EAAS,CAACb,GAAK70B,OAAO60B,EAAI7B,gBAAkB,IAAItG,EAAAA,EAAAA,GAAe+I,GAAgBA,EAAe,IAAMA,EAC7GE,EAAc/Q,EAAK5kB,OAAOyJ,GAC9B,OAAOisB,EAASC,EAChBA,EAAY31B,OAAOuwB,GAAkB6D,EAAAA,EAAAA,GAAc3qB,IACrD,+KCzBO,IAAI0jB,EAAM,MACNmG,EAAS,SACTD,EAAQ,QACRnG,EAAO,OACP0I,EAAO,OACPC,EAAiB,CAAC1I,EAAKmG,EAAQD,EAAOnG,GACtC4I,EAAQ,QACRC,EAAM,MACNC,EAAkB,kBAClBC,EAAW,WACX3G,EAAS,SACTD,EAAY,YACZ6G,EAAmCL,EAAenF,QAAO,SAAUC,EAAKnC,GACjF,OAAOmC,EAAI3wB,OAAO,CAACwuB,EAAY,IAAMsH,EAAOtH,EAAY,IAAMuH,GAChE,GAAG,IACQI,EAA0B,GAAGn2B,OAAO61B,EAAgB,CAACD,IAAOlF,QAAO,SAAUC,EAAKnC,GAC3F,OAAOmC,EAAI3wB,OAAO,CAACwuB,EAAWA,EAAY,IAAMsH,EAAOtH,EAAY,IAAMuH,GAC3E,GAAG,IAaQtF,EAAiB,CAXJ,aACN,OACK,YAEC,aACN,OACK,YAEE,cACN,QACK,0JCoDxB,SACEzuB,KAAM,QACNovB,SAAS,EACTR,MAAO,OACPzC,GApEF,SAAe9wB,GACb,IAAI+4B,EAEA5G,EAAQnyB,EAAKmyB,MACbxtB,EAAO3E,EAAK2E,KACZutB,EAAUlyB,EAAKkyB,QACf8G,EAAe7G,EAAMI,SAAS0G,MAC9BC,EAAgB/G,EAAMG,cAAc4G,cACpCC,GAAgBC,EAAAA,EAAAA,GAAiBjH,EAAMhB,WACvCkI,GAAOC,EAAAA,EAAAA,GAAyBH,GAEhCI,EADa,CAAC1J,EAAAA,GAAMmG,EAAAA,IAAOS,QAAQ0C,IAAkB,EAClC,SAAW,QAElC,GAAKH,GAAiBE,EAAtB,CAIA,IAAIM,EAxBgB,SAAyB/yB,EAAS0rB,GAItD,OAHA1rB,EAA6B,oBAAZA,EAAyBA,EAAQyX,OAAOmU,OAAO,CAAC,EAAGF,EAAMoC,MAAO,CAC/EpD,UAAWgB,EAAMhB,aACb1qB,GACCgzB,EAAAA,EAAAA,GAAsC,kBAAZhzB,EAAuBA,GAAUizB,EAAAA,EAAAA,GAAgBjzB,EAAS+xB,EAAAA,IAC7F,CAmBsBmB,CAAgBzH,EAAQzrB,QAAS0rB,GACjDyH,GAAYnF,EAAAA,EAAAA,GAAcuE,GAC1Ba,EAAmB,MAATR,EAAevJ,EAAAA,GAAMD,EAAAA,GAC/BiK,EAAmB,MAATT,EAAepD,EAAAA,GAASD,EAAAA,GAClC+D,EAAU5H,EAAMoC,MAAMvC,UAAUuH,GAAOpH,EAAMoC,MAAMvC,UAAUqH,GAAQH,EAAcG,GAAQlH,EAAMoC,MAAMtC,OAAOsH,GAC9GS,EAAYd,EAAcG,GAAQlH,EAAMoC,MAAMvC,UAAUqH,GACxDY,GAAoBzF,EAAAA,EAAAA,GAAgBwE,GACpCkB,EAAaD,EAA6B,MAATZ,EAAeY,EAAkBE,cAAgB,EAAIF,EAAkBG,aAAe,EAAI,EAC3HC,EAAoBN,EAAU,EAAIC,EAAY,EAG9CM,EAAMd,EAAcK,GACpBU,EAAML,EAAaN,EAAUL,GAAOC,EAAcM,GAClDU,EAASN,EAAa,EAAIN,EAAUL,GAAO,EAAIc,EAC/CI,GAASC,EAAAA,EAAAA,GAAOJ,EAAKE,EAAQD,GAE7BI,EAAWtB,EACflH,EAAMG,cAAc3tB,KAASo0B,EAAwB,CAAC,GAAyB4B,GAAYF,EAAQ1B,EAAsB6B,aAAeH,EAASD,EAAQzB,EAnBzJ,CAoBF,EAkCE9E,OAhCF,SAAgBzvB,GACd,IAAI2tB,EAAQ3tB,EAAM2tB,MAEd0I,EADUr2B,EAAM0tB,QACWzpB,QAC3BuwB,OAAoC,IAArB6B,EAA8B,sBAAwBA,EAErD,MAAhB7B,IAKwB,kBAAjBA,IACTA,EAAe7G,EAAMI,SAASN,OAAO6I,cAAc9B,OAOhDhU,EAAAA,EAAAA,GAASmN,EAAMI,SAASN,OAAQ+G,KAIrC7G,EAAMI,SAAS0G,MAAQD,EACzB,EASEzI,SAAU,CAAC,iBACXC,iBAAkB,CAAC,sJC/EjBuK,EAAa,CACfjL,IAAK,OACLkG,MAAO,OACPC,OAAQ,OACRpG,KAAM,QAeD,SAASmL,EAAYx2B,GAC1B,IAAIy2B,EAEAhJ,EAASztB,EAAMytB,OACfiJ,EAAa12B,EAAM02B,WACnB/J,EAAY3sB,EAAM2sB,UAClBgK,EAAY32B,EAAM22B,UAClBlM,EAAUzqB,EAAMyqB,QAChB0H,EAAWnyB,EAAMmyB,SACjByE,EAAkB52B,EAAM42B,gBACxBC,EAAW72B,EAAM62B,SACjBC,EAAe92B,EAAM82B,aACrBvN,EAAUvpB,EAAMupB,QAChBwN,EAAatM,EAAQC,EACrBA,OAAmB,IAAfqM,EAAwB,EAAIA,EAChCC,EAAavM,EAAQE,EACrBA,OAAmB,IAAfqM,EAAwB,EAAIA,EAEhCr1B,EAAgC,oBAAjBm1B,EAA8BA,EAAa,CAC5DpM,EAAGA,EACHC,EAAGA,IACA,CACHD,EAAGA,EACHC,EAAGA,GAGLD,EAAI/oB,EAAM+oB,EACVC,EAAIhpB,EAAMgpB,EACV,IAAIsM,EAAOxM,EAAQyM,eAAe,KAC9BC,EAAO1M,EAAQyM,eAAe,KAC9BE,EAAQ/L,EAAAA,GACRgM,EAAQ/L,EAAAA,GACR0H,EAAMj0B,OAEV,GAAI83B,EAAU,CACZ,IAAIvN,GAAe0G,EAAAA,EAAAA,GAAgBvC,GAC/B6J,EAAa,eACbC,EAAY,cAchB,GAZIjO,KAAiByB,EAAAA,EAAAA,GAAU0C,KAC7BnE,GAAee,EAAAA,EAAAA,GAAmBoD,GAEc,YAA5CiE,EAAAA,EAAAA,GAAiBpI,GAAc6I,UAAsC,aAAbA,IAC1DmF,EAAa,eACbC,EAAY,gBAOZ5K,IAAcrB,EAAAA,KAAQqB,IAActB,EAAAA,IAAQsB,IAAc6E,EAAAA,KAAUmF,IAAczC,EAAAA,GACpFmD,EAAQ5F,EAAAA,GAGR9G,IAFcpB,GAAWD,IAAiB0J,GAAOA,EAAI7B,eAAiB6B,EAAI7B,eAAelH,OACzFX,EAAagO,IACEZ,EAAWzM,OAC1BU,GAAKiM,EAAkB,GAAK,EAG9B,GAAIjK,IAActB,EAAAA,KAASsB,IAAcrB,EAAAA,IAAOqB,IAAc8E,EAAAA,KAAWkF,IAAczC,EAAAA,GACrFkD,EAAQ5F,EAAAA,GAGR9G,IAFcnB,GAAWD,IAAiB0J,GAAOA,EAAI7B,eAAiB6B,EAAI7B,eAAe1wB,MACzF6oB,EAAaiO,IACEb,EAAWj2B,MAC1BiqB,GAAKkM,EAAkB,GAAK,CAEhC,CAEA,IAgBMY,EAhBFC,EAAe/d,OAAOmU,OAAO,CAC/BsE,SAAUA,GACT0E,GAAYN,GAEX7zB,GAAyB,IAAjBo0B,EAlFd,SAA2Bt7B,EAAMw3B,GAC/B,IAAItI,EAAIlvB,EAAKkvB,EACTC,EAAInvB,EAAKmvB,EACT+M,EAAM1E,EAAI2E,kBAAoB,EAClC,MAAO,CACLjN,GAAGZ,EAAAA,EAAAA,IAAMY,EAAIgN,GAAOA,GAAO,EAC3B/M,GAAGb,EAAAA,EAAAA,IAAMa,EAAI+M,GAAOA,GAAO,EAE/B,CA0EsCE,CAAkB,CACpDlN,EAAGA,EACHC,EAAGA,IACFI,EAAAA,EAAAA,GAAU0C,IAAW,CACtB/C,EAAGA,EACHC,EAAGA,GAML,OAHAD,EAAIhoB,EAAMgoB,EACVC,EAAIjoB,EAAMioB,EAENiM,EAGKld,OAAOmU,OAAO,CAAC,EAAG4J,IAAeD,EAAiB,CAAC,GAAkBH,GAASF,EAAO,IAAM,GAAIK,EAAeJ,GAASH,EAAO,IAAM,GAAIO,EAAe/E,WAAaO,EAAI2E,kBAAoB,IAAM,EAAI,aAAejN,EAAI,OAASC,EAAI,MAAQ,eAAiBD,EAAI,OAASC,EAAI,SAAU6M,IAG5R9d,OAAOmU,OAAO,CAAC,EAAG4J,IAAehB,EAAkB,CAAC,GAAmBY,GAASF,EAAOxM,EAAI,KAAO,GAAI8L,EAAgBW,GAASH,EAAOvM,EAAI,KAAO,GAAI+L,EAAgBhE,UAAY,GAAIgE,GAC9L,CA4CA,SACEt2B,KAAM,gBACNovB,SAAS,EACTR,MAAO,cACPzC,GA9CF,SAAuB3pB,GACrB,IAAIgrB,EAAQhrB,EAAMgrB,MACdD,EAAU/qB,EAAM+qB,QAChBmK,EAAwBnK,EAAQkJ,gBAChCA,OAA4C,IAA1BiB,GAA0CA,EAC5DC,EAAoBpK,EAAQmJ,SAC5BA,OAAiC,IAAtBiB,GAAsCA,EACjDC,EAAwBrK,EAAQoJ,aAChCA,OAAyC,IAA1BiB,GAA0CA,EACzDN,EAAe,CACjB9K,WAAWiI,EAAAA,EAAAA,GAAiBjH,EAAMhB,WAClCgK,WAAWqB,EAAAA,EAAAA,GAAarK,EAAMhB,WAC9Bc,OAAQE,EAAMI,SAASN,OACvBiJ,WAAY/I,EAAMoC,MAAMtC,OACxBmJ,gBAAiBA,EACjBrN,QAAoC,UAA3BoE,EAAMD,QAAQd,UAGgB,MAArCe,EAAMG,cAAc4G,gBACtB/G,EAAMM,OAAOR,OAAS/T,OAAOmU,OAAO,CAAC,EAAGF,EAAMM,OAAOR,OAAQ+I,EAAY9c,OAAOmU,OAAO,CAAC,EAAG4J,EAAc,CACvGhN,QAASkD,EAAMG,cAAc4G,cAC7BvC,SAAUxE,EAAMD,QAAQd,SACxBiK,SAAUA,EACVC,aAAcA,OAIe,MAA7BnJ,EAAMG,cAAc2G,QACtB9G,EAAMM,OAAOwG,MAAQ/a,OAAOmU,OAAO,CAAC,EAAGF,EAAMM,OAAOwG,MAAO+B,EAAY9c,OAAOmU,OAAO,CAAC,EAAG4J,EAAc,CACrGhN,QAASkD,EAAMG,cAAc2G,MAC7BtC,SAAU,WACV0E,UAAU,EACVC,aAAcA,OAIlBnJ,EAAMK,WAAWP,OAAS/T,OAAOmU,OAAO,CAAC,EAAGF,EAAMK,WAAWP,OAAQ,CACnE,wBAAyBE,EAAMhB,WAEnC,EAQEzf,KAAM,CAAC,+DCrKL+qB,EAAU,CACZA,SAAS,GAsCX,SACE93B,KAAM,iBACNovB,SAAS,EACTR,MAAO,QACPzC,GAAI,WAAe,EACnBmD,OAxCF,SAAgBj0B,GACd,IAAImyB,EAAQnyB,EAAKmyB,MACbS,EAAW5yB,EAAK4yB,SAChBV,EAAUlyB,EAAKkyB,QACfwK,EAAkBxK,EAAQpD,OAC1BA,OAA6B,IAApB4N,GAAoCA,EAC7CC,EAAkBzK,EAAQ0K,OAC1BA,OAA6B,IAApBD,GAAoCA,EAC7Cp5B,GAASgsB,EAAAA,EAAAA,GAAU4C,EAAMI,SAASN,QAClCe,EAAgB,GAAGrwB,OAAOwvB,EAAMa,cAAchB,UAAWG,EAAMa,cAAcf,QAYjF,OAVInD,GACFkE,EAAcxqB,SAAQ,SAAU4vB,GAC9BA,EAAayE,iBAAiB,SAAUjK,EAASwB,OAAQqI,EAC3D,IAGEG,GACFr5B,EAAOs5B,iBAAiB,SAAUjK,EAASwB,OAAQqI,GAG9C,WACD3N,GACFkE,EAAcxqB,SAAQ,SAAU4vB,GAC9BA,EAAa0E,oBAAoB,SAAUlK,EAASwB,OAAQqI,EAC9D,IAGEG,GACFr5B,EAAOu5B,oBAAoB,SAAUlK,EAASwB,OAAQqI,EAE1D,CACF,EASE/qB,KAAM,CAAC,gDC/CT,IAAIqrB,EAAO,CACTlN,KAAM,QACNmG,MAAO,OACPC,OAAQ,MACRnG,IAAK,UAEQ,SAASkN,EAAqB7L,GAC3C,OAAOA,EAAU8L,QAAQ,0BAA0B,SAAUC,GAC3D,OAAOH,EAAKG,EACd,GACF,eCVIH,EAAO,CACTtE,MAAO,MACPC,IAAK,SAEQ,SAASyE,EAA8BhM,GACpD,OAAOA,EAAU8L,QAAQ,cAAc,SAAUC,GAC/C,OAAOH,EAAKG,EACd,GACF,mCCiIA,SACEv4B,KAAM,OACNovB,SAAS,EACTR,MAAO,OACPzC,GA5HF,SAAc9wB,GACZ,IAAImyB,EAAQnyB,EAAKmyB,MACbD,EAAUlyB,EAAKkyB,QACfvtB,EAAO3E,EAAK2E,KAEhB,IAAIwtB,EAAMG,cAAc3tB,GAAMy4B,MAA9B,CAoCA,IAhCA,IAAIC,EAAoBnL,EAAQoL,SAC5BC,OAAsC,IAAtBF,GAAsCA,EACtDG,EAAmBtL,EAAQuL,QAC3BC,OAAoC,IAArBF,GAAqCA,EACpDG,EAA8BzL,EAAQ0L,mBACtCn3B,EAAUyrB,EAAQzrB,QAClBo3B,EAAW3L,EAAQ2L,SACnBC,EAAe5L,EAAQ4L,aACvBC,EAAc7L,EAAQ6L,YACtBC,EAAwB9L,EAAQ+L,eAChCA,OAA2C,IAA1BD,GAA0CA,EAC3DE,EAAwBhM,EAAQgM,sBAChCC,EAAqBhM,EAAMD,QAAQf,UACnCgI,GAAgBC,EAAAA,EAAAA,GAAiB+E,GAEjCP,EAAqBD,IADHxE,IAAkBgF,IACqCF,EAAiB,CAACjB,EAAqBmB,IAjCtH,SAAuChN,GACrC,IAAIiI,EAAAA,EAAAA,GAAiBjI,KAAeoH,EAAAA,GAClC,MAAO,GAGT,IAAI6F,EAAoBpB,EAAqB7L,GAC7C,MAAO,CAACgM,EAA8BhM,GAAYiN,EAAmBjB,EAA8BiB,GACrG,CA0B6IC,CAA8BF,IACrKrF,EAAa,CAACqF,GAAoBx7B,OAAOi7B,GAAoBvK,QAAO,SAAUC,EAAKnC,GACrF,OAAOmC,EAAI3wB,QAAOy2B,EAAAA,EAAAA,GAAiBjI,KAAeoH,EAAAA,GCvCvC,SAA8BpG,EAAOD,QAClC,IAAZA,IACFA,EAAU,CAAC,GAGb,IAAI2C,EAAW3C,EACXf,EAAY0D,EAAS1D,UACrB0M,EAAWhJ,EAASgJ,SACpBC,EAAejJ,EAASiJ,aACxBr3B,EAAUouB,EAASpuB,QACnBw3B,EAAiBpJ,EAASoJ,eAC1BK,EAAwBzJ,EAASqJ,sBACjCA,OAAkD,IAA1BI,EAAmCC,EAAAA,GAAgBD,EAC3EnD,GAAYqB,EAAAA,EAAAA,GAAarL,GACzB2H,EAAaqC,EAAY8C,EAAiBpF,EAAAA,GAAsBA,EAAAA,GAAoBrF,QAAO,SAAUrC,GACvG,OAAOqL,EAAAA,EAAAA,GAAarL,KAAegK,CACrC,IAAK3C,EAAAA,GACDgG,EAAoB1F,EAAWtF,QAAO,SAAUrC,GAClD,OAAO+M,EAAsBzH,QAAQtF,IAAc,CACrD,IAEiC,IAA7BqN,EAAkBp7B,SACpBo7B,EAAoB1F,GAItB,IAAI2F,EAAYD,EAAkBnL,QAAO,SAAUC,EAAKnC,GAOtD,OANAmC,EAAInC,IAAauN,EAAAA,EAAAA,GAAevM,EAAO,CACrChB,UAAWA,EACX0M,SAAUA,EACVC,aAAcA,EACdr3B,QAASA,KACR2yB,EAAAA,EAAAA,GAAiBjI,IACbmC,CACT,GAAG,CAAC,GACJ,OAAOpV,OAAOC,KAAKsgB,GAAWpO,MAAK,SAAUsO,EAAGC,GAC9C,OAAOH,EAAUE,GAAKF,EAAUG,EAClC,GACF,CDC6DC,CAAqB1M,EAAO,CACnFhB,UAAWA,EACX0M,SAAUA,EACVC,aAAcA,EACdr3B,QAASA,EACTw3B,eAAgBA,EAChBC,sBAAuBA,IACpB/M,EACP,GAAG,IACC2N,EAAgB3M,EAAMoC,MAAMvC,UAC5BkJ,EAAa/I,EAAMoC,MAAMtC,OACzB8M,EAAY,IAAI9O,IAChB+O,GAAqB,EACrBC,EAAwBnG,EAAW,GAE9B7S,EAAI,EAAGA,EAAI6S,EAAW11B,OAAQ6iB,IAAK,CAC1C,IAAIkL,EAAY2H,EAAW7S,GAEvBiZ,GAAiB9F,EAAAA,EAAAA,GAAiBjI,GAElCgO,GAAmB3C,EAAAA,EAAAA,GAAarL,KAAesH,EAAAA,GAC/C2G,EAAa,CAACtP,EAAAA,GAAKmG,EAAAA,IAAQQ,QAAQyI,IAAmB,EACtD3F,EAAM6F,EAAa,QAAU,SAC7BrH,GAAW2G,EAAAA,EAAAA,GAAevM,EAAO,CACnChB,UAAWA,EACX0M,SAAUA,EACVC,aAAcA,EACdC,YAAaA,EACbt3B,QAASA,IAEP44B,EAAoBD,EAAaD,EAAmBnJ,EAAAA,GAAQnG,EAAAA,GAAOsP,EAAmBlJ,EAAAA,GAASnG,EAAAA,GAE/FgP,EAAcvF,GAAO2B,EAAW3B,KAClC8F,EAAoBrC,EAAqBqC,IAG3C,IAAIC,EAAmBtC,EAAqBqC,GACxCE,EAAS,GAUb,GARIhC,GACFgC,EAAOhyB,KAAKwqB,EAASmH,IAAmB,GAGtCxB,GACF6B,EAAOhyB,KAAKwqB,EAASsH,IAAsB,EAAGtH,EAASuH,IAAqB,GAG1EC,EAAOC,OAAM,SAAUC,GACzB,OAAOA,CACT,IAAI,CACFR,EAAwB9N,EACxB6N,GAAqB,EACrB,KACF,CAEAD,EAAUnO,IAAIO,EAAWoO,EAC3B,CAEA,GAAIP,EAqBF,IAnBA,IAEIU,EAAQ,SAAeC,GACzB,IAAIC,EAAmB9G,EAAW+G,MAAK,SAAU1O,GAC/C,IAAIoO,EAASR,EAAUl9B,IAAIsvB,GAE3B,GAAIoO,EACF,OAAOA,EAAOO,MAAM,EAAGH,GAAIH,OAAM,SAAUC,GACzC,OAAOA,CACT,GAEJ,IAEA,GAAIG,EAEF,OADAX,EAAwBW,EACjB,OAEX,EAESD,EAnBY1B,EAAiB,EAAI,EAmBZ0B,EAAK,EAAGA,IAAM,CAG1C,GAAa,UAFFD,EAAMC,GAEK,KACxB,CAGExN,EAAMhB,YAAc8N,IACtB9M,EAAMG,cAAc3tB,GAAMy4B,OAAQ,EAClCjL,EAAMhB,UAAY8N,EAClB9M,EAAMuC,OAAQ,EA5GhB,CA8GF,EAQElE,iBAAkB,CAAC,UACnB9e,KAAM,CACJ0rB,OAAO,0EE7IX,SAAS2C,EAAehI,EAAU5J,EAAM6R,GAQtC,YAPyB,IAArBA,IACFA,EAAmB,CACjB9Q,EAAG,EACHC,EAAG,IAIA,CACLW,IAAKiI,EAASjI,IAAM3B,EAAKM,OAASuR,EAAiB7Q,EACnD6G,MAAO+B,EAAS/B,MAAQ7H,EAAKlpB,MAAQ+6B,EAAiB9Q,EACtD+G,OAAQ8B,EAAS9B,OAAS9H,EAAKM,OAASuR,EAAiB7Q,EACzDU,KAAMkI,EAASlI,KAAO1B,EAAKlpB,MAAQ+6B,EAAiB9Q,EAExD,CAEA,SAAS+Q,EAAsBlI,GAC7B,MAAO,CAACjI,EAAAA,GAAKkG,EAAAA,GAAOC,EAAAA,GAAQpG,EAAAA,IAAMre,MAAK,SAAU0uB,GAC/C,OAAOnI,EAASmI,IAAS,CAC3B,GACF,CA+BA,SACEv7B,KAAM,OACNovB,SAAS,EACTR,MAAO,OACP/C,iBAAkB,CAAC,mBACnBM,GAlCF,SAAc9wB,GACZ,IAAImyB,EAAQnyB,EAAKmyB,MACbxtB,EAAO3E,EAAK2E,KACZm6B,EAAgB3M,EAAMoC,MAAMvC,UAC5BkJ,EAAa/I,EAAMoC,MAAMtC,OACzB+N,EAAmB7N,EAAMG,cAAc6N,gBACvCC,GAAoB1B,EAAAA,EAAAA,GAAevM,EAAO,CAC5CkO,eAAgB,cAEdC,GAAoB5B,EAAAA,EAAAA,GAAevM,EAAO,CAC5C4L,aAAa,IAEXwC,EAA2BR,EAAeK,EAAmBtB,GAC7D0B,EAAsBT,EAAeO,EAAmBpF,EAAY8E,GACpES,EAAoBR,EAAsBM,GAC1CG,EAAmBT,EAAsBO,GAC7CrO,EAAMG,cAAc3tB,GAAQ,CAC1B47B,yBAA0BA,EAC1BC,oBAAqBA,EACrBC,kBAAmBA,EACnBC,iBAAkBA,GAEpBvO,EAAMK,WAAWP,OAAS/T,OAAOmU,OAAO,CAAC,EAAGF,EAAMK,WAAWP,OAAQ,CACnE,+BAAgCwO,EAChC,sBAAuBC,GAE3B,yECJA,SACE/7B,KAAM,SACNovB,SAAS,EACTR,MAAO,OACPhD,SAAU,CAAC,iBACXO,GA5BF,SAAgBtsB,GACd,IAAI2tB,EAAQ3tB,EAAM2tB,MACdD,EAAU1tB,EAAM0tB,QAChBvtB,EAAOH,EAAMG,KACbg8B,EAAkBzO,EAAQuI,OAC1BA,OAA6B,IAApBkG,EAA6B,CAAC,EAAG,GAAKA,EAC/CjvB,EAAOonB,EAAAA,GAAWzF,QAAO,SAAUC,EAAKnC,GAE1C,OADAmC,EAAInC,GA5BD,SAAiCA,EAAWoD,EAAOkG,GACxD,IAAItB,GAAgBC,EAAAA,EAAAA,GAAiBjI,GACjCyP,EAAiB,CAAC/Q,EAAAA,GAAMC,EAAAA,IAAK2G,QAAQ0C,IAAkB,GAAK,EAAI,EAEhEn5B,EAAyB,oBAAXy6B,EAAwBA,EAAOvc,OAAOmU,OAAO,CAAC,EAAGkC,EAAO,CACxEpD,UAAWA,KACPsJ,EACFoG,EAAW7gC,EAAK,GAChB8gC,EAAW9gC,EAAK,GAIpB,OAFA6gC,EAAWA,GAAY,EACvBC,GAAYA,GAAY,GAAKF,EACtB,CAAC/Q,EAAAA,GAAMmG,EAAAA,IAAOS,QAAQ0C,IAAkB,EAAI,CACjDjK,EAAG4R,EACH3R,EAAG0R,GACD,CACF3R,EAAG2R,EACH1R,EAAG2R,EAEP,CASqBC,CAAwB5P,EAAWgB,EAAMoC,MAAOkG,GAC1DnH,CACT,GAAG,CAAC,GACA0N,EAAwBtvB,EAAKygB,EAAMhB,WACnCjC,EAAI8R,EAAsB9R,EAC1BC,EAAI6R,EAAsB7R,EAEW,MAArCgD,EAAMG,cAAc4G,gBACtB/G,EAAMG,cAAc4G,cAAchK,GAAKA,EACvCiD,EAAMG,cAAc4G,cAAc/J,GAAKA,GAGzCgD,EAAMG,cAAc3tB,GAAQ+M,CAC9B,+DC1BA,SACE/M,KAAM,gBACNovB,SAAS,EACTR,MAAO,OACPzC,GApBF,SAAuB9wB,GACrB,IAAImyB,EAAQnyB,EAAKmyB,MACbxtB,EAAO3E,EAAK2E,KAKhBwtB,EAAMG,cAAc3tB,IAAQs8B,EAAAA,EAAAA,GAAe,CACzCjP,UAAWG,EAAMoC,MAAMvC,UACvBvpB,QAAS0pB,EAAMoC,MAAMtC,OACrBb,SAAU,WACVD,UAAWgB,EAAMhB,WAErB,EAQEzf,KAAM,CAAC,6JCgHT,SACE/M,KAAM,kBACNovB,SAAS,EACTR,MAAO,OACPzC,GA/HF,SAAyB9wB,GACvB,IAAImyB,EAAQnyB,EAAKmyB,MACbD,EAAUlyB,EAAKkyB,QACfvtB,EAAO3E,EAAK2E,KACZ04B,EAAoBnL,EAAQoL,SAC5BC,OAAsC,IAAtBF,GAAsCA,EACtDG,EAAmBtL,EAAQuL,QAC3BC,OAAoC,IAArBF,GAAsCA,EACrDK,EAAW3L,EAAQ2L,SACnBC,EAAe5L,EAAQ4L,aACvBC,EAAc7L,EAAQ6L,YACtBt3B,EAAUyrB,EAAQzrB,QAClBy6B,EAAkBhP,EAAQiP,OAC1BA,OAA6B,IAApBD,GAAoCA,EAC7CE,EAAwBlP,EAAQmP,aAChCA,OAAyC,IAA1BD,EAAmC,EAAIA,EACtDrJ,GAAW2G,EAAAA,EAAAA,GAAevM,EAAO,CACnC0L,SAAUA,EACVC,aAAcA,EACdr3B,QAASA,EACTs3B,YAAaA,IAEX5E,GAAgBC,EAAAA,EAAAA,GAAiBjH,EAAMhB,WACvCgK,GAAYqB,EAAAA,EAAAA,GAAarK,EAAMhB,WAC/BmQ,GAAmBnG,EACnBmC,GAAWhE,EAAAA,EAAAA,GAAyBH,GACpCsE,ECrCY,MDqCSH,ECrCH,IAAM,IDsCxBpE,EAAgB/G,EAAMG,cAAc4G,cACpC4F,EAAgB3M,EAAMoC,MAAMvC,UAC5BkJ,EAAa/I,EAAMoC,MAAMtC,OACzBsP,EAA4C,oBAAjBF,EAA8BA,EAAanjB,OAAOmU,OAAO,CAAC,EAAGF,EAAMoC,MAAO,CACvGpD,UAAWgB,EAAMhB,aACbkQ,EACFG,EAA2D,kBAAtBD,EAAiC,CACxEjE,SAAUiE,EACV9D,QAAS8D,GACPrjB,OAAOmU,OAAO,CAChBiL,SAAU,EACVG,QAAS,GACR8D,GACCE,EAAsBtP,EAAMG,cAAcmI,OAAStI,EAAMG,cAAcmI,OAAOtI,EAAMhB,WAAa,KACjGzf,EAAO,CACTwd,EAAG,EACHC,EAAG,GAGL,GAAK+J,EAAL,CAIA,GAAIqE,EAAe,CACjB,IAAImE,EAEAC,EAAwB,MAAbrE,EAAmBxN,EAAAA,GAAMD,EAAAA,GACpC+R,EAAuB,MAAbtE,EAAmBrH,EAAAA,GAASD,EAAAA,GACtCuD,EAAmB,MAAb+D,EAAmB,SAAW,QACpC7C,EAASvB,EAAcoE,GACvBhD,EAAMG,EAAS1C,EAAS4J,GACxBpH,EAAME,EAAS1C,EAAS6J,GACxBC,EAAWV,GAAUjG,EAAW3B,GAAO,EAAI,EAC3CuI,EAAS3G,IAAc1C,EAAAA,GAAQqG,EAAcvF,GAAO2B,EAAW3B,GAC/DwI,EAAS5G,IAAc1C,EAAAA,IAASyC,EAAW3B,IAAQuF,EAAcvF,GAGjEP,EAAe7G,EAAMI,SAAS0G,MAC9BW,EAAYuH,GAAUnI,GAAevE,EAAAA,EAAAA,GAAcuE,GAAgB,CACrE/zB,MAAO,EACPwpB,OAAQ,GAENuT,EAAqB7P,EAAMG,cAAc,oBAAsBH,EAAMG,cAAc,oBAAoB7rB,SAAUw7B,EAAAA,EAAAA,KACjHC,EAAkBF,EAAmBL,GACrCQ,EAAkBH,EAAmBJ,GAMrCQ,IAAW1H,EAAAA,EAAAA,GAAO,EAAGoE,EAAcvF,GAAMK,EAAUL,IACnD8I,GAAYf,EAAkBxC,EAAcvF,GAAO,EAAIsI,EAAWO,GAAWF,EAAkBV,EAA4BlE,SAAWwE,EAASM,GAAWF,EAAkBV,EAA4BlE,SACxMgF,GAAYhB,GAAmBxC,EAAcvF,GAAO,EAAIsI,EAAWO,GAAWD,EAAkBX,EAA4BlE,SAAWyE,EAASK,GAAWD,EAAkBX,EAA4BlE,SACzMrD,GAAoB9H,EAAMI,SAAS0G,QAASzE,EAAAA,EAAAA,GAAgBrC,EAAMI,SAAS0G,OAC3EsJ,GAAetI,GAAiC,MAAbqD,EAAmBrD,GAAkBtK,WAAa,EAAIsK,GAAkBvK,YAAc,EAAI,EAC7H8S,GAAwH,OAAjGd,EAA+C,MAAvBD,OAA8B,EAASA,EAAoBnE,IAAqBoE,EAAwB,EACvJe,GAAYhI,EAAS4H,GAAYG,GAAsBD,GACvDG,GAAYjI,EAAS6H,GAAYE,GACjCG,IAAkBjI,EAAAA,EAAAA,GAAOyG,GAASyB,EAAAA,EAAAA,IAAQtI,EAAKmI,IAAanI,EAAKG,EAAQ0G,GAAS0B,EAAAA,EAAAA,IAAQtI,EAAKmI,IAAanI,GAChHrB,EAAcoE,GAAYqF,GAC1BjxB,EAAK4rB,GAAYqF,GAAkBlI,CACrC,CAEA,GAAIiD,EAAc,CAChB,IAAIoF,GAEAC,GAAyB,MAAbzF,EAAmBxN,EAAAA,GAAMD,EAAAA,GAErCmT,GAAwB,MAAb1F,EAAmBrH,EAAAA,GAASD,EAAAA,GAEvCiN,GAAU/J,EAAcuE,GAExBnM,GAAmB,MAAZmM,EAAkB,SAAW,QAEpCyF,GAAOD,GAAUlL,EAASgL,IAE1BI,GAAOF,GAAUlL,EAASiL,IAE1BI,IAAuD,IAAxC,CAACtT,EAAAA,GAAKD,EAAAA,IAAM4G,QAAQ0C,GAEnCkK,GAAyH,OAAjGP,GAAgD,MAAvBrB,OAA8B,EAASA,EAAoBhE,IAAoBqF,GAAyB,EAEzJQ,GAAaF,GAAeF,GAAOD,GAAUnE,EAAcxN,IAAQ4J,EAAW5J,IAAQ+R,GAAuB7B,EAA4B/D,QAEzI8F,GAAaH,GAAeH,GAAUnE,EAAcxN,IAAQ4J,EAAW5J,IAAQ+R,GAAuB7B,EAA4B/D,QAAU0F,GAE5IK,GAAmBrC,GAAUiC,IAAeK,EAAAA,EAAAA,GAAeH,GAAYL,GAASM,KAAc7I,EAAAA,EAAAA,GAAOyG,EAASmC,GAAaJ,GAAMD,GAAS9B,EAASoC,GAAaJ,IAEpKjK,EAAcuE,GAAW+F,GACzB9xB,EAAK+rB,GAAW+F,GAAmBP,EACrC,CAEA9Q,EAAMG,cAAc3tB,GAAQ+M,CAvE5B,CAwEF,EAQE8e,iBAAkB,CAAC,qGExIN,SAASyQ,EAAejhC,GACrC,IAOIivB,EAPA+C,EAAYhyB,EAAKgyB,UACjBvpB,EAAUzI,EAAKyI,QACf0oB,EAAYnxB,EAAKmxB,UACjBgI,EAAgBhI,GAAYiI,EAAAA,EAAAA,GAAiBjI,GAAa,KAC1DgK,EAAYhK,GAAYqL,EAAAA,EAAAA,GAAarL,GAAa,KAClDuS,EAAU1R,EAAU9C,EAAI8C,EAAU/sB,MAAQ,EAAIwD,EAAQxD,MAAQ,EAC9D0+B,EAAU3R,EAAU7C,EAAI6C,EAAUvD,OAAS,EAAIhmB,EAAQgmB,OAAS,EAGpE,OAAQ0K,GACN,KAAKrJ,EAAAA,GACHb,EAAU,CACRC,EAAGwU,EACHvU,EAAG6C,EAAU7C,EAAI1mB,EAAQgmB,QAE3B,MAEF,KAAKwH,EAAAA,GACHhH,EAAU,CACRC,EAAGwU,EACHvU,EAAG6C,EAAU7C,EAAI6C,EAAUvD,QAE7B,MAEF,KAAKuH,EAAAA,GACH/G,EAAU,CACRC,EAAG8C,EAAU9C,EAAI8C,EAAU/sB,MAC3BkqB,EAAGwU,GAEL,MAEF,KAAK9T,EAAAA,GACHZ,EAAU,CACRC,EAAG8C,EAAU9C,EAAIzmB,EAAQxD,MACzBkqB,EAAGwU,GAEL,MAEF,QACE1U,EAAU,CACRC,EAAG8C,EAAU9C,EACbC,EAAG6C,EAAU7C,GAInB,IAAImO,EAAWnE,GAAgBG,EAAAA,EAAAA,GAAyBH,GAAiB,KAEzE,GAAgB,MAAZmE,EAAkB,CACpB,IAAI/D,EAAmB,MAAb+D,EAAmB,SAAW,QAExC,OAAQnC,GACN,KAAK1C,EAAAA,GACHxJ,EAAQqO,GAAYrO,EAAQqO,IAAatL,EAAUuH,GAAO,EAAI9wB,EAAQ8wB,GAAO,GAC7E,MAEF,KAAKb,EAAAA,GACHzJ,EAAQqO,GAAYrO,EAAQqO,IAAatL,EAAUuH,GAAO,EAAI9wB,EAAQ8wB,GAAO,GAKnF,CAEA,OAAOtK,CACT,8MCrEe,SAAS2U,EAAiBzV,GACvC,OAAOjQ,OAAOmU,OAAO,CAAC,EAAGlE,EAAM,CAC7B0B,KAAM1B,EAAKe,EACXY,IAAK3B,EAAKgB,EACV6G,MAAO7H,EAAKe,EAAIf,EAAKlpB,MACrBgxB,OAAQ9H,EAAKgB,EAAIhB,EAAKM,QAE1B,CCqBA,SAASoV,EAA2Bp7B,EAASq7B,EAAgB1S,GAC3D,OAAO0S,IAAmBlL,EAAAA,GAAWgL,ECzBxB,SAAyBn7B,EAAS2oB,GAC/C,IAAIoG,GAAMjI,EAAAA,EAAAA,GAAU9mB,GAChBs7B,GAAOlV,EAAAA,EAAAA,GAAmBpmB,GAC1BktB,EAAiB6B,EAAI7B,eACrB1wB,EAAQ8+B,EAAK3J,YACb3L,EAASsV,EAAK5J,aACdjL,EAAI,EACJC,EAAI,EAER,GAAIwG,EAAgB,CAClB1wB,EAAQ0wB,EAAe1wB,MACvBwpB,EAASkH,EAAelH,OACxB,IAAIuV,GAAiBnO,EAAAA,EAAAA,MAEjBmO,IAAmBA,GAA+B,UAAb5S,KACvClC,EAAIyG,EAAeG,WACnB3G,EAAIwG,EAAeI,UAEvB,CAEA,MAAO,CACL9wB,MAAOA,EACPwpB,OAAQA,EACRS,EAAGA,GAAIU,EAAAA,EAAAA,GAAoBnnB,GAC3B0mB,EAAGA,EAEP,CDDwD8U,CAAgBx7B,EAAS2oB,KAAa6B,EAAAA,EAAAA,IAAU6Q,GAdxG,SAAoCr7B,EAAS2oB,GAC3C,IAAIjD,GAAOC,EAAAA,EAAAA,GAAsB3lB,GAAS,EAAoB,UAAb2oB,GASjD,OARAjD,EAAK2B,IAAM3B,EAAK2B,IAAMrnB,EAAQknB,UAC9BxB,EAAK0B,KAAO1B,EAAK0B,KAAOpnB,EAAQinB,WAChCvB,EAAK8H,OAAS9H,EAAK2B,IAAMrnB,EAAQ0xB,aACjChM,EAAK6H,MAAQ7H,EAAK0B,KAAOpnB,EAAQ2xB,YACjCjM,EAAKlpB,MAAQwD,EAAQ2xB,YACrBjM,EAAKM,OAAShmB,EAAQ0xB,aACtBhM,EAAKe,EAAIf,EAAK0B,KACd1B,EAAKgB,EAAIhB,EAAK2B,IACP3B,CACT,CAG0H+V,CAA2BJ,EAAgB1S,GAAYwS,EEtBlK,SAAyBn7B,GACtC,IAAI0vB,EAEA4L,GAAOlV,EAAAA,EAAAA,GAAmBpmB,GAC1B07B,GAAY3U,EAAAA,EAAAA,GAAgB/mB,GAC5B/C,EAA0D,OAAlDyyB,EAAwB1vB,EAAQ0tB,oBAAyB,EAASgC,EAAsBzyB,KAChGT,GAAQs1B,EAAAA,EAAAA,IAAIwJ,EAAKK,YAAaL,EAAK3J,YAAa10B,EAAOA,EAAK0+B,YAAc,EAAG1+B,EAAOA,EAAK00B,YAAc,GACvG3L,GAAS8L,EAAAA,EAAAA,IAAIwJ,EAAKM,aAAcN,EAAK5J,aAAcz0B,EAAOA,EAAK2+B,aAAe,EAAG3+B,EAAOA,EAAKy0B,aAAe,GAC5GjL,GAAKiV,EAAUpV,YAAaa,EAAAA,EAAAA,GAAoBnnB,GAChD0mB,GAAKgV,EAAUnV,UAMnB,MAJiD,SAA7CkH,EAAAA,EAAAA,GAAiBxwB,GAAQq+B,GAAMO,YACjCpV,IAAKqL,EAAAA,EAAAA,IAAIwJ,EAAK3J,YAAa10B,EAAOA,EAAK00B,YAAc,GAAKn1B,GAGrD,CACLA,MAAOA,EACPwpB,OAAQA,EACRS,EAAGA,EACHC,EAAGA,EAEP,CFCkMoV,EAAgB1V,EAAAA,EAAAA,GAAmBpmB,IACrO,CAsBe,SAAS+7B,EAAgB/7B,EAASo1B,EAAUC,EAAc1M,GACvE,IAAIqT,EAAmC,oBAAb5G,EAlB5B,SAA4Bp1B,GAC1B,IAAIkwB,GAAkBzF,EAAAA,EAAAA,IAAkB6D,EAAAA,EAAAA,GAActuB,IAElDi8B,EADoB,CAAC,WAAY,SAASjO,SAAQP,EAAAA,EAAAA,GAAiBztB,GAASkuB,WAAa,IACnD1I,EAAAA,EAAAA,IAAcxlB,IAAW+rB,EAAAA,EAAAA,GAAgB/rB,GAAWA,EAE9F,OAAKwqB,EAAAA,EAAAA,IAAUyR,GAKR/L,EAAgBnF,QAAO,SAAUsQ,GACtC,OAAO7Q,EAAAA,EAAAA,IAAU6Q,KAAmB9e,EAAAA,EAAAA,GAAS8e,EAAgBY,IAAmD,UAAhCtV,EAAAA,EAAAA,GAAY0U,EAC9F,IANS,EAOX,CAK6Da,CAAmBl8B,GAAW,GAAG9F,OAAOk7B,GAC/FlF,EAAkB,GAAGh2B,OAAO8hC,EAAqB,CAAC3G,IAClD8G,EAAsBjM,EAAgB,GACtCkM,EAAelM,EAAgBtF,QAAO,SAAUyR,EAAShB,GAC3D,IAAI3V,EAAO0V,EAA2Bp7B,EAASq7B,EAAgB1S,GAK/D,OAJA0T,EAAQhV,KAAMyK,EAAAA,EAAAA,IAAIpM,EAAK2B,IAAKgV,EAAQhV,KACpCgV,EAAQ9O,OAAQsE,EAAAA,EAAAA,IAAInM,EAAK6H,MAAO8O,EAAQ9O,OACxC8O,EAAQ7O,QAASqE,EAAAA,EAAAA,IAAInM,EAAK8H,OAAQ6O,EAAQ7O,QAC1C6O,EAAQjV,MAAO0K,EAAAA,EAAAA,IAAIpM,EAAK0B,KAAMiV,EAAQjV,MAC/BiV,CACT,GAAGjB,EAA2Bp7B,EAASm8B,EAAqBxT,IAK5D,OAJAyT,EAAa5/B,MAAQ4/B,EAAa7O,MAAQ6O,EAAahV,KACvDgV,EAAapW,OAASoW,EAAa5O,OAAS4O,EAAa/U,IACzD+U,EAAa3V,EAAI2V,EAAahV,KAC9BgV,EAAa1V,EAAI0V,EAAa/U,IACvB+U,CACT,mCG3De,SAASnG,EAAevM,EAAOD,QAC5B,IAAZA,IACFA,EAAU,CAAC,GAGb,IAAI2C,EAAW3C,EACX6S,EAAqBlQ,EAAS1D,UAC9BA,OAAmC,IAAvB4T,EAAgC5S,EAAMhB,UAAY4T,EAC9DC,EAAoBnQ,EAASzD,SAC7BA,OAAiC,IAAtB4T,EAA+B7S,EAAMf,SAAW4T,EAC3DC,EAAoBpQ,EAASgJ,SAC7BA,OAAiC,IAAtBoH,EAA+BtM,EAAAA,GAAkBsM,EAC5DC,EAAwBrQ,EAASiJ,aACjCA,OAAyC,IAA1BoH,EAAmCtM,EAAAA,GAAWsM,EAC7DC,EAAwBtQ,EAASwL,eACjCA,OAA2C,IAA1B8E,EAAmClT,EAAAA,GAASkT,EAC7DC,EAAuBvQ,EAASkJ,YAChCA,OAAuC,IAAzBqH,GAA0CA,EACxDC,EAAmBxQ,EAASpuB,QAC5BA,OAA+B,IAArB4+B,EAA8B,EAAIA,EAC5C7L,GAAgBC,EAAAA,EAAAA,GAAsC,kBAAZhzB,EAAuBA,GAAUizB,EAAAA,EAAAA,GAAgBjzB,EAAS+xB,EAAAA,KACpG8M,EAAajF,IAAmBpO,EAAAA,GAASD,EAAAA,GAAYC,EAAAA,GACrDiJ,EAAa/I,EAAMoC,MAAMtC,OACzBxpB,EAAU0pB,EAAMI,SAASwL,EAAcuH,EAAajF,GACpDkF,EAAqBf,GAAgBvR,EAAAA,EAAAA,IAAUxqB,GAAWA,EAAUA,EAAQ0qB,iBAAkBtE,EAAAA,EAAAA,GAAmBsD,EAAMI,SAASN,QAAS4L,EAAUC,EAAc1M,GACjKoU,GAAsBpX,EAAAA,EAAAA,GAAsB+D,EAAMI,SAASP,WAC3DkH,GAAgB+H,EAAAA,EAAAA,GAAe,CACjCjP,UAAWwT,EACX/8B,QAASyyB,EACT9J,SAAU,WACVD,UAAWA,IAETsU,EAAmB7B,EAAiB1lB,OAAOmU,OAAO,CAAC,EAAG6I,EAAYhC,IAClEwM,EAAoBrF,IAAmBpO,EAAAA,GAASwT,EAAmBD,EAGnEG,EAAkB,CACpB7V,IAAKyV,EAAmBzV,IAAM4V,EAAkB5V,IAAM0J,EAAc1J,IACpEmG,OAAQyP,EAAkBzP,OAASsP,EAAmBtP,OAASuD,EAAcvD,OAC7EpG,KAAM0V,EAAmB1V,KAAO6V,EAAkB7V,KAAO2J,EAAc3J,KACvEmG,MAAO0P,EAAkB1P,MAAQuP,EAAmBvP,MAAQwD,EAAcxD,OAExE4P,EAAazT,EAAMG,cAAcmI,OAErC,GAAI4F,IAAmBpO,EAAAA,IAAU2T,EAAY,CAC3C,IAAInL,EAASmL,EAAWzU,GACxBjT,OAAOC,KAAKwnB,GAAiBn9B,SAAQ,SAAU0R,GAC7C,IAAI2rB,EAAW,CAAC7P,EAAAA,GAAOC,EAAAA,IAAQQ,QAAQvc,IAAQ,EAAI,GAAK,EACpDmf,EAAO,CAACvJ,EAAAA,GAAKmG,EAAAA,IAAQQ,QAAQvc,IAAQ,EAAI,IAAM,IACnDyrB,EAAgBzrB,IAAQugB,EAAOpB,GAAQwM,CACzC,GACF,CAEA,OAAOF,CACT,+BChEe,SAASjM,EAAgBjmB,EAAO0K,GAC7C,OAAOA,EAAKkV,QAAO,SAAUyS,EAAS5rB,GAEpC,OADA4rB,EAAQ5rB,GAAOzG,EACRqyB,CACT,GAAG,CAAC,EACN,+CCJe,SAAS1M,EAAiBjI,GACvC,OAAOA,EAAUliB,MAAM,KAAK,EAC9B,+CCHe,SAASgzB,IACtB,MAAO,CACLnS,IAAK,EACLkG,MAAO,EACPC,OAAQ,EACRpG,KAAM,EAEV,+CCPe,SAASyJ,EAAyBnI,GAC/C,MAAO,CAAC,MAAO,UAAUsF,QAAQtF,IAAc,EAAI,IAAM,GAC3D,+CCFe,SAASqL,EAAarL,GACnC,OAAOA,EAAUliB,MAAM,KAAK,EAC9B,mFCFO,IAAIsrB,EAAMnE,KAAKmE,IACXD,EAAMlE,KAAKkE,IACXhM,EAAQ8H,KAAK9H,kECDT,SAASmL,EAAmBD,GACzC,OAAOtb,OAAOmU,OAAO,CAAC,GAAG4P,EAAAA,EAAAA,KAAsBzI,EACjD,+BCHe,SAAS3C,IACtB,IAAIkP,EAASC,UAAUC,cAEvB,OAAc,MAAVF,GAAkBA,EAAOG,QAAU/3B,MAAMC,QAAQ23B,EAAOG,QACnDH,EAAOG,OAAO3hC,KAAI,SAAU1E,GACjC,OAAOA,EAAKsmC,MAAQ,IAAMtmC,EAAKumC,OACjC,IAAG9vB,KAAK,KAGH0vB,UAAUK,SACnB,sFCTO,SAAS3L,EAAOJ,EAAK7mB,EAAO8mB,GACjC,OAAOsI,EAAAA,EAAAA,IAAQvI,GAAKsI,EAAAA,EAAAA,IAAQnvB,EAAO8mB,GACrC,CACO,SAASkJ,EAAenJ,EAAK7mB,EAAO8mB,GACzC,IAAI+L,EAAI5L,EAAOJ,EAAK7mB,EAAO8mB,GAC3B,OAAO+L,EAAI/L,EAAMA,EAAM+L,CACzB,uQCAYC,uHAAZ,SAAYA,GAQVA,EAAA,UAOAA,EAAA,YAMAA,EAAA,iBACD,CAtBD,CAAYA,IAAAA,EAsBX,KAqKD,MAAMC,EAAoB,WAqKV,SAAAC,EACdvU,GAoBA,YApBA,IAAAA,IAAAA,EAAiC,CAAC,GAoB3BwU,GAlBP,SACEnjC,EACAojC,GAEA,IAAI,SAAEvtB,EAAQ,OAAEwtB,EAAM,KAAE7J,GAASx5B,EAAOC,SACxC,OAAOqjC,EACL,GACA,CAAEztB,WAAUwtB,SAAQ7J,QAEnB4J,EAAcxU,OAASwU,EAAcxU,MAAM2U,KAAQ,KACnDH,EAAcxU,OAASwU,EAAcxU,MAAMjY,KAAQ,UAExD,IAEA,SAA2B3W,EAAgBgnB,GACzC,MAAqB,kBAAPA,EAAkBA,EAAKwc,EAAWxc,EAClD,GAKE,KACA2H,EAEJ,CAyGgB,SAAA8U,EAAUvzB,EAAY9P,GACpC,IAAc,IAAV8P,GAA6B,OAAVA,GAAmC,qBAAVA,EAC9C,MAAM,IAAIzQ,MAAMW,EAEpB,CAEgB,SAAAsjC,EAAQC,EAAWvjC,GACjC,IAAKujC,EAAM,CAEc,qBAAZv1B,SAAyBA,QAAQw1B,KAAKxjC,GAEjD,IAME,MAAM,IAAIX,MAAMW,EAEjB,CAAC,MAAOma,GAAI,CACd,CACH,CASA,SAASspB,EAAgB5jC,EAAoBiB,GAC3C,MAAO,CACLqiC,IAAKtjC,EAAS2uB,MACdjY,IAAK1W,EAAS0W,IACdmtB,IAAK5iC,EAET,CAKM,SAAUoiC,EACdlT,EACApJ,EACA4H,EACAjY,GAcA,YAfA,IAAAiY,IAAAA,EAAa,MAGDmV,EAAA,CACVluB,SAA6B,kBAAZua,EAAuBA,EAAUA,EAAQva,SAC1DwtB,OAAQ,GACR7J,KAAM,IACY,kBAAPxS,EAAkBgd,EAAUhd,GAAMA,EAAE,CAC/C4H,QAKAjY,IAAMqQ,GAAOA,EAAgBrQ,KAAQA,GAjChCkc,KAAKoR,SAASv1B,SAAS,IAAIw1B,OAAO,EAAG,IAoC9C,CAKgB,SAAAV,EAAU/mC,GAIV,IAJW,SACzBoZ,EAAW,IAAG,OACdwtB,EAAS,GAAE,KACX7J,EAAO,IACO/8B,EAKd,OAJI4mC,GAAqB,MAAXA,IACZxtB,GAAiC,MAArBwtB,EAAOc,OAAO,GAAad,EAAS,IAAMA,GACpD7J,GAAiB,MAATA,IACV3jB,GAA+B,MAAnB2jB,EAAK2K,OAAO,GAAa3K,EAAO,IAAMA,GAC7C3jB,CACT,CAKM,SAAUmuB,EAAUI,GACxB,IAAIC,EAA4B,CAAC,EAEjC,GAAID,EAAM,CACR,IAAIE,EAAYF,EAAKlR,QAAQ,KACzBoR,GAAa,IACfD,EAAW7K,KAAO4K,EAAKF,OAAOI,GAC9BF,EAAOA,EAAKF,OAAO,EAAGI,IAGxB,IAAIC,EAAcH,EAAKlR,QAAQ,KAC3BqR,GAAe,IACjBF,EAAWhB,OAASe,EAAKF,OAAOK,GAChCH,EAAOA,EAAKF,OAAO,EAAGK,IAGpBH,IACFC,EAAWxuB,SAAWuuB,EAEzB,CAED,OAAOC,CACT,CASA,SAASlB,EACPqB,EACAC,EACAC,EACA/V,QAAA,IAAAA,IAAAA,EAA6B,CAAC,GAE9B,IAAI,OAAE3uB,EAAS0d,SAASsW,YAAY,SAAE2Q,GAAW,GAAUhW,EACvDyU,EAAgBpjC,EAAO4kC,QACvBC,EAAS7B,EAAO8B,IAChBC,EAA4B,KAE5B7jC,EAAQ8jC,IASZ,SAASA,IAEP,OADY5B,EAAcxU,OAAS,CAAEkV,IAAK,OAC7BA,GACf,CAEA,SAASmB,IACPJ,EAAS7B,EAAO8B,IAChB,IAAII,EAAYF,IACZG,EAAqB,MAAbD,EAAoB,KAAOA,EAAYhkC,EACnDA,EAAQgkC,EACJH,GACFA,EAAS,CAAEF,SAAQ5kC,SAAU2kC,EAAQ3kC,SAAUklC,SAEnD,CA+CA,SAASC,EAAUpe,GAIjB,IAAIqe,EACyB,SAA3BrlC,EAAOC,SAASqlC,OACZtlC,EAAOC,SAASqlC,OAChBtlC,EAAOC,SAAS2I,KAElBA,EAAqB,kBAAPoe,EAAkBA,EAAKwc,EAAWxc,GASpD,OALApe,EAAOA,EAAK8wB,QAAQ,KAAM,OAC1B+J,EACE4B,EACsE,sEAAAz8B,GAEjE,IAAI28B,IAAI38B,EAAMy8B,EACvB,CApFa,MAATnkC,IACFA,EAAQ,EACRkiC,EAAcoC,aAAYzB,EAAM,GAAAX,EAAcxU,MAAO,CAAAkV,IAAK5iC,IAAS,KAoFrE,IAAI0jC,EAAmB,CACrB,UAAIC,GACF,OAAOA,GAET,YAAI5kC,GACF,OAAOukC,EAAYxkC,EAAQojC,IAE7BqC,MAAAA,CAAOlY,GACL,GAAIwX,EACF,MAAM,IAAItlC,MAAM,8CAKlB,OAHAO,EAAOs5B,iBAAiB2J,EAAmBgC,GAC3CF,EAAWxX,EAEJ,KACLvtB,EAAOu5B,oBAAoB0J,EAAmBgC,GAC9CF,EAAW,IAAI,GAGnBN,WAAWzd,GACFyd,EAAWzkC,EAAQgnB,GAE5Boe,YACAM,cAAAA,CAAe1e,GAEb,IAAIvZ,EAAM23B,EAAUpe,GACpB,MAAO,CACLnR,SAAUpI,EAAIoI,SACdwtB,OAAQ51B,EAAI41B,OACZ7J,KAAM/rB,EAAI+rB,OAGdxvB,KAlGF,SAAcgd,EAAQ4H,GACpBiW,EAAS7B,EAAO2C,KAChB,IAAI1lC,EAAWqjC,EAAesB,EAAQ3kC,SAAU+mB,EAAI4H,GAChD8V,GAAkBA,EAAiBzkC,EAAU+mB,GAEjD9lB,EAAQ8jC,IAAa,EACrB,IAAIY,EAAe/B,EAAgB5jC,EAAUiB,GACzCuM,EAAMm3B,EAAQH,WAAWxkC,GAG7B,IACEmjC,EAAcyC,UAAUD,EAAc,GAAIn4B,GAC1C,MAAO9P,GAKP,GAAIA,aAAiBmoC,cAA+B,mBAAfnoC,EAAMyD,KACzC,MAAMzD,EAIRqC,EAAOC,SAAS6uB,OAAOrhB,EACxB,CAEGk3B,GAAYI,GACdA,EAAS,CAAEF,SAAQ5kC,SAAU2kC,EAAQ3kC,SAAUklC,MAAO,GAE1D,EAuEEzL,QArEF,SAAiB1S,EAAQ4H,GACvBiW,EAAS7B,EAAO+C,QAChB,IAAI9lC,EAAWqjC,EAAesB,EAAQ3kC,SAAU+mB,EAAI4H,GAChD8V,GAAkBA,EAAiBzkC,EAAU+mB,GAEjD9lB,EAAQ8jC,IACR,IAAIY,EAAe/B,EAAgB5jC,EAAUiB,GACzCuM,EAAMm3B,EAAQH,WAAWxkC,GAC7BmjC,EAAcoC,aAAaI,EAAc,GAAIn4B,GAEzCk3B,GAAYI,GACdA,EAAS,CAAEF,SAAQ5kC,SAAU2kC,EAAQ3kC,SAAUklC,MAAO,GAE1D,EAyDEa,GAAGC,GACM7C,EAAc4C,GAAGC,IAI5B,OAAOrB,CACT,CC7tBA,IAAYsB,GAAZ,SAAYA,GACVA,EAAA,YACAA,EAAA,oBACAA,EAAA,oBACAA,EAAA,aACD,CALD,CAAYA,IAAAA,EAKX,KAyRiC,IAAItZ,IAAuB,CAC3D,OACA,gBACA,OACA,KACA,QACA,aAoNI,SAAUuZ,EAGdC,EACAC,EACAC,GAEA,YAFQ,IAARA,IAAAA,EAAW,KAEJC,EAAgBH,EAAQC,EAAaC,GAAU,EACxD,CAEM,SAAUC,EAGdH,EACAC,EACAC,EACAE,GAEA,IAGI3wB,EAAW4wB,GAFU,kBAAhBJ,EAA2BrC,EAAUqC,GAAeA,GAEvBxwB,UAAY,IAAKywB,GAEvD,GAAgB,MAAZzwB,EACF,OAAO,KAGT,IAAI6wB,EAAWC,EAAcP,IAmM/B,SAA2BM,GACzBA,EAAS5Z,MAAK,CAACsO,EAAGC,IAChBD,EAAEwL,QAAUvL,EAAEuL,MACVvL,EAAEuL,MAAQxL,EAAEwL,MAyCpB,SAAwBxL,EAAaC,GACnC,IAAIwL,EACFzL,EAAEv7B,SAAWw7B,EAAEx7B,QAAUu7B,EAAEmB,MAAM,GAAI,GAAGN,OAAM,CAACgK,EAAGvjB,IAAMujB,IAAM5K,EAAE3Y,KAElE,OAAOmkB,EAKHzL,EAAEA,EAAEv7B,OAAS,GAAKw7B,EAAEA,EAAEx7B,OAAS,GAG/B,CACN,CArDQinC,CACE1L,EAAE2L,WAAW/lC,KAAKgmC,GAASA,EAAKC,gBAChC5L,EAAE0L,WAAW/lC,KAAKgmC,GAASA,EAAKC,kBAG1C,CA3MEC,CAAkBR,GAElB,IAAIS,EAAU,KACd,IAAK,IAAIzkB,EAAI,EAAc,MAAXykB,GAAmBzkB,EAAIgkB,EAAS7mC,SAAU6iB,EAAG,CAO3D,IAAI0kB,EAAUC,EAAWxxB,GACzBsxB,EAAUG,EACRZ,EAAShkB,GACT0kB,EACAZ,EAEH,CAED,OAAOW,CACT,CAyCA,SAASR,EAGPP,EACAM,EACAa,EACAC,QAF2C,IAA3Cd,IAAAA,EAA2C,SAC3C,IAAAa,IAAAA,EAA4C,SAClC,IAAVC,IAAAA,EAAa,IAEb,IAAIC,EAAeA,CACjBC,EACAxmC,EACAymC,KAEA,IAAIX,EAAmC,CACrCW,kBACmB5jC,IAAjB4jC,EAA6BD,EAAMtD,MAAQ,GAAKuD,EAClDC,eAAuC,IAAxBF,EAAME,cACrBX,cAAe/lC,EACfwmC,SAGEV,EAAKW,aAAaE,WAAW,OAC/BpE,EACEuD,EAAKW,aAAaE,WAAWL,GAC7B,wBAAwBR,EAAKW,aAA7B,wBACMH,EADN,4GAKFR,EAAKW,aAAeX,EAAKW,aAAapL,MAAMiL,EAAW3nC,SAGzD,IAAIukC,EAAO0D,EAAU,CAACN,EAAYR,EAAKW,eACnCZ,EAAaQ,EAAYnoC,OAAO4nC,GAKhCU,EAAMhnC,UAAYgnC,EAAMhnC,SAASb,OAAS,IAC5C4jC,GAGkB,IAAhBiE,EAAMxmC,MACN,4FACuCkjC,EAAI,MAE7CuC,EAAce,EAAMhnC,SAAUgmC,EAAUK,EAAY3C,KAKpC,MAAdsD,EAAMtD,MAAiBsD,EAAMxmC,QAIjCwlC,EAAS18B,KAAK,CACZo6B,OACAwC,MAAOmB,EAAa3D,EAAMsD,EAAMxmC,OAChC6lC,cACA,EAaJ,OAXAX,EAAOnhC,SAAQ,CAACyiC,EAAOxmC,KAAS,IAAA8mC,EAE9B,GAAmB,KAAfN,EAAMtD,MAA0B,OAAX4D,EAACN,EAAMtD,OAAN4D,EAAYp2B,SAAS,KAG7C,IAAK,IAAIq2B,KAAYC,EAAwBR,EAAMtD,MACjDqD,EAAaC,EAAOxmC,EAAO+mC,QAH7BR,EAAaC,EAAOxmC,EAKrB,IAGIwlC,CACT,CAgBA,SAASwB,EAAwB9D,GAC/B,IAAI+D,EAAW/D,EAAK14B,MAAM,KAC1B,GAAwB,IAApBy8B,EAAStoC,OAAc,MAAO,GAElC,IAAKuoC,KAAUC,GAAQF,EAGnBG,EAAaF,EAAMG,SAAS,KAE5BC,EAAWJ,EAAM1O,QAAQ,MAAO,IAEpC,GAAoB,IAAhB2O,EAAKxoC,OAGP,OAAOyoC,EAAa,CAACE,EAAU,IAAM,CAACA,GAGxC,IAAIC,EAAeP,EAAwBG,EAAKt1B,KAAK,MAEjD8Z,EAAmB,GAqBvB,OAZAA,EAAO7iB,QACFy+B,EAAaznC,KAAK0nC,GACP,KAAZA,EAAiBF,EAAW,CAACA,EAAUE,GAAS31B,KAAK,QAKrDu1B,GACFzb,EAAO7iB,QAAQy+B,GAIV5b,EAAO7rB,KAAKinC,GACjB7D,EAAKyD,WAAW,MAAqB,KAAbI,EAAkB,IAAMA,GAEpD,CAaA,MAAMU,EAAU,YACVC,EAAsB,EACtBC,EAAkB,EAClBC,EAAoB,EACpBC,EAAqB,GACrBC,GAAgB,EAChBC,EAAWC,GAAoB,MAANA,EAE/B,SAASnB,EAAa3D,EAAcljC,GAClC,IAAIinC,EAAW/D,EAAK14B,MAAM,KACtBy9B,EAAehB,EAAStoC,OAS5B,OARIsoC,EAASl6B,KAAKg7B,KAChBE,GAAgBH,GAGd9nC,IACFioC,GAAgBN,GAGXV,EACJlY,QAAQiZ,IAAOD,EAAQC,KACvBpZ,QACC,CAAC8W,EAAOwC,IACNxC,GACC+B,EAAQr/B,KAAK8/B,GACVR,EACY,KAAZQ,EACAN,EACAC,IACNI,EAEN,CAiBA,SAAS7B,EAIP+B,EACAxzB,EACA2wB,QAAY,IAAZA,IAAAA,GAAe,GAEf,IAAI,WAAEO,GAAesC,EAEjBC,EAAgB,CAAC,EACjBC,EAAkB,IAClBpC,EAA2D,GAC/D,IAAK,IAAIzkB,EAAI,EAAGA,EAAIqkB,EAAWlnC,SAAU6iB,EAAG,CAC1C,IAAIskB,EAAOD,EAAWrkB,GAClByS,EAAMzS,IAAMqkB,EAAWlnC,OAAS,EAChC2pC,EACkB,MAApBD,EACI1zB,EACAA,EAAS0mB,MAAMgN,EAAgB1pC,SAAW,IAC5C4pC,EAAQC,EACV,CAAEtF,KAAM4C,EAAKW,aAAcC,cAAeZ,EAAKY,cAAezS,OAC9DqU,GAGE9B,EAAQV,EAAKU,MAkBjB,IAfG+B,GACDtU,GACAqR,IACCO,EAAWA,EAAWlnC,OAAS,GAAG6nC,MAAMxmC,QAEzCuoC,EAAQC,EACN,CACEtF,KAAM4C,EAAKW,aACXC,cAAeZ,EAAKY,cACpBzS,KAAK,GAEPqU,KAICC,EACH,OAAO,KAGT9uB,OAAOmU,OAAOwa,EAAeG,EAAMljB,QAEnC4gB,EAAQn9B,KAAK,CAEXuc,OAAQ+iB,EACRzzB,SAAUiyB,EAAU,CAACyB,EAAiBE,EAAM5zB,WAC5C8zB,aAAcC,EACZ9B,EAAU,CAACyB,EAAiBE,EAAME,gBAEpCjC,UAGyB,MAAvB+B,EAAME,eACRJ,EAAkBzB,EAAU,CAACyB,EAAiBE,EAAME,eAEvD,CAED,OAAOxC,CACT,CAiHgB,SAAAuC,EAIdG,EACAh0B,GAEuB,kBAAZg0B,IACTA,EAAU,CAAEzF,KAAMyF,EAASjC,eAAe,EAAOzS,KAAK,IAGxD,IAAK2U,EAASC,GA4ChB,SACE3F,EACAwD,EACAzS,QADa,IAAbyS,IAAAA,GAAgB,QACb,IAAHzS,IAAAA,GAAM,GAENuO,EACW,MAATU,IAAiBA,EAAKmE,SAAS,MAAQnE,EAAKmE,SAAS,MACrD,eAAenE,EAAf,oCACMA,EAAK1K,QAAQ,MAAO,MAD1B,qIAGsC0K,EAAK1K,QAAQ,MAAO,MAAK,MAGjE,IAAInT,EAA8B,GAC9ByjB,EACF,IACA5F,EACG1K,QAAQ,UAAW,IACnBA,QAAQ,OAAQ,KAChBA,QAAQ,qBAAsB,QAC9BA,QACC,qBACA,CAAC/V,EAAWsmB,EAAmB3B,KAC7B/hB,EAAOvc,KAAK,CAAEigC,YAAW3B,WAA0B,MAAdA,IAC9BA,EAAa,eAAiB,gBAIzClE,EAAKmE,SAAS,MAChBhiB,EAAOvc,KAAK,CAAEigC,UAAW,MACzBD,GACW,MAAT5F,GAAyB,OAATA,EACZ,QACA,qBACGjP,EAET6U,GAAgB,QACE,KAAT5F,GAAwB,MAATA,IAQxB4F,GAAgB,iBAKlB,IAAIF,EAAU,IAAII,OAAOF,EAAcpC,OAAgB7jC,EAAY,KAEnE,MAAO,CAAC+lC,EAASvjB,EACnB,CAjGkC4jB,CAC9BN,EAAQzF,KACRyF,EAAQjC,cACRiC,EAAQ1U,KAGNsU,EAAQ5zB,EAAS4zB,MAAMK,GAC3B,IAAKL,EAAO,OAAO,KAEnB,IAAIF,EAAkBE,EAAM,GACxBE,EAAeJ,EAAgB7P,QAAQ,UAAW,MAClD0Q,EAAgBX,EAAMlN,MAAM,GAuBhC,MAAO,CACLhW,OAvBmBwjB,EAAeja,QAClC,CAACua,EAAI5tC,EAA6ByE,KAAS,IAApC,UAAE+oC,EAAS,WAAE3B,GAAY7rC,EAG9B,GAAkB,MAAdwtC,EAAmB,CACrB,IAAIK,EAAaF,EAAclpC,IAAU,GACzCyoC,EAAeJ,EACZhN,MAAM,EAAGgN,EAAgB1pC,OAASyqC,EAAWzqC,QAC7C65B,QAAQ,UAAW,KACvB,CAED,MAAMxpB,EAAQk6B,EAAclpC,GAM5B,OAJEmpC,EAAKJ,GADH3B,IAAep4B,OACCnM,GAECmM,GAAS,IAAIwpB,QAAQ,OAAQ,KAE3C2Q,CAAI,GAEb,CAAC,GAKDx0B,SAAU0zB,EACVI,eACAE,UAEJ,CA2DM,SAAUxC,EAAWn3B,GACzB,IACE,OAAOA,EACJxE,MAAM,KACN1K,KAAK+hC,GAAMwH,mBAAmBxH,GAAGrJ,QAAQ,MAAO,SAChD3mB,KAAK,KACR,MAAOpV,GAQP,OAPA+lC,GACE,EACA,iBAAiBxzB,EAAjB,oHAEevS,EAAK,MAGfuS,CACR,CACH,CAKgB,SAAAu2B,EACd5wB,EACAywB,GAEA,GAAiB,MAAbA,EAAkB,OAAOzwB,EAE7B,IAAKA,EAASmd,cAAc6U,WAAWvB,EAAStT,eAC9C,OAAO,KAKT,IAAIwX,EAAalE,EAASiC,SAAS,KAC/BjC,EAASzmC,OAAS,EAClBymC,EAASzmC,OACT4qC,EAAW50B,EAASsuB,OAAOqG,GAC/B,OAAIC,GAAyB,MAAbA,EAEP,KAGF50B,EAAS0mB,MAAMiO,IAAe,GACvC,CA2CA,SAASE,EACPC,EACA/wB,EACAgxB,EACAxG,GAEA,MACE,qBAAqBuG,EAArB,2CACQ/wB,EAAK,YAAa3c,KAAK2B,UAC7BwlC,GAFF,yCAIQwG,EAJR,2HAOJ,CAyBM,SAAUC,EAEd1D,GACA,OAAOA,EAAQlX,QACb,CAACwZ,EAAOvoC,IACI,IAAVA,GAAgBuoC,EAAM/B,MAAMtD,MAAQqF,EAAM/B,MAAMtD,KAAKvkC,OAAS,GAEpE,CAIgB,SAAAirC,EAEd3D,EAAc4D,GACd,IAAIC,EAAcH,EAA2B1D,GAK7C,OAAI4D,EACKC,EAAYhqC,KAAI,CAACyoC,EAAO3F,IAC7BA,IAAQkH,EAAYnrC,OAAS,EAAI4pC,EAAM5zB,SAAW4zB,EAAME,eAIrDqB,EAAYhqC,KAAKyoC,GAAUA,EAAME,cAC1C,CAKM,SAAUsB,EACdC,EACAC,EACAC,EACAC,GAEA,IAAIrkB,OAFU,IAAdqkB,IAAAA,GAAiB,GAGI,kBAAVH,EACTlkB,EAAKgd,EAAUkH,IAEflkB,EAAE+c,EAAQ,GAAAmH,GAEVzH,GACGzc,EAAGnR,WAAamR,EAAGnR,SAASjE,SAAS,KACtC84B,EAAoB,IAAK,WAAY,SAAU1jB,IAEjDyc,GACGzc,EAAGnR,WAAamR,EAAGnR,SAASjE,SAAS,KACtC84B,EAAoB,IAAK,WAAY,OAAQ1jB,IAE/Cyc,GACGzc,EAAGqc,SAAWrc,EAAGqc,OAAOzxB,SAAS,KAClC84B,EAAoB,IAAK,SAAU,OAAQ1jB,KAI/C,IAGItD,EAHA4nB,EAAwB,KAAVJ,GAAgC,KAAhBlkB,EAAGnR,SACjC01B,EAAaD,EAAc,IAAMtkB,EAAGnR,SAaxC,GAAkB,MAAd01B,EACF7nB,EAAO0nB,MACF,CACL,IAAII,EAAqBL,EAAetrC,OAAS,EAMjD,IAAKwrC,GAAkBE,EAAW1D,WAAW,MAAO,CAClD,IAAI4D,EAAaF,EAAW7/B,MAAM,KAElC,KAAyB,OAAlB+/B,EAAW,IAChBA,EAAWC,QACXF,GAAsB,EAGxBxkB,EAAGnR,SAAW41B,EAAW14B,KAAK,IAC/B,CAED2Q,EAAO8nB,GAAsB,EAAIL,EAAeK,GAAsB,GACvE,CAED,IAAIpH,WAzKsBpd,EAAQ2kB,QAAY,IAAZA,IAAAA,EAAe,KACjD,IACE91B,SAAU01B,EAAU,OACpBlI,EAAS,GAAE,KACX7J,EAAO,IACS,kBAAPxS,EAAkBgd,EAAUhd,GAAMA,EAEzCnR,EAAW01B,EACXA,EAAW1D,WAAW,KACpB0D,EAWR,SAAyB5D,EAAsBgE,GAC7C,IAAIxD,EAAWwD,EAAajS,QAAQ,OAAQ,IAAIhuB,MAAM,KAYtD,OAXuBi8B,EAAaj8B,MAAM,KAEzBzG,SAASmkC,IACR,OAAZA,EAEEjB,EAAStoC,OAAS,GAAGsoC,EAASyD,MACb,MAAZxC,GACTjB,EAASn+B,KAAKo/B,EACf,IAGIjB,EAAStoC,OAAS,EAAIsoC,EAASp1B,KAAK,KAAO,GACpD,CAxBQ84B,CAAgBN,EAAYI,GAC9BA,EAEJ,MAAO,CACL91B,WACAwtB,OAAQyI,EAAgBzI,GACxB7J,KAAMuS,EAAcvS,GAExB,CAuJawS,CAAYhlB,EAAItD,GAGvBuoB,EACFV,GAA6B,MAAfA,GAAsBA,EAAWhD,SAAS,KAEtD2D,GACDZ,GAA8B,MAAfC,IAAuBH,EAAiB7C,SAAS,KAQnE,OANGnE,EAAKvuB,SAAS0yB,SAAS,OACvB0D,IAA4BC,IAE7B9H,EAAKvuB,UAAY,KAGZuuB,CACT,OAiBa0D,EAAaqE,GACxBA,EAAMp5B,KAAK,KAAK2mB,QAAQ,SAAU,KAKvBkQ,EAAqB/zB,GAChCA,EAAS6jB,QAAQ,OAAQ,IAAIA,QAAQ,OAAQ,KAKlCoS,EAAmBzI,GAC7BA,GAAqB,MAAXA,EAEPA,EAAOwE,WAAW,KAClBxE,EACA,IAAMA,EAHN,GAQO0I,EAAiBvS,GAC3BA,GAAiB,MAATA,EAAoBA,EAAKqO,WAAW,KAAOrO,EAAO,IAAMA,EAAzC,GAwDpB,MAAO4S,UAA6B3sC,OAySpC,SAAU4sC,EAAqB1uC,GACnC,OACW,MAATA,GACwB,kBAAjBA,EAAM+B,QACe,kBAArB/B,EAAM2uC,YACa,mBAAnB3uC,EAAM4uC,UACb,SAAU5uC,CAEd,CClgCA,MAAM6uC,EAAgD,CACpD,OACA,MACA,QACA,UAMIC,GAJuB,IAAI7f,IAC/B4f,GAG2C,CAC3C,SACGA,IAEuB,IAAI5f,IAAgB6f,GAEpB,IAAI7f,IAAI,CAAC,IAAK,IAAK,IAAK,IAAK,MACf,IAAIA,IAAI,CAAC,IAAK,MAwoFlB8f,OAAO,wEC5zG7C,QAPA,SAAyBx8B,GACvB,MAAMy8B,GAAMC,EAAAA,EAAAA,QAAO18B,GAInB,OAHAnR,EAAAA,EAAAA,YAAU,KACR4tC,EAAIvc,QAAUlgB,CAAK,GAClB,CAACA,IACGy8B,CACT,ECfe,SAASE,EAAiBtf,GACvC,MAAMof,EAAMG,EAAgBvf,GAC5B,OAAOwf,EAAAA,EAAAA,cAAY,WACjB,OAAOJ,EAAIvc,SAAWuc,EAAIvc,WAAQre,UACpC,GAAG,CAAC46B,GACN,8DCNA,MAAMK,EAAkC,qBAAXC,EAAAA,GAE7BA,EAAAA,EAAOxK,WAEsB,gBAA7BwK,EAAAA,EAAOxK,UAAUyK,QAWjB,EAVkC,qBAAbxvB,UAUGsvB,EAAgBG,EAAAA,gBAAkBpuC,EAAAA,sECf1D,MAAMquC,EAAUT,GAAQA,GAAsB,oBAARA,EAA2Bz8B,IAC/Dy8B,EAAIvc,QAAUlgB,CAAK,EADsCy8B,EA+B3D,QAHA,SAAuBU,EAAMC,GAC3B,OAAOC,EAAAA,EAAAA,UAAQ,IA1BV,SAAmBF,EAAMC,GAC9B,MAAMlS,EAAIgS,EAAQC,GACZhS,EAAI+R,EAAQE,GAClB,OAAOp9B,IACDkrB,GAAGA,EAAElrB,GACLmrB,GAAGA,EAAEnrB,EAAM,CAEnB,CAmBuBs9B,CAAUH,EAAMC,IAAO,CAACD,EAAMC,GACrD,0HC7BkB,IAAIG,+BCFtB,MAAMC,EAAY,CAAC,aAgBnB,MAAMC,EAAsB31B,EAAAA,YAAiB,CAACvb,EAAMkwC,KAClD,IAAI,UACAiB,GACEnxC,EACJoxC,EAnBJ,SAAuCC,EAAGvzB,GAAK,GAAI,MAAQuzB,EAAG,MAAO,CAAC,EAAG,IAAIC,EAAI,CAAC,EAAG,IAAK,IAAI9H,KAAK6H,EAAG,GAAI,CAAC,EAAE3V,eAAerhB,KAAKg3B,EAAG7H,GAAI,CAAE,GAAI1rB,EAAE2Y,QAAQ+S,IAAM,EAAG,SAAU8H,EAAE9H,GAAK6H,EAAE7H,EAAI,CAAE,OAAO8H,CAAG,CAmBxLC,CAA8BvxC,EAAMixC,GAC9C,MAAOO,IAAeC,EAAAA,EAAAA,IAAevzB,OAAOmU,OAAO,CACjDqf,QAAS,KACRN,IACGO,GAAgBvB,EAAAA,EAAAA,IAAiBtyB,IACrC0zB,EAAYL,UAAUrzB,GACT,MAAbqzB,GAA6BA,EAAUrzB,EAAE,IAE3C,OAnB4B3R,EAmBVilC,EAAMjlC,OAlBQ,MAAhBA,EAAKW,QAkB2B,WAAfskC,EAAMQ,MAOnB7tC,EAAAA,EAAAA,KAAK,IAAKma,OAAOmU,OAAO,CAC1C6d,IAAKA,GACJkB,EAAO,CACRD,UAAWA,MATSptC,EAAAA,EAAAA,KAAK,IAAKma,OAAOmU,OAAO,CAC1C6d,IAAKA,GACJkB,EAAOI,EAAa,CACrBL,UAAWQ,KAvBV,IAAuBxlC,CA8BzB,IAEL+kC,EAAOW,YAAc,SACrB,yFC1CA,MAAMZ,EAAY,CAAC,KAAM,YAOlB,SAASQ,EAAcjtC,GAU3B,IAV4B,QAC7BktC,EAAO,SACPr+B,EAAQ,KACRlH,EAAI,OACJC,EAAM,IACN0lC,EAAG,KACHF,EAAI,QACJzsC,EAAO,SACP4sC,EAAW,EAAC,KACZ1lC,GACD7H,EACMktC,IAEDA,EADU,MAARvlC,GAA0B,MAAVC,GAAyB,MAAP0lC,EAC1B,IAEA,UAGd,MAAMvH,EAAO,CACXmH,WAEF,GAAgB,WAAZA,EACF,MAAO,CAAC,CACNrlC,KAAMA,GAAQ,SACdgH,YACCk3B,GAEL,MAAMyH,EAAc1lC,KACd+G,GAAwB,MAAZq+B,GA/Bb,SAAuBvlC,GAC5B,OAAQA,GAAwB,MAAhBA,EAAKW,MACvB,CA6BuCmlC,CAAc9lC,KAC/CG,EAAMM,iBAEJyG,EACF/G,EAAM4lC,kBAGG,MAAX/sC,GAA2BA,EAAQmH,EAAM,EAe3C,MAPgB,MAAZolC,IAEFvlC,IAASA,EAAO,KACZkH,IACFlH,OAAO7E,IAGJ,CAAC,CACNsqC,KAAc,MAARA,EAAeA,EAAO,SAG5Bv+B,cAAU/L,EACVyqC,SAAU1+B,OAAW/L,EAAYyqC,EACjC5lC,OACAC,OAAoB,MAAZslC,EAAkBtlC,OAAS9E,EACnC,gBAAkB+L,QAAW/L,EAC7BwqC,IAAiB,MAAZJ,EAAkBI,OAAMxqC,EAC7BnC,QAAS6sC,EACTb,UAxBoB7kC,IACF,MAAdA,EAAM4N,MACR5N,EAAMM,iBACNolC,EAAY1lC,GACd,GAqBCi+B,EACL,CACA,MAAM4H,EAAsB52B,EAAAA,YAAiB,CAACvb,EAAMkwC,KAClD,IACIkC,GAAIC,EAAM,SACVh/B,GACErT,EACJoxC,EA3EJ,SAAuCC,EAAGvzB,GAAK,GAAI,MAAQuzB,EAAG,MAAO,CAAC,EAAG,IAAIC,EAAI,CAAC,EAAG,IAAK,IAAI9H,KAAK6H,EAAG,GAAI,CAAC,EAAE3V,eAAerhB,KAAKg3B,EAAG7H,GAAI,CAAE,GAAI1rB,EAAE2Y,QAAQ+S,IAAM,EAAG,SAAU8H,EAAE9H,GAAK6H,EAAE7H,EAAI,CAAE,OAAO8H,CAAG,CA2ExLC,CAA8BvxC,EAAMixC,GAC9C,MAAOO,GACLE,QAASY,IACNb,EAAevzB,OAAOmU,OAAO,CAChCqf,QAASW,EACTh/B,YACC+9B,IACH,OAAoBrtC,EAAAA,EAAAA,KAAKuuC,EAAWp0B,OAAOmU,OAAO,CAAC,EAAG+e,EAAOI,EAAa,CACxEtB,IAAKA,IACJ,IAELiC,EAAON,YAAc,SACrB,iECxFO,MAAMU,EAAmB,cACnBC,EAAkB,OACxB,SAASC,EAASC,GACvB,MAAO,GAAP/vC,OAAU4vC,GAAgB5vC,OAAG+vC,EAC/B,CACO,SAASC,EAASD,GACvB,MAAO,GAAP/vC,OAAU6vC,GAAe7vC,OAAG+vC,EAC9B,gDCNA,MACA,UADqCn3B,cAAoB,8FCDrDmV,EAAMxS,OAAO00B,UAAUlX,eAE3B,SAASmE,EAAKgT,EAAMC,EAAK54B,GACxB,IAAKA,KAAO24B,EAAK10B,OAChB,GAAI40B,EAAO74B,EAAK44B,GAAM,OAAO54B,CAE/B,CAEO,SAAS64B,EAAOC,EAAKC,GAC3B,IAAIC,EAAM3Z,EAAK4Z,EACf,GAAIH,IAAQC,EAAK,OAAO,EAExB,GAAID,GAAOC,IAAQC,EAAKF,EAAII,eAAiBH,EAAIG,YAAa,CAC7D,GAAIF,IAASn+B,KAAM,OAAOi+B,EAAIK,YAAcJ,EAAII,UAChD,GAAIH,IAASzF,OAAQ,OAAOuF,EAAI/gC,aAAeghC,EAAIhhC,WAEnD,GAAIihC,IAAS/kC,MAAO,CACnB,IAAKorB,EAAIyZ,EAAI5vC,UAAY6vC,EAAI7vC,OAC5B,KAAOm2B,KAASwZ,EAAOC,EAAIzZ,GAAM0Z,EAAI1Z,MAEtC,OAAgB,IAATA,CACR,CAEA,GAAI2Z,IAAS/iB,IAAK,CACjB,GAAI6iB,EAAIM,OAASL,EAAIK,KACpB,OAAO,EAER,IAAK/Z,KAAOyZ,EAAK,CAEhB,IADAG,EAAM5Z,IACoB,kBAAR4Z,KACjBA,EAAMtT,EAAKoT,EAAKE,IACN,OAAO,EAElB,IAAKF,EAAIviB,IAAIyiB,GAAM,OAAO,CAC3B,CACA,OAAO,CACR,CAEA,GAAID,IAASjjB,IAAK,CACjB,GAAI+iB,EAAIM,OAASL,EAAIK,KACpB,OAAO,EAER,IAAK/Z,KAAOyZ,EAAK,CAEhB,IADAG,EAAM5Z,EAAI,KACgB,kBAAR4Z,KACjBA,EAAMtT,EAAKoT,EAAKE,IACN,OAAO,EAElB,IAAKJ,EAAOxZ,EAAI,GAAI0Z,EAAIpxC,IAAIsxC,IAC3B,OAAO,CAET,CACA,OAAO,CACR,CAEA,GAAID,IAASK,YACZP,EAAM,IAAIQ,WAAWR,GACrBC,EAAM,IAAIO,WAAWP,QACf,GAAIC,IAASO,SAAU,CAC7B,IAAKla,EAAIyZ,EAAIU,cAAgBT,EAAIS,WAChC,KAAOna,KAASyZ,EAAIW,QAAQpa,KAAS0Z,EAAIU,QAAQpa,KAElD,OAAgB,IAATA,CACR,CAEA,GAAIga,YAAYK,OAAOZ,GAAM,CAC5B,IAAKzZ,EAAIyZ,EAAIU,cAAgBT,EAAIS,WAChC,KAAOna,KAASyZ,EAAIzZ,KAAS0Z,EAAI1Z,KAElC,OAAgB,IAATA,CACR,CAEA,IAAK2Z,GAAuB,kBAARF,EAAkB,CAErC,IAAKE,KADL3Z,EAAM,EACOyZ,EAAK,CACjB,GAAItiB,EAAIrW,KAAK24B,EAAKE,MAAW3Z,IAAQ7I,EAAIrW,KAAK44B,EAAKC,GAAO,OAAO,EACjE,KAAMA,KAAQD,KAASF,EAAOC,EAAIE,GAAOD,EAAIC,IAAQ,OAAO,CAC7D,CACA,OAAOh1B,OAAOC,KAAK80B,GAAK7vC,SAAWm2B,CACpC,CACD,CAEA,OAAOyZ,IAAQA,GAAOC,IAAQA,CAC/B,eC7DA,QAPA,SAAsB9gB,GACpB,MAAM0hB,GAAYC,EAAAA,EAAAA,KAClB,MAAO,CAAC3hB,EAAM,IAAIme,EAAAA,EAAAA,cAAYyD,IAC5B,GAAKF,IACL,OAAO1hB,EAAM,GAAG4hB,EAAU,GACzB,CAACF,EAAW1hB,EAAM,KACvB,qFCRO,MAAM6hB,GAAeviB,UAAAA,IAAgB,CAC1CI,iBAAkB,CAACoiB,EAAAA,EAAM/a,EAAAA,EAAegb,EAAAA,EAAeC,EAAAA,EAAgB1Z,EAAAA,EAAQ2Z,EAAAA,EAAMjU,EAAAA,EAAiBlH,EAAAA,KCdlGgY,EAAY,CAAC,UAAW,YAAa,WAAY,aAMvD,MAAMoD,EAA8B,CAClC1vC,KAAM,cACNovB,SAAS,EACTR,MAAO,aACPzC,GAAIA,KACN,GAIMwjB,EAA0B,CAC9B3vC,KAAM,kBACNovB,SAAS,EACTR,MAAO,aACPU,OAAQzvB,IAAA,IAAC,MACP2tB,GACD3tB,EAAA,MAAK,KACJ,MAAM,UACJwtB,EAAS,OACTC,GACEE,EAAMI,SACV,GAAI,oBAAqBP,EAAW,CAClC,MAAMuiB,GAAOviB,EAAUjQ,aAAa,qBAAuB,IAAI9S,MAAM,KAAKukB,QAAO9uB,GAAMA,EAAGoI,SAAWmlB,EAAOvtB,KACvG6vC,EAAInxC,OAA2D4uB,EAAUwiB,aAAa,mBAAoBD,EAAIj+B,KAAK,MAAvG0b,EAAUyiB,gBAAgB,mBAC7C,EACD,EACD3jB,GAAI3qB,IAEE,IAFD,MACHgsB,GACDhsB,EACC,IAAIuuC,EACJ,MAAM,OACJziB,EAAM,UACND,GACEG,EAAMI,SACJqf,EAA+D,OAAvD8C,EAAuBziB,EAAOlQ,aAAa,cAAmB,EAAS2yB,EAAqBne,cAC1G,GAAItE,EAAOvtB,IAAe,YAATktC,GAAsB,iBAAkB5f,EAAW,CAClE,MAAMuiB,EAAMviB,EAAUjQ,aAAa,oBACnC,GAAIwyB,IAA8C,IAAvCA,EAAItlC,MAAM,KAAKwnB,QAAQxE,EAAOvtB,IACvC,OAEFstB,EAAUwiB,aAAa,mBAAoBD,EAAM,GAAH5xC,OAAM4xC,EAAG,KAAA5xC,OAAIsvB,EAAOvtB,IAAOutB,EAAOvtB,GAClF,IAGEiwC,EAAkB,GA4GxB,QA5FA,SAAmBC,EAAkBC,GAA0B,IAAX70C,EAAIsV,UAAAlS,OAAA,QAAAkE,IAAAgO,UAAA,GAAAA,UAAA,GAAG,CAAC,GACtD,QACAye,GAAU,EAAI,UACd5C,EAAY,SAAQ,SACpBC,EAAW,WAAU,UACrBpB,EAAY2kB,GACV30C,EACJ80C,EAvEJ,SAAuCzD,EAAGvzB,GAAK,GAAI,MAAQuzB,EAAG,MAAO,CAAC,EAAG,IAAIC,EAAI,CAAC,EAAG,IAAK,IAAI9H,KAAK6H,EAAG,GAAI,CAAC,EAAE3V,eAAerhB,KAAKg3B,EAAG7H,GAAI,CAAE,GAAI1rB,EAAE2Y,QAAQ+S,IAAM,EAAG,SAAU8H,EAAE9H,GAAK6H,EAAE7H,EAAI,CAAE,OAAO8H,CAAG,CAuEvLC,CAA8BvxC,EAAMixC,GAC/C,MAAM8D,GAAgB5E,EAAAA,EAAAA,QAAOngB,GACvBglB,GAAoB7E,EAAAA,EAAAA,UACpB/b,GAASkc,EAAAA,EAAAA,cAAY,KACzB,IAAI2E,EACmD,OAAtDA,EAAwBD,EAAkBrhB,UAA4BshB,EAAsB7gB,QAAQ,GACpG,IACGC,GAAcic,EAAAA,EAAAA,cAAY,KAC9B,IAAI4E,EACoD,OAAvDA,EAAyBF,EAAkBrhB,UAA4BuhB,EAAuB7gB,aAAa,GAC3G,KACI8gB,EAAaC,GAAYC,GAAat0C,EAAAA,EAAAA,UAAS,CACpDowB,YACAiD,SACAC,cACA7B,WAAY,CAAC,EACbC,OAAQ,CACNR,OAAQ,CAAC,EACTgH,MAAO,CAAC,MAGNqc,GAAiBxE,EAAAA,EAAAA,UAAQ,KAAM,CACnCnsC,KAAM,sBACNovB,SAAS,EACTR,MAAO,QACPhD,SAAU,CAAC,iBACXO,GAAI5pB,IAEE,IAFD,MACHirB,GACDjrB,EACC,MAAMurB,EAAS,CAAC,EACVD,EAAa,CAAC,EACpBtU,OAAOC,KAAKgU,EAAMI,UAAU/pB,SAAQC,IAClCgqB,EAAOhqB,GAAW0pB,EAAMM,OAAOhqB,GAC/B+pB,EAAW/pB,GAAW0pB,EAAMK,WAAW/pB,EAAQ,IAEjD2sC,EAAS,CACPjjB,QACAM,SACAD,aACA4B,SACAC,cACAlD,UAAWgB,EAAMhB,WACjB,KAEF,CAACiD,EAAQC,EAAa+gB,IACpBG,GAAgBzE,EAAAA,EAAAA,UAAQ,KACvBiC,EAAOgC,EAAcphB,QAAS3D,KACjC+kB,EAAcphB,QAAU3D,GAEnB+kB,EAAcphB,UACpB,CAAC3D,IAiCJ,OAhCA1tB,EAAAA,EAAAA,YAAU,KACH0yC,EAAkBrhB,SAAYI,GACnCihB,EAAkBrhB,QAAQd,WAAW,CACnC1B,YACAC,WACApB,UAAW,IAAIulB,EAAeD,EAAgBjB,IAC9C,GACD,CAACjjB,EAAUD,EAAWmkB,EAAgBvhB,EAASwhB,KAClDjzC,EAAAA,EAAAA,YAAU,KACR,GAAKyxB,GAA+B,MAApB6gB,GAA6C,MAAjBC,EAQ5C,OALAG,EAAkBrhB,QAAUqgB,EAAaY,EAAkBC,EAAe32B,OAAOmU,OAAO,CAAC,EAAGyiB,EAAQ,CAClG3jB,YACAC,WACApB,UAAW,IAAIulB,EAAejB,EAAyBgB,MAElD,KAC4B,MAA7BN,EAAkBrhB,UACpBqhB,EAAkBrhB,QAAQmB,UAC1BkgB,EAAkBrhB,aAAUrsB,EAC5B8tC,GAAS3I,GAAKvuB,OAAOmU,OAAO,CAAC,EAAGoa,EAAG,CACjCja,WAAY,CAAC,EACbC,OAAQ,CACNR,OAAQ,CAAC,OAGf,CACD,GAGA,CAAC8B,EAAS6gB,EAAkBC,IACxBM,CACT,+DCtJA,MAAMK,EAAOA,OAON,MAAMC,EAAevF,GAAOA,IAAQ,YAAaA,EAAMA,EAAIvc,QAAUuc,GACtEwF,EAAuB,CAC3BC,MAAO,YACPC,QAAS,YACTC,UAAW,eAiFb,QApEA,SAAyB3F,GAGjB,IAHsB4F,EAAcxgC,UAAAlS,OAAA,QAAAkE,IAAAgO,UAAA,GAAAA,UAAA,GAAGkgC,GAAM,SACnDniC,EAAQ,aACR0iC,EAAe,SAChBzgC,UAAAlS,OAAA,QAAAkE,IAAAgO,UAAA,GAAAA,UAAA,GAAG,CAAC,EACH,MAAM0gC,GAA8B7F,EAAAA,EAAAA,SAAO,GACrC8F,GAAoB9F,EAAAA,EAAAA,SAAO,GAC3B+F,GAAqB5F,EAAAA,EAAAA,cAAYxyB,IACrC,MAAMq4B,EAAgBV,EAAavF,GA3BvC,IAAyB5jC,EA4BrB26B,MAAUkP,EAAe,uJACzBH,EAA4BriB,SAAWwiB,OA7BlB7pC,EA6BmDwR,GA5B1Ds4B,SAAW9pC,EAAM+pC,QAAU/pC,EAAMgqC,SAAWhqC,EAAMiqC,YAJpE,SAA0BjqC,GACxB,OAAwB,IAAjBA,EAAMqH,MACf,CA8BmF6iC,CAAiB14B,OAAQkH,EAAAA,EAAAA,GAASmxB,EAAer4B,EAAE1R,SAAW6pC,EAAkBtiB,QAC/JsiB,EAAkBtiB,SAAU,CAAK,GAChC,CAACuc,IACEuG,GAAqBrG,EAAAA,EAAAA,IAAiBtyB,IAC1C,MAAMq4B,EAAgBV,EAAavF,GAC/BiG,IAAiBnxB,EAAAA,EAAAA,GAASmxB,EAAer4B,EAAE1R,QAC7C6pC,EAAkBtiB,SAAU,EAK5BsiB,EAAkBtiB,SAAU,CAC9B,IAEI+iB,GAActG,EAAAA,EAAAA,IAAiBtyB,IAC9Bk4B,EAA4BriB,SAC/BmiB,EAAeh4B,EACjB,KAEFxb,EAAAA,EAAAA,YAAU,KACR,IAAIq0C,EAAoBC,EACxB,GAAIvjC,GAAmB,MAAP68B,EAAa,OAC7B,MAAM2G,GAAM1gB,EAAAA,EAAAA,GAAcsf,EAAavF,IACjC4G,EAAcD,EAAItf,aAAeh0B,OAMvC,IAAIwzC,EAA2D,OAA3CJ,EAAqBG,EAAYxqC,OAAiBqqC,EAAmE,OAA7CC,EAAsBE,EAAY9hB,aAAkB,EAAS4hB,EAAoBtqC,MACzK0qC,EAA+B,KAC/BtB,EAAqBK,KACvBiB,GAA+BhO,EAAAA,EAAAA,GAAO6N,EAAKnB,EAAqBK,GAAeU,GAAoB,IAMrG,MAAMQ,GAA6BjO,EAAAA,EAAAA,GAAO6N,EAAKd,EAAcG,GAAoB,GAC3EgB,GAAsBlO,EAAAA,EAAAA,GAAO6N,EAAKd,GAAcj4B,IAEhDA,IAAMi5B,EAIVL,EAAY54B,GAHVi5B,OAAezvC,CAGH,IAEhB,IAAI6vC,EAA4B,GAIhC,MAHI,iBAAkBN,EAAIjoB,kBACxBuoB,EAA4B,GAAGrX,MAAMzlB,KAAKw8B,EAAInxC,KAAKzB,UAAUM,KAAIqE,IAAMogC,EAAAA,EAAAA,GAAOpgC,EAAI,YAAa4sC,MAE1F,KAC2B,MAAhCwB,GAAgDA,IAChDC,IACAC,IACAC,EAA0B3uC,SAAQgZ,GAAUA,KAAS,CACtD,GACA,CAAC0uB,EAAK78B,EAAU0iC,EAAcG,EAAoBO,EAAoBC,GAC3E,ECrFO,SAASU,IAA0B,IAAV7yC,EAAG+Q,UAAAlS,OAAA,QAAAkE,IAAAgO,UAAA,GAAAA,UAAA,GAAG,CAAC,EACrC,OAAInH,MAAMC,QAAQ7J,GAAaA,EACxB2Z,OAAOC,KAAK5Z,GAAKA,KAAI8yC,IAC1B9yC,EAAI8yC,GAAG1yC,KAAO0yC,EACP9yC,EAAI8yC,KAEf,CACe,SAASC,EAA4Bt3C,GAUjD,IAVkD,QACnD+zB,EAAO,aACPwjB,EAAY,UACZpmB,EAAS,KACTijB,EAAI,OACJ3Z,EAAM,MACN+c,EAAK,iBACLC,EAAgB,aAChBze,EAAY,aACZ0e,EAAe,CAAC,GACjB13C,EACC,IAAI23C,EAAuBC,EAAuBC,EAAwBC,EAAmBC,EAC7F,MAAM/nB,EA/BD,SAAuBA,GAC5B,MAAMI,EAAS,CAAC,EAChB,OAAKjiB,MAAMC,QAAQ4hB,IAKN,MAAbA,GAA6BA,EAAUxnB,SAAQsrB,IAC7C1D,EAAO0D,EAAEnvB,MAAQmvB,CAAC,IAEb1D,GAPEJ,GAAaI,CAQxB,CAoBoB4nB,CAAcN,EAAa1nB,WAC7C,OAAO9R,OAAOmU,OAAO,CAAC,EAAGqlB,EAAc,CACrCvmB,YACA4C,UACA3C,SAAUomB,EAAQ,QAAUE,EAAatmB,SACzCpB,UAAWonB,EAAgBl5B,OAAOmU,OAAO,CAAC,EAAGrC,EAAW,CACtDmkB,eAAgB,CACdpgB,QAASwjB,EACTrlB,QAA+D,OAArDylB,EAAwB3nB,EAAUmkB,qBAA0B,EAASwD,EAAsBzlB,SAEvGiO,gBAAiBjiB,OAAOmU,OAAO,CAAC,EAAGrC,EAAUmQ,gBAAiB,CAC5DjO,QAASulB,EAAmBv5B,OAAOmU,OAAO,CACxC5rB,QAASgxC,GAC+C,OAAtDG,EAAwB5nB,EAAUmQ,sBAA2B,EAASyX,EAAsB1lB,SAAmE,OAAvD2lB,EAAyB7nB,EAAUmQ,sBAA2B,EAAS0X,EAAuB3lB,UAE5MuI,OAAQ,CACNvI,QAAShU,OAAOmU,OAAO,CACrBoI,UAC2C,OAAzCqd,EAAoB9nB,EAAUyK,aAAkB,EAASqd,EAAkB5lB,UAEjF+G,MAAO/a,OAAOmU,OAAO,CAAC,EAAGrC,EAAUiJ,MAAO,CACxClF,UAAWiF,EACX9G,QAAShU,OAAOmU,OAAO,CAAC,EAA2C,OAAvC0lB,EAAmB/nB,EAAUiJ,YAAiB,EAAS8e,EAAiB7lB,QAAS,CAC3GzpB,QAASuwB,MAGbob,KAAMl2B,OAAOmU,OAAO,CAClB0B,UAAWqgB,GACVpkB,EAAUokB,UAGnB,cC9DA,MAAMnD,EAAY,CAAC,WAAY,aAU/B,MAAMuE,EAAOA,OAYN,SAASyC,IAA8B,IAAd/lB,EAAO5c,UAAAlS,OAAA,QAAAkE,IAAAgO,UAAA,GAAAA,UAAA,GAAG,CAAC,EACzC,MAAM4iC,GAAUt3C,EAAAA,EAAAA,YAAWu3C,EAAAA,IACpBnf,EAAcof,IAAkBC,EAAAA,EAAAA,KACjCC,GAAcnI,EAAAA,EAAAA,SAAO,IACrB,KACJiE,EAAI,OACJ3Z,EAAM,eACN8d,EAAc,MACdf,GAAQ,EACRrmB,UAAWqnB,EAAiB,aAC5Bd,EAAe,CAAC,EAAC,qBACjBe,GAAuB,EACvBC,UAAWC,IAAoBT,GAC7BhmB,EACExX,EAAoD,OAAjC,MAAXw9B,OAAkB,EAASA,EAAQx9B,QAAkBwX,EAAQxX,KAAOw9B,EAAQx9B,KACtFA,IAAS49B,EAAY3kB,UACvB2kB,EAAY3kB,SAAU,GAExB,MAGM,UACJxC,EAAS,QACTynB,EAAO,YACPC,EAAW,cACXC,GACEZ,GAAW,CAAC,EACVjmB,EAASymB,EAAUI,EAAeD,EAAavB,EAA6B,CAChFnmB,UAAWqnB,GAAqBrnB,GAAa,eAC7C4C,QAAS4kB,EACTpB,aAAsC,MAAxBkB,EAA+B/9B,EAAO+9B,EACpDhe,SACA2Z,OACAoD,QACAxe,eACA0e,kBAEIqB,EAAY76B,OAAOmU,OAAO,CAC9B6d,IAAK0I,GAAWpD,EAChB,kBAAoC,MAAjBsD,OAAwB,EAASA,EAAcp0C,IACjEutB,EAAOO,WAAWP,OAAQ,CAC3B1rB,MAAO0rB,EAAOQ,OAAOR,SAEjB+mB,EAAW,CACft+B,OACAyW,YACA8nB,SAAUX,EAAY3kB,QACtBulB,OAAmB,MAAXhB,OAAkB,EAASA,EAAQgB,OAC3CjnB,OAAQ0mB,EAAkB1mB,EAAS,KACnCknB,WAAYR,EAAkBz6B,OAAOmU,OAAO,CAC1C6d,IAAKkI,GACJnmB,EAAOO,WAAWyG,MAAO,CAC1B1yB,MAAO0rB,EAAOQ,OAAOwG,QAClB,CAAC,GAMR,OAJAmgB,EAAgBP,GArCI/6B,IACP,MAAXo6B,GAA2BA,EAAQgB,QAAO,EAAOp7B,EAAE,GAoCX,CACxCi4B,aAAcwC,EACdllC,UAAWqH,IAEN,CAACq+B,EAAWC,EACrB,CAOA,SAASK,EAAar5C,GACpB,IAAI,SACAiE,EACAy0C,UAAWY,GAAgB,GACzBt5C,EACJkyB,EA7FJ,SAAuCmf,EAAGvzB,GAAK,GAAI,MAAQuzB,EAAG,MAAO,CAAC,EAAG,IAAIC,EAAI,CAAC,EAAG,IAAK,IAAI9H,KAAK6H,EAAG,GAAI,CAAC,EAAE3V,eAAerhB,KAAKg3B,EAAG7H,GAAI,CAAE,GAAI1rB,EAAE2Y,QAAQ+S,IAAM,EAAG,SAAU8H,EAAE9H,GAAK6H,EAAE7H,EAAI,CAAE,OAAO8H,CAAG,CA6FtLC,CAA8BvxC,EAAMixC,GAChD,MAAOG,EAAO7G,GAAQ0N,EAAgB/5B,OAAOmU,OAAO,CAAC,EAAGH,EAAS,CAC/DwmB,UAAWY,KAEb,OAAoBv1C,EAAAA,EAAAA,KAAKC,EAAAA,SAAW,CAClCC,SAAUA,EAASmtC,EAAO7G,IAE9B,CACA8O,EAAaxH,YAAc,eAG3B,yFCxEA,MAAM0H,EAAkC,CACtCC,OAAQC,OAAOrjB,KAAK9H,MAAsB,KAAhB8H,KAAKoR,WAC/B7T,QAAS,GAGL+lB,EAAaC,EAAMn7C,cAA+B+6C,GAClDK,EAAeD,EAAMn7C,eAAc,GAwDzC,IAAIq7C,EAAYC,QACI,qBAAXv2C,QACPA,OAAO0d,UACP1d,OAAO0d,SAAS84B,eAGdC,EAAe,IAAIhJ,QAEvB,SAASiJ,IAA6B,IAAlBC,EAAA5kC,UAAAlS,OAAA,QAAAkE,IAAAgO,UAAA,IAAAA,UAAA,GACd6kC,GAAM,EAAAC,EAAAA,YAAWV,GACjBxJ,GAAM,EAAAmK,EAAAA,QAAsB,MAEhC,GAAoB,OAAhBnK,EAAIvc,UAAqBumB,EAAY,KAWpBI,EAAAC,EAAnB,IAAIC,EAAuE,QAAxDD,EAAAZ,EAAMc,0DAAN,IAAAF,GAA2E,QAA3ED,EAAAC,EAA0DG,yBAA1D,IAAAJ,OAAA,EAAAA,EAA6E3mB,QAChG,GAAI6mB,EAAc,CAChB,IAAIG,EAAqBX,EAAan4C,IAAI24C,GAChB,MAAtBG,EAEFX,EAAappB,IAAI4pB,EAAc,CAC7B91C,GAAIy1C,EAAIxmB,QACRxB,MAAOqoB,EAAaI,gBAEbJ,EAAaI,gBAAkBD,EAAmBxoB,QAI3DgoB,EAAIxmB,QAAUgnB,EAAmBj2C,GACjCs1C,EAAaa,OAAOL,GAExB,CAGAtK,EAAIvc,UAAYwmB,EAAIxmB,OACtB,CAGA,OAAOuc,EAAIvc,OACb,CAyBO,MAAMmnB,EAAyC,oBAAnBnB,EAAa,MAThD,SAA4BoB,GAC1B,IAAIr2C,EAAKi1C,EAAMqB,SACVC,IAAU,EAAAC,EAAAA,UA8B8B,oBAAlCvB,EAA4B,qBAC9BA,EAA4B,qBAAEwB,EAAWC,EAAaC,IAIxD,EAAAjB,EAAAA,YAAWR,IAlCdJ,EAASyB,EAA4C,aAAe,aAAft4C,OAA4B42C,EAAeC,QACpG,OAAOuB,GAAA,GAAAp4C,OAAgB62C,EAAA,KAAA72C,OAAU+B,EACnC,EAnBA,SAA4Bq2C,GAC1B,IAAIZ,GAAM,EAAAC,EAAAA,YAAWV,GAIjBS,IAAQZ,GAAmBM,GAC7BloC,QAAQw1B,KAAK,mJAGf,IAAImU,EAAUrB,IAAac,GACvBvB,EAAoF,aAAf72C,OAA4Bw3C,EAAIX,QACzG,OAAOuB,GAAA,GAAAp4C,OAAgB62C,EAAA,KAAA72C,OAAU24C,EACnC,EAaA,SAASF,IACP,OAAO,CACT,CAEA,SAASC,IACP,OAAO,CACT,CAGA,SAASF,EAAUI,GAEjB,MAAO,MACT,wBChLO,MAAMC,EAAa5yC,IACxB,IAAI6yC,EACJ,MAA4G,UAApD,OAA/CA,EAAmB7yC,EAAGmZ,aAAa,cAAmB,EAAS05B,EAAiBllB,cAAyB,EAE9Gif,EAAOA,OAQN,SAASkG,IACd,MAAMh3C,EAAKi3C,KACL,KACJjhC,GAAO,EAAK,OACZw+B,EAAS1D,EAAI,UACboG,EAAS,YACT/C,IACEj4C,EAAAA,EAAAA,YAAWu3C,EAAAA,IAAoB,CAAC,EAC9BnG,GAAc1B,EAAAA,EAAAA,cAAYxyB,IAC9Bo7B,GAAQx+B,EAAMoD,EAAE,GACf,CAACpD,EAAMw+B,IACJ9H,EAAQ,CACZ1sC,KACAwrC,IAAK0L,GAAapG,EAClBrwC,QAAS6sC,EACT,kBAAmBt3B,GASrB,OAHIm+B,GAAe2C,EAAW3C,KAC5BzH,EAAM,kBAAmB,GAEpB,CAACA,EAAO,CACb12B,OACAw+B,UAEJ,CAOA,SAAS2C,EAAc77C,GAEpB,IAFqB,SACtBiE,GACDjE,EACC,MAAOoxC,EAAO7G,GAAQmR,IACtB,OAAoB33C,EAAAA,EAAAA,KAAKC,EAAAA,SAAW,CAClCC,SAAUA,EAASmtC,EAAO7G,IAE9B,CACAsR,EAAehK,YAAc,iBAG7B,qECxDe,SAASiK,EAAcjF,QACxB,IAARA,IACFA,GAAM1gB,EAAAA,EAAAA,MAKR,IACE,IAAI4lB,EAASlF,EAAIiF,cAGjB,OAAKC,GAAWA,EAAOzlB,SAChBylB,EADiC,IAE1C,CAAE,MAAOj+B,GAEP,OAAO+4B,EAAInxC,IACb,CACF,gECde,SAASs2C,EAAelrB,GACrC,MAAMmrB,ECHO,SAAuBxoC,GACpC,MAAMyoC,GAAW/L,EAAAA,EAAAA,QAAO18B,GAExB,OADAyoC,EAASvoB,QAAUlgB,EACZyoC,CACT,CDDoBC,CAAcrrB,IAChCxuB,EAAAA,EAAAA,YAAU,IAAM,IAAM25C,EAAUtoB,WAAW,GAC7C,6CETO,MAAMyoB,EAAsBA,CAAClM,EAAKjvB,IAClCo7B,EAAAA,EACM,MAAPnM,GAAqBjvB,IAAYkV,EAAAA,EAAAA,MAAiBzwB,MACnC,oBAARwqC,IAAoBA,EAAMA,KACjCA,GAAO,YAAaA,IAAKA,EAAMA,EAAIvc,SACnCuc,IAAQ,aAAcA,GAAOA,EAAI9hB,uBAA+B8hB,EAC7D,MALgB,6BC0BzB,QA5BA,SAAuBlwC,GAMpB,IANqB,SACtBiE,EACAq4C,GAAIC,EAAM,SACVC,EAAQ,aACRC,EAAY,cACZC,GACD18C,EACC,MAAMkwC,GAAMC,EAAAA,EAAAA,QAAO,MACbwM,GAAgBxM,EAAAA,EAAAA,QAAOoM,GACvBK,GAAexM,EAAAA,EAAAA,GAAiBoM,IACtCl6C,EAAAA,EAAAA,YAAU,KACJi6C,EAAQI,EAAchpB,SAAU,EAClCipB,EAAa1M,EAAIvc,QACnB,GACC,CAAC4oB,EAAQK,IACZ,MAAMC,GAAcC,EAAAA,EAAAA,GAAc5M,EAAKjsC,EAASisC,KAC1CnqB,GAAqBg3B,EAAAA,EAAAA,cAAa94C,EAAU,CAChDisC,IAAK2M,IAEP,OAAIN,EAAex2B,EACf22B,IAGCC,EAAchpB,SAAW8oB,EAFrB,KAKF12B,CACT,gBC9BA,MAAMkrB,EAAY,CAAC,UAAW,aAAc,YAAa,SAAU,YAAa,WAAY,iBAAkB,yBCA9G,MAAMA,EAAY,CAAC,aAMnB,MAUA,EAVmC11B,EAAAA,YAAiB,CAACvb,EAAMkwC,KACzD,IACI8M,UAAW1K,GACTtyC,EAEN,MAAMi9C,EDCO,SAA+Bj9C,GAC5C,IAAI,QACAk9C,EAAO,WACPC,EAAU,UACVC,EAAS,OACTC,EAAM,UACNC,EAAS,SACTd,EAAQ,eACRe,EAAc,SACdt5C,GACEjE,EACJoxC,EAtBJ,SAAuCC,EAAGvzB,GAAK,GAAI,MAAQuzB,EAAG,MAAO,CAAC,EAAG,IAAIC,EAAI,CAAC,EAAG,IAAK,IAAI9H,KAAK6H,EAAG,GAAI,CAAC,EAAE3V,eAAerhB,KAAKg3B,EAAG7H,GAAI,CAAE,GAAI1rB,EAAE2Y,QAAQ+S,IAAM,EAAG,SAAU8H,EAAE9H,GAAK6H,EAAE7H,EAAI,CAAE,OAAO8H,CAAG,CAsBxLC,CAA8BvxC,EAAMixC,GAC9C,MAAMuM,GAAUrN,EAAAA,EAAAA,QAAO,MACjBsN,GAAYX,EAAAA,EAAAA,GAAcU,GAASE,EAAAA,EAAAA,IAAYz5C,IAC/C05C,EAAYC,GAAYC,IACxBD,GAAYJ,EAAQ7pB,SACtBiqB,EAASJ,EAAQ7pB,QAASkqB,EAC5B,EAIIC,GAAcxN,EAAAA,EAAAA,aAAYqN,EAAUT,GAAU,CAACA,IAC/Ca,GAAiBzN,EAAAA,EAAAA,aAAYqN,EAAUR,GAAa,CAACA,IACrDa,GAAgB1N,EAAAA,EAAAA,aAAYqN,EAAUP,GAAY,CAACA,IACnDa,GAAa3N,EAAAA,EAAAA,aAAYqN,EAAUN,GAAS,CAACA,IAC7Ca,GAAgB5N,EAAAA,EAAAA,aAAYqN,EAAUL,GAAY,CAACA,IACnDV,GAAetM,EAAAA,EAAAA,aAAYqN,EAAUnB,GAAW,CAACA,IACjD2B,GAAuB7N,EAAAA,EAAAA,aAAYqN,EAAUJ,GAAiB,CAACA,IAGrE,OAAOr/B,OAAOmU,OAAO,CAAC,EAAG+e,EAAO,CAC9BoM,WACCN,GAAW,CACZA,QAASY,GACRX,GAAc,CACfA,WAAYY,GACXX,GAAa,CACdA,UAAWY,GACVX,GAAU,CACXA,OAAQY,GACPX,GAAa,CACdA,UAAWY,GACV1B,GAAY,CACbA,SAAUI,GACTW,GAAkB,CACnBA,eAAgBY,GACf,CACDl6C,SAA8B,oBAAbA,EAA0B,CAAChB,EAAQm7C,IAEpDn6C,EAAShB,EAAQib,OAAOmU,OAAO,CAAC,EAAG+rB,EAAY,CAC7ClO,IAAKuN,MACYV,EAAAA,EAAAA,cAAa94C,EAAU,CACxCisC,IAAKuN,KAGX,CCxD0BY,CAV1B,SAAuChN,EAAGvzB,GAAK,GAAI,MAAQuzB,EAAG,MAAO,CAAC,EAAG,IAAIC,EAAI,CAAC,EAAG,IAAK,IAAI9H,KAAK6H,EAAG,GAAI,CAAC,EAAE3V,eAAerhB,KAAKg3B,EAAG7H,GAAI,CAAE,GAAI1rB,EAAE2Y,QAAQ+S,IAAM,EAAG,SAAU8H,EAAE9H,GAAK6H,EAAE7H,EAAI,CAAE,OAAO8H,CAAG,CASxLC,CAA8BvxC,EAAMixC,IAE9C,OAAoBltC,EAAAA,EAAAA,KAAKuuC,EAAWp0B,OAAOmU,OAAO,CAChD6d,IAAKA,GACJ+M,GAAiB,IC8BP,SAASqB,EAAoB95C,GAMzC,IAN0C,SAC3CP,EACAq4C,GAAIC,EAAM,SACVC,EAAQ,UACRY,EAAS,WACTmB,GACD/5C,EACC,MAAOg6C,EAAQC,IAAa19C,EAAAA,EAAAA,WAAUw7C,GAGlCA,GAAUiC,GACZC,GAAU,GAEZ,MAAMvO,EAlDD,SAAsBlwC,GAG1B,IAFDs8C,GAAIC,EAAM,aACVmC,GACD1+C,EACC,MAAMkwC,GAAMC,EAAAA,EAAAA,QAAO,MACbwO,GAAexO,EAAAA,EAAAA,SAAO,GACtByO,GAAmBxO,EAAAA,EAAAA,GAAiBsO,GAuB1C,OAtBAG,EAAAA,EAAAA,IAAoB,KAClB,IAAK3O,EAAIvc,QACP,OAEF,IAAImrB,GAAQ,EAOZ,OANAF,EAAiB,CACftC,GAAIC,EACJ9zC,QAASynC,EAAIvc,QACborB,QAASJ,EAAahrB,QACtBqrB,QAASA,IAAMF,IAEV,KACLA,GAAQ,CAAI,CACb,GACA,CAACvC,EAAQqC,KACZC,EAAAA,EAAAA,IAAoB,KAClBF,EAAahrB,SAAU,EAEhB,KACLgrB,EAAahrB,SAAU,CAAI,IAE5B,IACIuc,CACT,CAoBc+O,CAAc,CACxB3C,KAAMC,EACNmC,aAAcxsB,IAUZlB,QAAQC,QAAQstB,EAAWrsB,IAAUzgB,MATpBytC,KACXhtB,EAAQ8sB,YACR9sB,EAAQoqB,GACG,MAAbc,GAA6BA,EAAUlrB,EAAQzpB,QAASypB,EAAQ6sB,UAEhEN,GAAU,GACE,MAAZjC,GAA4BA,EAAStqB,EAAQzpB,UAC/C,IAEkDvH,IAElD,MADKgxB,EAAQoqB,IAAImC,GAAU,GACrBv9C,CAAK,GACX,IAGA27C,GAAcC,EAAAA,EAAAA,GAAc5M,EAAKjsC,EAASisC,KAChD,OAAOsO,IAAWjC,EAAS,MAAoBQ,EAAAA,EAAAA,cAAa94C,EAAU,CACpEisC,IAAK2M,GAET,CACO,SAASsC,EAAiBnC,EAAWoC,EAAehO,GACzD,OAAI4L,GACkBj5C,EAAAA,EAAAA,KAAKs7C,EAAenhC,OAAOmU,OAAO,CAAC,EAAG+e,EAAO,CAC/D4L,UAAWA,KAGXoC,GACkBr7C,EAAAA,EAAAA,KAAKu6C,EAAsBpgC,OAAOmU,OAAO,CAAC,EAAG+e,EAAO,CACtEmN,WAAYa,MAGIr7C,EAAAA,EAAAA,KAAKu7C,EAAgBphC,OAAOmU,OAAO,CAAC,EAAG+e,GAC7D,CC5FA,MAAMH,EAAY,CAAC,OAAQ,OAAQ,YAAa,QAAS,WAAY,WAAY,WAAY,kBAAmB,kBAAmB,aAAc,gBAAiB,qBAAsB,wBAAyB,YAAa,eAAgB,eAAgB,sBAAuB,eAAgB,iBAAkB,UAAW,YAAa,SAAU,SAAU,SAAU,WAAY,YAAa,UAAW,aAAc,aAqB/Z,IAAIsO,EAaJ,SAASC,EAAgBC,GACvB,MAAMl8C,GAASm8C,EAAAA,EAAAA,KACTC,EAAeF,GARvB,SAAoBl8C,GAIlB,OAHKg8C,IAASA,EAAU,IAAIK,EAAAA,EAAa,CACvCzpB,cAAyB,MAAV5yB,OAAiB,EAASA,EAAO0d,YAE3Cs+B,CACT,CAGmCM,CAAWt8C,GACtCu8C,GAAQ3P,EAAAA,EAAAA,QAAO,CACnB4P,OAAQ,KACR/kC,SAAU,OAEZ,OAAOkD,OAAOmU,OAAOytB,EAAMnsB,QAAS,CAClCtS,IAAKA,IAAMs+B,EAAat+B,IAAIy+B,EAAMnsB,SAClCnS,OAAQA,IAAMm+B,EAAan+B,OAAOs+B,EAAMnsB,SACxCqsB,WAAYA,IAAML,EAAaK,WAAWF,EAAMnsB,SAChDssB,cAAc3P,EAAAA,EAAAA,cAAYJ,IACxB4P,EAAMnsB,QAAQosB,OAAS7P,CAAG,GACzB,IACHgQ,gBAAgB5P,EAAAA,EAAAA,cAAYJ,IAC1B4P,EAAMnsB,QAAQ3Y,SAAWk1B,CAAG,GAC3B,KAEP,CACA,MAAMt1B,GAAqBulC,EAAAA,EAAAA,aAAW,CAACngD,EAAMkwC,KAC3C,IAAI,KACAx1B,GAAO,EAAK,KACZk3B,EAAO,SAAQ,UACfztC,EAAS,MACToC,EAAK,SACLtC,EAAQ,SACR+W,GAAW,EAAI,SACfC,GAAW,EAAI,gBACfmlC,EAAe,gBACfC,EAAe,WACf9B,EAAU,cACVa,EAAa,mBACbkB,EAAkB,sBAClBC,EAAqB,UACrBC,GAAY,EAAI,aAChBC,GAAe,EAAI,aACnBC,GAAe,EAAI,oBACnBC,EAAmB,aACnBC,EAAY,eACZC,EAAiBzP,IAAsBrtC,EAAAA,EAAAA,KAAK,MAAOma,OAAOmU,OAAO,CAAC,EAAG+e,IACrEmO,QAASuB,EACTC,UAAWC,EAAY,OACvBC,EAAM,OACNpmC,EAASA,OAAQ,OACjBwiC,EAAM,SACNb,EAAQ,UACRc,EAAS,QACTJ,EAAO,WACPC,EAAU,UACVC,GACEp9C,EACJ4rC,EApFJ,SAAuCyF,EAAGvzB,GAAK,GAAI,MAAQuzB,EAAG,MAAO,CAAC,EAAG,IAAIC,EAAI,CAAC,EAAG,IAAK,IAAI9H,KAAK6H,EAAG,GAAI,CAAC,EAAE3V,eAAerhB,KAAKg3B,EAAG7H,GAAI,CAAE,GAAI1rB,EAAE2Y,QAAQ+S,IAAM,EAAG,SAAU8H,EAAE9H,GAAK6H,EAAE7H,EAAI,CAAE,OAAO8H,CAAG,CAoFzLC,CAA8BvxC,EAAMixC,GAC7C,MAAM6F,GAAc4I,EAAAA,EAAAA,KACdqB,EL3EO,SAA0B7Q,EAAKgR,GAC5C,MAAM39C,GAASm8C,EAAAA,EAAAA,MACRyB,EAAaC,IAAUrgD,EAAAA,EAAAA,WAAS,IAAMq7C,EAAoBlM,EAAe,MAAV3sC,OAAiB,EAASA,EAAO0d,YACvG,IAAKkgC,EAAa,CAChB,MAAME,EAAWjF,EAAoBlM,GACjCmR,GAAUD,EAAOC,EACvB,CAYA,OAXA/+C,EAAAA,EAAAA,YAAU,KACJ4+C,GAAcC,GAChBD,EAAWC,EACb,GACC,CAACD,EAAYC,KAChB7+C,EAAAA,EAAAA,YAAU,KACR,MAAMg/C,EAAUlF,EAAoBlM,GAChCoR,IAAYH,GACdC,EAAOE,EACT,GACC,CAACpR,EAAKiR,IACFA,CACT,CKwDoBI,CAAiBP,GAC7BlB,EAAQN,EAAgBsB,GACxBjN,GAAYC,EAAAA,EAAAA,KACZ0N,GAAWC,EAAAA,EAAAA,GAAY/mC,IACtB8jC,GAAQC,KAAa19C,EAAAA,EAAAA,WAAU2Z,GAChCgnC,IAAevR,EAAAA,EAAAA,QAAO,OAC5BwR,EAAAA,EAAAA,qBAAoBzR,GAAK,IAAM4P,GAAO,CAACA,IACnCzD,EAAAA,IAAcmF,GAAY9mC,IAC5BgnC,GAAa/tB,QAAUmoB,EAA6B,MAAfhF,OAAsB,EAASA,EAAY71B,WAI9EvG,GAAQ8jC,IACVC,IAAU,GAEZ,MAAMmD,IAAaxR,EAAAA,EAAAA,IAAiB,KAalC,GAZA0P,EAAMz+B,MACNwgC,GAAyBluB,SAAUqV,EAAAA,EAAAA,GAAO/nB,SAAU,UAAW6gC,IAC/DC,GAAuBpuB,SAAUqV,EAAAA,EAAAA,GAAO/nB,SAAU,SAGlD,IAAM4B,WAAWm/B,MAAqB,GAClCf,GACFA,IAKET,EAAW,CACb,IAAIyB,EAAuBC,EAC3B,MAAMC,EAAuBrG,EAAyH,OAA1GmG,EAA0D,OAAjCC,EAAgBpC,EAAMC,aAAkB,EAASmC,EAAc/rB,eAAyB8rB,EAAuC,MAAfnL,OAAsB,EAASA,EAAY71B,UAC5N6+B,EAAMC,QAAUoC,KAAyBn9B,EAAAA,EAAAA,GAAS86B,EAAMC,OAAQoC,KAClET,GAAa/tB,QAAUwuB,EACvBrC,EAAMC,OAAOqC,QAEjB,KAEIC,IAAajS,EAAAA,EAAAA,IAAiB,KAKhC,IAAIkS,GAJNxC,EAAMt+B,SAC8B,MAApCqgC,GAAyBluB,SAA2BkuB,GAAyBluB,UAC3C,MAAlCouB,GAAuBpuB,SAA2BouB,GAAuBpuB,UACrE+sB,KAGgD,OAAjD4B,EAAwBZ,GAAa/tB,UAA2D,MAA/B2uB,EAAsBF,OAAyBE,EAAsBF,MAAMzB,GAC7Ie,GAAa/tB,QAAU,KACzB,KAOFrxB,EAAAA,EAAAA,YAAU,KACHoY,GAASqmC,GACda,IAAY,GACX,CAAClnC,EAAMqmC,EAAqCa,MAK/Ct/C,EAAAA,EAAAA,YAAU,KACHk8C,IACL6D,IAAY,GACX,CAAC7D,GAAQ6D,KACZrG,GAAe,KACbqG,IAAY,IAKd,MAAML,IAAqB5R,EAAAA,EAAAA,IAAiB,KAC1C,IAAKqQ,IAAiB5M,MAAgBiM,EAAME,aAC1C,OAEF,MAAMmC,EAAuBrG,EAA6B,MAAfhF,OAAsB,EAASA,EAAY71B,UAClF6+B,EAAMC,QAAUoC,KAAyBn9B,EAAAA,EAAAA,GAAS86B,EAAMC,OAAQoC,IAClErC,EAAMC,OAAOqC,OACf,IAEIG,IAAsBnS,EAAAA,EAAAA,IAAiBtyB,IACvCA,EAAE1R,SAAW0R,EAAEq4B,gBAGA,MAAnBiK,GAAmCA,EAAgBtiC,IAClC,IAAb9C,GACFH,IACF,IAEIinC,IAAwB1R,EAAAA,EAAAA,IAAiBtyB,IACzC7C,IAAYunC,EAAAA,EAAAA,IAAS1kC,IAAMgiC,EAAME,eAChB,MAAnBK,GAAmCA,EAAgBviC,GAC9CA,EAAE2kC,kBACL5nC,IAEJ,IAEIknC,IAAyB5R,EAAAA,EAAAA,UACzB0R,IAA2B1R,EAAAA,EAAAA,UAKjC,IAAK4Q,EACH,OAAO,KAET,MAAM2B,GAAcxkC,OAAOmU,OAAO,CAChCuf,OACA1B,IAAK4P,EAAMG,aAEX,aAAuB,WAATrO,QAA2BtqC,GACxCskC,EAAM,CACPrlC,QACApC,YACA4tC,UAAW,IAEb,IAAIgO,GAASa,EAAeA,EAAa8B,KAA4B3+C,EAAAA,EAAAA,KAAK,MAAOma,OAAOmU,OAAO,CAAC,EAAGqwB,GAAa,CAC9Gz+C,SAAuBsX,EAAAA,aAAmBtX,EAAU,CAClD2tC,KAAM,gBAGVmO,GAASZ,EAAiBZ,EAAYa,EAAe,CACnD1C,eAAe,EACfD,cAAc,EACdkG,QAAQ,EACRrG,KAAM5hC,EACN2iC,SACAC,YACAd,SA7BmB,WACnBiC,IAAU,GACE,MAAZjC,GAA4BA,KAASlnC,UACvC,EA2BE4nC,UACAC,aACAC,YACAn5C,SAAU87C,KAEZ,IAAI6C,GAAkB,KActB,OAbI5nC,IACF4nC,GAAkB/B,EAAe,CAC/B3Q,IAAK4P,EAAMI,eACX/6C,QAASo9C,KAEXK,GAAkBzD,EAAiBmB,EAAoBC,EAAuB,CAC5EjE,KAAM5hC,EACNioC,QAAQ,EACRlG,cAAc,EACdC,eAAe,EACfz4C,SAAU2+C,OAGM7+C,EAAAA,EAAAA,KAAKC,EAAAA,SAAW,CAClCC,SAAuB4+C,EAAAA,cAAoC3+C,EAAAA,EAAAA,MAAMF,EAAAA,SAAW,CAC1EC,SAAU,CAAC2+C,GAAiB7C,MAC1BgB,IACJ,IAEJnmC,EAAMi3B,YAAc,QACpB,QAAe3zB,OAAOmU,OAAOzX,EAAO,CAClCkoC,QAASlD,EAAAA,gEChPJ,MAAMmD,GAAsBtQ,UAAAA,IAAS,cAgG5C,QA1FA,MACEW,WAAAA,GAIQ,IAJI,cACVjd,EAAa,wBACb6sB,GAA0B,EAAI,MAC9BC,GAAQ,GACT3tC,UAAAlS,OAAA,QAAAkE,IAAAgO,UAAA,GAAAA,UAAA,GAAG,CAAC,EACH4tC,KAAKF,wBAA0BA,EAC/BE,KAAKD,MAAQA,EACbC,KAAKC,OAAS,GACdD,KAAK/sB,cAAgBA,CACvB,CACAitB,iBAAAA,GACE,OClBW,WAAyD,IAA1BjtB,EAAa7gB,UAAAlS,OAAA,QAAAkE,IAAAgO,UAAA,GAAAA,UAAA,GAAG2L,SAC5D,MAAM1d,EAAS4yB,EAAcoB,YAC7B,OAAOnB,KAAKC,IAAI9yB,EAAO8/C,WAAaltB,EAAcvH,gBAAgBwL,YACpE,CDeWkpB,CAAsBJ,KAAK/sB,cACpC,CACAotB,UAAAA,GACE,OAAQL,KAAK/sB,eAAiBlV,UAAUvb,IAC1C,CACA89C,kBAAAA,CAAmBC,GACjB,CAEFC,qBAAAA,CAAsBD,GACpB,CAEFE,iBAAAA,CAAkBC,GAChB,MAAMr9C,EAAQ,CACZwxB,SAAU,UAKN8rB,EAAcX,KAAKD,MAAQ,cAAgB,eAC3ClC,EAAYmC,KAAKK,aACvBK,EAAer9C,MAAQ,CACrBwxB,SAAUgpB,EAAUx6C,MAAMwxB,SAC1B,CAAC8rB,GAAc9C,EAAUx6C,MAAMs9C,IAE7BD,EAAeE,iBAGjBv9C,EAAMs9C,GAAe,GAAHlhD,OAAM2F,UAAS0uB,EAAAA,EAAAA,GAAI+pB,EAAW8C,IAAgB,IAAK,IAAMD,EAAeE,eAAc,OAE1G/C,EAAUvM,aAAauO,EAAqB,KAC5C/rB,EAAAA,EAAAA,GAAI+pB,EAAWx6C,EACjB,CACAmuB,KAAAA,GACE,IAAIwuB,KAAKC,QAAQ36C,SAAQsrB,GAAKovB,KAAK1hC,OAAOsS,IAC5C,CACAiwB,oBAAAA,CAAqBH,GACnB,MAAM7C,EAAYmC,KAAKK,aACvBxC,EAAUtM,gBAAgBsO,GAC1B7kC,OAAOmU,OAAO0uB,EAAUx6C,MAAOq9C,EAAer9C,MAChD,CACA8a,GAAAA,CAAIy+B,GACF,IAAIkE,EAAWd,KAAKC,OAAO1sB,QAAQqpB,GACnC,OAAkB,IAAdkE,EACKA,GAETA,EAAWd,KAAKC,OAAO//C,OACvB8/C,KAAKC,OAAO51C,KAAKuyC,GACjBoD,KAAKM,mBAAmB1D,GACP,IAAbkE,IAGJd,KAAK/wB,MAAQ,CACX2xB,eAAgBZ,KAAKE,oBACrB78C,MAAO,CAAC,GAEN28C,KAAKF,yBACPE,KAAKS,kBAAkBT,KAAK/wB,QAPrB6xB,EAUX,CACAxiC,MAAAA,CAAOs+B,GACL,MAAMkE,EAAWd,KAAKC,OAAO1sB,QAAQqpB,IACnB,IAAdkE,IAGJd,KAAKC,OAAOtpC,OAAOmqC,EAAU,IAIxBd,KAAKC,OAAO//C,QAAU8/C,KAAKF,yBAC9BE,KAAKa,qBAAqBb,KAAK/wB,OAEjC+wB,KAAKQ,sBAAsB5D,GAC7B,CACAE,UAAAA,CAAWF,GACT,QAASoD,KAAKC,OAAO//C,QAAU8/C,KAAKC,OAAOD,KAAKC,OAAO//C,OAAS,KAAO08C,CACzE,iDEhGF,MAAMmE,UAA0B1oC,cAAoB,MACpD0oC,EAAWpS,YAAc,aACzB,8ECFA,MACaqS,EAAe,SAACC,GAA0B,IAAhBh4C,EAAImJ,UAAAlS,OAAA,QAAAkE,IAAAgO,UAAA,GAAAA,UAAA,GAAG,KAC5C,OAAgB,MAAZ6uC,EAAyB1K,OAAO0K,GAC7Bh4C,GAAQ,IACjB,EACA,EALuCoP,EAAAA,cAAoB,4ECC3D,MAAM6oC,GAAuB5lD,EAAAA,EAAAA,eAAc69C,EAAAA,EAAY94C,YAAS+D,GAClC88C,EAAQC,SAQvB,SAAS3E,IACtB,OAAO9+C,EAAAA,EAAAA,YAAWwjD,EACpB,wECZO,SAAS5B,EAAS1kC,GACvB,MAAkB,WAAXA,EAAErL,MAAmC,KAAdqL,EAAEwmC,OAClC,CASO,SAAS5G,EAAYj1C,GAC1B,IAAKA,GAA8B,oBAAZA,EACrB,OAAO,KAET,MAAM,MACJ87C,GAbG,WACL,MAAMC,EAAQjpC,EAAAA,QAActM,MAAM,KAClC,MAAO,CACLs1C,OAAQC,EAAM,GACdC,OAAQD,EAAM,GACdE,OAAQF,EAAM,GAElB,CAOMG,GAEJ,OADiBJ,GAAS,GAAK97C,EAAQ2oC,MAAMlB,IAAMznC,EAAQynC,GAE7D,8DCKe,SAASmI,IACtB,OAAOt3C,EAAAA,EAAAA,UAAS,KAClB,8DCVA,QAPA,SAAyB0S,GACvB,MAAMy8B,GAAMC,EAAAA,EAAAA,QAAO18B,GAInB,OAHAnR,EAAAA,EAAAA,YAAU,KACR4tC,EAAIvc,QAAUlgB,CAAK,GAClB,CAACA,IACGy8B,CACT,wECfe,SAASE,EAAiBtf,GACvC,MAAMof,GAAMG,EAAAA,EAAAA,GAAgBvf,GAC5B,OAAOwf,EAAAA,EAAAA,cAAY,WACjB,OAAOJ,EAAIvc,SAAWuc,EAAIvc,WAAQre,UACpC,GAAG,CAAC46B,GACN,wECIe,SAAS0U,EAAiBC,EAAav4C,EAAOg8B,GAA2B,IAAjBwc,EAAOxvC,UAAAlS,OAAA,QAAAkE,IAAAgO,UAAA,IAAAA,UAAA,GAC5E,MAAMyvC,GAAU3U,EAAAA,EAAAA,GAAiB9H,IACjChmC,EAAAA,EAAAA,YAAU,KACR,MAAM8J,EAAgC,oBAAhBy4C,EAA6BA,IAAgBA,EAEnE,OADAz4C,EAAOywB,iBAAiBvwB,EAAOy4C,EAASD,GACjC,IAAM14C,EAAO0wB,oBAAoBxwB,EAAOy4C,EAASD,EAAQ,GAC/D,CAACD,GACN,8DCAe,SAASG,IAGtB,MAAO,CAAEC,IAAYC,EAAAA,EAAAA,aAAWC,GAAYA,EAAW,GAAG,GAC1D,OAAOF,CACT,8DCtBA,MAAM1U,EAAkC,qBAAXC,EAAAA,GAE7BA,EAAAA,EAAOxK,WAEsB,gBAA7BwK,EAAAA,EAAOxK,UAAUyK,QAWjB,EAVkC,qBAAbxvB,UAUGsvB,EAAgBG,EAAAA,gBAAkBpuC,EAAAA,sECf1D,MAAMquC,EAAUT,GAAQA,GAAsB,oBAARA,EAA2Bz8B,IAC/Dy8B,EAAIvc,QAAUlgB,CAAK,EADsCy8B,EA+B3D,QAHA,SAAuBU,EAAMC,GAC3B,OAAOC,EAAAA,EAAAA,UAAQ,IA1BV,SAAmBF,EAAMC,GAC9B,MAAMlS,EAAIgS,EAAQC,GACZhS,EAAI+R,EAAQE,GAClB,OAAOp9B,IACDkrB,GAAGA,EAAElrB,GACLmrB,GAAGA,EAAEnrB,EAAM,CAEnB,CAmBuBs9B,CAAUH,EAAMC,IAAO,CAACD,EAAMC,GACrD,8DCTe,SAASiD,IACtB,MAAMsR,GAAUjV,EAAAA,EAAAA,SAAO,GACjB0D,GAAY1D,EAAAA,EAAAA,SAAO,IAAMiV,EAAQzxB,UAOvC,OANArxB,EAAAA,EAAAA,YAAU,KACR8iD,EAAQzxB,SAAU,EACX,KACLyxB,EAAQzxB,SAAU,CAAK,IAExB,IACIkgB,EAAUlgB,OACnB,8DCbe,SAAS8tB,EAAYhuC,GAClC,MAAMy8B,GAAMC,EAAAA,EAAAA,QAAO,MAInB,OAHA7tC,EAAAA,EAAAA,YAAU,KACR4tC,EAAIvc,QAAUlgB,CAAK,IAEdy8B,EAAIvc,OACb,wBCzBA,QAWQ0xB,EAAO,CAAC,QAAU,cAIjB,KAJ4B,EAAF,SAAYC,EAAQC,GAG3C,OAFKA,EAAOz0B,KAAIy0B,EAAOz0B,GAAK,CAAC,GACP,oBAAXw0B,GAAyBA,EAAO5pB,eAAe,aAAY4pB,EAASA,EAAgB,SAiBnG,SAASA,EAAQE,GACrB,IAAIC,EAAkB,SAASh9C,EAASypB,EAASwzB,GA8F7C,GA3FAxC,KAAKyC,SAAW,OAChBzC,KAAKz6C,QAAU+8C,EAAE/8C,GACjBy6C,KAAK0C,UAAYN,IAASO,QAAQ,OAClC3C,KAAK4C,QAAUR,IAASS,MAAM,OAC9B7C,KAAK76B,SAAU,EACf66B,KAAKp7B,SAAU,EACfo7B,KAAK8C,SAAU,EACf9C,KAAK+C,WAAY,EACjB/C,KAAKgD,kBAAmB,EACxBhD,KAAKiD,eAAgB,EACrBjD,KAAKkD,QAAUd,IAASe,SAAS,IAAK,QAAQ1uC,OAAO,QACrDurC,KAAKoD,QAAUhB,IAASjkC,IAAI,IAAK,QAAQ1J,OAAO,QAChDurC,KAAKqD,iBAAkB,EACvBrD,KAAKsD,oBAAqB,EAC1BtD,KAAKuD,sBAAuB,EAC5BvD,KAAKwD,YAAa,EAClBxD,KAAKyD,kBAAmB,EACxBzD,KAAK0D,oBAAsB,EAC3B1D,KAAK2D,mBAAoB,EACzB3D,KAAK4D,iBAAkB,EACvB5D,KAAK6D,iBAAkB,EACvB7D,KAAK8D,qBAAsB,EAC3B9D,KAAK+D,OAAS,CAAC,EAEf/D,KAAKgE,MAAQ,QACThE,KAAKz6C,QAAQ0+C,SAAS,gBACtBjE,KAAKgE,MAAQ,QAEjBhE,KAAKkE,MAAQ,OACTlE,KAAKz6C,QAAQ0+C,SAAS,YACtBjE,KAAKkE,MAAQ,MAEjBlE,KAAKmE,cAAgB,aACrBnE,KAAKoE,mBAAqB,cAC1BpE,KAAKqE,oBAAsB,cAE3BrE,KAAKsE,OAAS,CACVljB,UAAW,MACX3sB,OAAQ2tC,EAAOmC,aAAaC,eAAe,KAC3CC,UAAW,MACXC,WAAY,QACZC,YAAa,SACbC,UAAW,IACXC,iBAAkB,eAClBC,WAAY1C,EAAO2C,cACnBC,WAAY5C,EAAO6C,cACnBC,SAAU9C,EAAOmC,aAAaY,kBAGlCnF,KAAKtF,SAAW,WAAa,EAG7BsF,KAAKoF,WAAY,EACjBpF,KAAKqF,aAAe,CAAC,EACrBrF,KAAKsF,cAAgB,CAAC,EAGC,kBAAZt2B,GAAoC,OAAZA,IAC/BA,EAAU,CAAC,GAOiB,kBAHhCA,EAAUszB,EAAEiD,OAAOvF,KAAKz6C,QAAQiJ,OAAQwgB,IAGrBw2B,UAA2Bx2B,EAAQw2B,oBAAoBlD,IACtEtzB,EAAQw2B,SACR,ycAiBJxF,KAAKyC,SAAYzzB,EAAQyzB,UAAYH,EAAEtzB,EAAQyzB,UAAUviD,OAAUoiD,EAAEtzB,EAAQyzB,UAAYH,EAAEtC,KAAKyC,UAChGzC,KAAKnC,UAAYyE,EAAEtzB,EAAQw2B,UAAUC,SAASzF,KAAKyC,UAMrB,kBAAnBzzB,EAAQs1B,SAEyB,kBAA7Bt1B,EAAQs1B,OAAOljB,YACtB4e,KAAKsE,OAAOljB,UAAYpS,EAAQs1B,OAAOljB,WAEN,kBAA1BpS,EAAQs1B,OAAO7vC,SACtBurC,KAAKsE,OAAO7vC,OAASua,EAAQs1B,OAAO7vC,QAEA,kBAA7Bua,EAAQs1B,OAAOG,YACtBzE,KAAKsE,OAAOG,UAAYz1B,EAAQs1B,OAAOG,WAEF,kBAA9Bz1B,EAAQs1B,OAAOQ,aACtB9E,KAAKsE,OAAOQ,WAAa91B,EAAQs1B,OAAOQ,WAAWloB,SAEd,kBAA9B5N,EAAQs1B,OAAOU,aACxBhF,KAAKsE,OAAOU,WAAah2B,EAAQs1B,OAAOU,WAAWpoB,SAEd,kBAA5B5N,EAAQs1B,OAAOY,WACxBlF,KAAKsE,OAAOY,SAAWl2B,EAAQs1B,OAAOY,UAEC,kBAA9Bl2B,EAAQs1B,OAAOI,aACxB1E,KAAKsE,OAAOI,WAAa11B,EAAQs1B,OAAOI,YAEA,kBAA/B11B,EAAQs1B,OAAOK,cACxB3E,KAAKsE,OAAOK,YAAc31B,EAAQs1B,OAAOK,aAEH,kBAA7B31B,EAAQs1B,OAAOM,YACxB5E,KAAKsE,OAAOM,UAAY51B,EAAQs1B,OAAOM,WAEM,kBAApC51B,EAAQs1B,OAAOO,kBAA8B,EAEhDa,EAAO3nC,SAAS84B,cAAc,aAC7B8O,UAAY32B,EAAQs1B,OAAOO,iBAChC,IAAIe,EAAYF,EAAKn1C,MACrByvC,KAAKsE,OAAOO,iBAAmBe,CACnC,CAyHJ,GAvHA5F,KAAKnC,UAAUgI,SAAS7F,KAAKsE,OAAOljB,WAEH,kBAAtBpS,EAAQ0zB,YACf1C,KAAK0C,UAAYN,EAAOpzB,EAAQ0zB,UAAW1C,KAAKsE,OAAO7vC,SAE5B,kBAApBua,EAAQ4zB,UACf5C,KAAK4C,QAAUR,EAAOpzB,EAAQ4zB,QAAS5C,KAAKsE,OAAO7vC,SAExB,kBAApBua,EAAQ7J,UACf66B,KAAK76B,QAAUi9B,EAAOpzB,EAAQ7J,QAAS66B,KAAKsE,OAAO7vC,SAExB,kBAApBua,EAAQpK,UACfo7B,KAAKp7B,QAAUw9B,EAAOpzB,EAAQpK,QAASo7B,KAAKsE,OAAO7vC,SAEtB,kBAAtBua,EAAQ0zB,YACf1C,KAAK0C,UAAYN,EAAOpzB,EAAQ0zB,YAEL,kBAApB1zB,EAAQ4zB,UACf5C,KAAK4C,QAAUR,EAAOpzB,EAAQ4zB,UAEH,kBAApB5zB,EAAQ7J,UACf66B,KAAK76B,QAAUi9B,EAAOpzB,EAAQ7J,UAEH,kBAApB6J,EAAQpK,UACfo7B,KAAKp7B,QAAUw9B,EAAOpzB,EAAQpK,UAG9Bo7B,KAAK76B,SAAW66B,KAAK0C,UAAUoD,SAAS9F,KAAK76B,WAC7C66B,KAAK0C,UAAY1C,KAAK76B,QAAQ4gC,SAG9B/F,KAAKp7B,SAAWo7B,KAAK4C,QAAQoD,QAAQhG,KAAKp7B,WAC1Co7B,KAAK4C,QAAU5C,KAAKp7B,QAAQmhC,SAEU,kBAA/B/2B,EAAQo1B,qBACfpE,KAAKoE,mBAAqBp1B,EAAQo1B,oBAEJ,kBAAvBp1B,EAAQi3B,aACfjG,KAAKoE,mBAAqBp1B,EAAQi3B,YAEK,kBAAhCj3B,EAAQq1B,sBACfrE,KAAKqE,oBAAsBr1B,EAAQq1B,qBAEJ,kBAAxBr1B,EAAQk3B,cACflG,KAAKqE,oBAAsBr1B,EAAQk3B,aAER,kBAApBl3B,EAAQ8zB,UACf9C,KAAK8C,QAAU9zB,EAAQ8zB,SAEM,kBAAtB9zB,EAAQm3B,YACfnG,KAAK8C,QAAU9zB,EAAQm3B,WAEE,kBAAlBn3B,EAAQg1B,QACfhE,KAAKgE,MAAQh1B,EAAQg1B,OAEI,kBAAlBh1B,EAAQk1B,QACflE,KAAKkE,MAAQl1B,EAAQk1B,OAEc,mBAA5Bl1B,EAAQq0B,kBACfrD,KAAKqD,gBAAkBr0B,EAAQq0B,iBAEO,mBAA/Br0B,EAAQs0B,qBACftD,KAAKsD,mBAAqBt0B,EAAQs0B,oBAED,kBAA1Bt0B,EAAQm1B,gBACfnE,KAAKmE,cAAgBn1B,EAAQm1B,eAEI,kBAA1Bn1B,EAAQm1B,gBACfnE,KAAKmE,cAAgBn1B,EAAQm1B,cAAc/wC,KAAK,MAEf,mBAA1B4b,EAAQi0B,gBACfjD,KAAKiD,cAAgBj0B,EAAQi0B,eAEF,kBAApBj0B,EAAQk0B,UACflD,KAAKkD,QAAUl0B,EAAQk0B,SAEI,kBAApBl0B,EAAQo0B,UACfpD,KAAKoD,QAAUp0B,EAAQo0B,SAEiB,mBAAjCp0B,EAAQu0B,uBACfvD,KAAKuD,qBAAuBv0B,EAAQu0B,sBAEA,mBAA7Bv0B,EAAQg0B,mBACfhD,KAAKgD,iBAAmBh0B,EAAQg0B,iBAC5BhD,KAAKgD,mBACLhD,KAAK4C,QAAU5C,KAAK0C,UAAUqD,UAGJ,mBAAvB/2B,EAAQw0B,aACfxD,KAAKwD,WAAax0B,EAAQw0B,YAEW,mBAA9Bx0B,EAAQ20B,oBACf3D,KAAK2D,kBAAoB30B,EAAQ20B,mBAEM,kBAAhC30B,EAAQ00B,sBACf1D,KAAK0D,oBAAsB10B,EAAQ00B,qBAEC,mBAA7B10B,EAAQy0B,mBACfzD,KAAKyD,iBAAmBz0B,EAAQy0B,kBAEH,mBAAtBz0B,EAAQ+zB,YACf/C,KAAK+C,UAAY/zB,EAAQ+zB,WAEU,mBAA5B/zB,EAAQ60B,kBACf7D,KAAK6D,gBAAkB70B,EAAQ60B,iBAEI,mBAA5B70B,EAAQ40B,kBACf5D,KAAK4D,gBAAkB50B,EAAQ40B,iBAEE,oBAA1B50B,EAAQo3B,gBACfpG,KAAKoG,cAAgBp3B,EAAQo3B,eAEG,oBAAzBp3B,EAAQq3B,eACfrG,KAAKqG,aAAer3B,EAAQq3B,cAEW,mBAAhCr3B,EAAQ80B,sBACf9D,KAAK8D,oBAAsB90B,EAAQ80B,qBAGX,GAAxB9D,KAAKsE,OAAOY,SAEZ,IADA,IAAIoB,EAAWtG,KAAKsE,OAAOY,SACpBoB,EAAW,GACdtG,KAAKsE,OAAOQ,WAAWz6C,KAAK21C,KAAKsE,OAAOQ,WAAW/Y,SACnDua,IAIR,IAAI/wB,EAAOC,EAAK+wB,EAGhB,GAAiC,qBAAtBv3B,EAAQ0zB,WAAwD,qBAApB1zB,EAAQ4zB,SACvDN,EAAEtC,KAAKz6C,SAASihD,GAAG,SAAU,CAC7B,IAAIC,EAAMnE,EAAEtC,KAAKz6C,SAASkhD,MACtB16C,EAAQ06C,EAAI16C,MAAMi0C,KAAKsE,OAAOG,WAElClvB,EAAQC,EAAM,KAEM,GAAhBzpB,EAAM7L,QACNq1B,EAAQ6sB,EAAOr2C,EAAM,GAAIi0C,KAAKsE,OAAO7vC,QACrC+gB,EAAM4sB,EAAOr2C,EAAM,GAAIi0C,KAAKsE,OAAO7vC,SAC5BurC,KAAKgD,kBAA4B,KAARyD,IAChClxB,EAAQ6sB,EAAOqE,EAAKzG,KAAKsE,OAAO7vC,QAChC+gB,EAAM4sB,EAAOqE,EAAKzG,KAAKsE,OAAO7vC,SAEpB,OAAV8gB,GAA0B,OAARC,IAClBwqB,KAAK0G,aAAanxB,GAClByqB,KAAK2G,WAAWnxB,GAExB,CAGJ,GAA8B,kBAAnBxG,EAAQ+0B,OAAqB,CACpC,IAAKwC,KAASv3B,EAAQ+0B,OAAQ,CAGtBxuB,EADoC,kBAA7BvG,EAAQ+0B,OAAOwC,GAAO,GACrBnE,EAAOpzB,EAAQ+0B,OAAOwC,GAAO,GAAIvG,KAAKsE,OAAO7vC,QAE7C2tC,EAAOpzB,EAAQ+0B,OAAOwC,GAAO,IAGrC/wB,EADoC,kBAA7BxG,EAAQ+0B,OAAOwC,GAAO,GACvBnE,EAAOpzB,EAAQ+0B,OAAOwC,GAAO,GAAIvG,KAAKsE,OAAO7vC,QAE7C2tC,EAAOpzB,EAAQ+0B,OAAOwC,GAAO,IAInCvG,KAAK76B,SAAWoQ,EAAMuwB,SAAS9F,KAAK76B,WACpCoQ,EAAQyqB,KAAK76B,QAAQ4gC,SAEzB,IAaIL,EAbA9gC,EAAUo7B,KAAKp7B,QAQnB,GAPIo7B,KAAK8C,SAAWl+B,GAAW2Q,EAAMwwB,QAAQ5nC,IAAI6hC,KAAK8C,SAASkD,QAAQphC,KACnEA,EAAU2Q,EAAMwwB,QAAQ5nC,IAAI6hC,KAAK8C,UACjCl+B,GAAW4Q,EAAIwwB,QAAQphC,KACvB4Q,EAAM5Q,EAAQmhC,WAIb/F,KAAK76B,SAAWqQ,EAAIswB,SAAS9F,KAAK76B,QAAS66B,KAAK4G,WAAa,SAAW,QACvEhiC,GAAW2Q,EAAMywB,QAAQphC,EAASo7B,KAAK4G,WAAa,SAAW,SAIjElB,EAAO3nC,SAAS84B,cAAc,aAC7B8O,UAAYY,EACbX,EAAYF,EAAKn1C,MAErByvC,KAAK+D,OAAO6B,GAAa,CAACrwB,EAAOC,EACrC,CAEA,IAAInR,EAAO,OACX,IAAKkiC,KAASvG,KAAK+D,OACf1/B,GAAQ,uBAAyBkiC,EAAQ,KAAOA,EAAQ,QAExDvG,KAAKuD,uBACLl/B,GAAQ,uBAAyB27B,KAAKsE,OAAOO,iBAAmB,KAAO7E,KAAKsE,OAAOO,iBAAmB,SAE1GxgC,GAAQ,QACR27B,KAAKnC,UAAUlhB,KAAK,WAAWkqB,QAAQxiC,EAC3C,CAEkB,oBAAPm+B,IACPxC,KAAKtF,SAAW8H,GAGfxC,KAAKwD,aACNxD,KAAK0C,UAAY1C,KAAK0C,UAAUC,QAAQ,OACxC3C,KAAK4C,QAAU5C,KAAK4C,QAAQC,MAAM,OAClC7C,KAAKnC,UAAUlhB,KAAK,kBAAkBoU,QAItCiP,KAAKwD,YAAcxD,KAAK+C,YACxB/C,KAAK+C,WAAY,GAEjB/C,KAAK+C,WACL/C,KAAKnC,UAAUgI,SAAS,cAGE,kBAAnB72B,EAAQ+0B,QACf/D,KAAKnC,UAAUgI,SAAS,eAExB7F,KAAKgD,mBACLhD,KAAKnC,UAAUgI,SAAS,UACxB7F,KAAKnC,UAAUlhB,KAAK,sBAAsBkpB,SAAS,UACnD7F,KAAKnC,UAAUlhB,KAAK,sBAAsBnlB,OAC1CwoC,KAAKnC,UAAUlhB,KAAK,uBAAuBoU,QACtCiP,KAAKwD,YAAcxD,KAAK+C,WACzB/C,KAAKnC,UAAUgI,SAAS,gBAID,qBAAnB72B,EAAQ+0B,SAA2B/D,KAAKgD,kBAAqBhD,KAAK8D,sBAC1E9D,KAAKnC,UAAUgI,SAAS,iBAG5B7F,KAAKnC,UAAUgI,SAAS,QAAU7F,KAAKgE,OAGvChE,KAAKnC,UAAUlhB,KAAK,yBAAyBkpB,SAAS7F,KAAKmE,eACvDnE,KAAKoE,mBAAmBlkD,QACxB8/C,KAAKnC,UAAUlhB,KAAK,aAAakpB,SAAS7F,KAAKoE,oBAC/CpE,KAAKqE,oBAAoBnkD,QACzB8/C,KAAKnC,UAAUlhB,KAAK,cAAckpB,SAAS7F,KAAKqE,qBACpDrE,KAAKnC,UAAUlhB,KAAK,aAAakE,KAAKmf,KAAKsE,OAAOI,YAClD1E,KAAKnC,UAAUlhB,KAAK,cAAckE,KAAKmf,KAAKsE,OAAOK,aAMnD3E,KAAKnC,UAAUlhB,KAAK,iBACfmqB,GAAG,wBAAyB,QAASxE,EAAEyE,MAAM/G,KAAKgH,UAAWhH,OAC7D8G,GAAG,wBAAyB,QAASxE,EAAEyE,MAAM/G,KAAKiH,UAAWjH,OAC7D8G,GAAG,4BAA6B,eAAgBxE,EAAEyE,MAAM/G,KAAKkH,UAAWlH,OACxE8G,GAAG,6BAA8B,eAAgBxE,EAAEyE,MAAM/G,KAAKmH,UAAWnH,OACzE8G,GAAG,yBAA0B,oBAAqBxE,EAAEyE,MAAM/G,KAAKoH,mBAAoBpH,OACnF8G,GAAG,yBAA0B,qBAAsBxE,EAAEyE,MAAM/G,KAAKoH,mBAAoBpH,OACpF8G,GAAG,yBAA0B,8EAA+ExE,EAAEyE,MAAM/G,KAAKqH,YAAarH,OAE3IA,KAAKnC,UAAUlhB,KAAK,WACfmqB,GAAG,wBAAyB,KAAMxE,EAAEyE,MAAM/G,KAAKsH,WAAYtH,OAEhEA,KAAKnC,UAAUlhB,KAAK,gBACfmqB,GAAG,wBAAyB,kBAAmBxE,EAAEyE,MAAM/G,KAAKuH,WAAYvH,OACxE8G,GAAG,wBAAyB,mBAAoBxE,EAAEyE,MAAM/G,KAAKwH,YAAaxH,OAE3EA,KAAKz6C,QAAQihD,GAAG,UAAYxG,KAAKz6C,QAAQihD,GAAG,UAC5CxG,KAAKz6C,QAAQuhD,GAAG,CACZ,wBAAyBxE,EAAEyE,MAAM/G,KAAKxoC,KAAMwoC,MAC5C,wBAAyBsC,EAAEyE,MAAM/G,KAAKxoC,KAAMwoC,MAC5C,wBAAyBsC,EAAEyE,MAAM/G,KAAKyH,eAAgBzH,MACtD,0BAA2BsC,EAAEyE,MAAM/G,KAAK0H,QAAS1H,SAGrDA,KAAKz6C,QAAQuhD,GAAG,wBAAyBxE,EAAEyE,MAAM/G,KAAKhK,OAAQgK,OAC9DA,KAAKz6C,QAAQuhD,GAAG,0BAA2BxE,EAAEyE,MAAM/G,KAAKhK,OAAQgK,QAOpEA,KAAK2H,eAET,EAymCA,OAvmCApF,EAAgB7S,UAAY,CAExBQ,YAAaqS,EAEbmE,aAAc,SAAShE,GACM,kBAAdA,IACP1C,KAAK0C,UAAYN,EAAOM,EAAW1C,KAAKsE,OAAO7vC,SAE1B,kBAAdiuC,IACP1C,KAAK0C,UAAYN,EAAOM,IAEvB1C,KAAKwD,aACNxD,KAAK0C,UAAY1C,KAAK0C,UAAUC,QAAQ,QAExC3C,KAAKwD,YAAcxD,KAAK0D,qBACxB1D,KAAK0C,UAAUkF,OAAO10B,KAAK9H,MAAM40B,KAAK0C,UAAUkF,SAAW5H,KAAK0D,qBAAuB1D,KAAK0D,qBAE5F1D,KAAK76B,SAAW66B,KAAK0C,UAAUoD,SAAS9F,KAAK76B,WAC7C66B,KAAK0C,UAAY1C,KAAK76B,QAAQ4gC,QAC1B/F,KAAKwD,YAAcxD,KAAK0D,qBACxB1D,KAAK0C,UAAUkF,OAAO10B,KAAK9H,MAAM40B,KAAK0C,UAAUkF,SAAW5H,KAAK0D,qBAAuB1D,KAAK0D,sBAGhG1D,KAAKp7B,SAAWo7B,KAAK0C,UAAUsD,QAAQhG,KAAKp7B,WAC5Co7B,KAAK0C,UAAY1C,KAAKp7B,QAAQmhC,QAC1B/F,KAAKwD,YAAcxD,KAAK0D,qBACxB1D,KAAK0C,UAAUkF,OAAO10B,KAAK20B,MAAM7H,KAAK0C,UAAUkF,SAAW5H,KAAK0D,qBAAuB1D,KAAK0D,sBAG/F1D,KAAKoF,WACNpF,KAAK2H,gBAET3H,KAAK8H,oBACT,EAEAnB,WAAY,SAAS/D,GACM,kBAAZA,IACP5C,KAAK4C,QAAUR,EAAOQ,EAAS5C,KAAKsE,OAAO7vC,SAExB,kBAAZmuC,IACP5C,KAAK4C,QAAUR,EAAOQ,IAErB5C,KAAKwD,aACNxD,KAAK4C,QAAU5C,KAAK4C,QAAQC,MAAM,QAElC7C,KAAKwD,YAAcxD,KAAK0D,qBACxB1D,KAAK4C,QAAQgF,OAAO10B,KAAK9H,MAAM40B,KAAK4C,QAAQgF,SAAW5H,KAAK0D,qBAAuB1D,KAAK0D,qBAExF1D,KAAK4C,QAAQkD,SAAS9F,KAAK0C,aAC3B1C,KAAK4C,QAAU5C,KAAK0C,UAAUqD,SAE9B/F,KAAKp7B,SAAWo7B,KAAK4C,QAAQoD,QAAQhG,KAAKp7B,WAC1Co7B,KAAK4C,QAAU5C,KAAKp7B,QAAQmhC,SAE5B/F,KAAK8C,SAAW9C,KAAK0C,UAAUqD,QAAQ5nC,IAAI6hC,KAAK8C,SAASgD,SAAS9F,KAAK4C,WACvE5C,KAAK4C,QAAU5C,KAAK0C,UAAUqD,QAAQ5nC,IAAI6hC,KAAK8C,UAEnD9C,KAAK+H,kBAAoB/H,KAAK4C,QAAQmD,QAEtC/F,KAAKnC,UAAUlhB,KAAK,iBAAiBkE,KAAKmf,KAAK0C,UAAUjuC,OAAOurC,KAAKsE,OAAO7vC,QAAUurC,KAAKsE,OAAOG,UAAYzE,KAAK4C,QAAQnuC,OAAOurC,KAAKsE,OAAO7vC,SAEzIurC,KAAKoF,WACNpF,KAAK2H,gBAET3H,KAAK8H,oBACT,EAEA1B,cAAe,WACX,OAAO,CACX,EAEAC,aAAc,WACV,OAAO,CACX,EAEA2B,WAAY,WACJhI,KAAKwD,aACLxD,KAAKiI,iBAAiB,QACtBjI,KAAKiI,iBAAiB,SACjBjI,KAAK4C,QAGN5C,KAAKnC,UAAUlhB,KAAK,gCAAgCurB,KAAK,YAAY,GAAOC,YAAY,YAFxFnI,KAAKnC,UAAUlhB,KAAK,gCAAgCurB,KAAK,YAAY,GAAMrC,SAAS,aAKxF7F,KAAK4C,SACL5C,KAAKnC,UAAUlhB,KAAK,iBAAiBkE,KAAKmf,KAAK0C,UAAUjuC,OAAOurC,KAAKsE,OAAO7vC,QAAUurC,KAAKsE,OAAOG,UAAYzE,KAAK4C,QAAQnuC,OAAOurC,KAAKsE,OAAO7vC,SAClJurC,KAAK8H,qBACL9H,KAAKoI,kBACLpI,KAAKqI,kBACT,EAEAP,mBAAoB,WAChB,GAAI9H,KAAK4C,QAAS,CAGd,IAAK5C,KAAKgD,kBAAoBhD,KAAKqF,aAAavyC,OAASktC,KAAKsF,cAAcxyC,QACvEktC,KAAK0C,UAAUjuC,OAAO,YAAcurC,KAAKqF,aAAavyC,MAAM2B,OAAO,YAAcurC,KAAK0C,UAAUjuC,OAAO,YAAcurC,KAAKsF,cAAcxyC,MAAM2B,OAAO,cAErJurC,KAAK4C,QAAQnuC,OAAO,YAAcurC,KAAKqF,aAAavyC,MAAM2B,OAAO,YAAcurC,KAAK4C,QAAQnuC,OAAO,YAAcurC,KAAKsF,cAAcxyC,MAAM2B,OAAO,YAElJ,OAGJurC,KAAKqF,aAAavyC,MAAQktC,KAAK0C,UAAUqD,QAAQvzC,KAAK,GACjDwtC,KAAK4D,iBAAoB5D,KAAK4C,QAAQ9vC,SAAWktC,KAAK0C,UAAU5vC,SAAWktC,KAAK4C,QAAQ9uC,QAAUksC,KAAK0C,UAAU5uC,OAGlHksC,KAAKsF,cAAcxyC,MAAQktC,KAAK0C,UAAUqD,QAAQvzC,KAAK,GAAG2L,IAAI,EAAG,SAFjE6hC,KAAKsF,cAAcxyC,MAAQktC,KAAK4C,QAAQmD,QAAQvzC,KAAK,EAK7D,MACQwtC,KAAKqF,aAAavyC,MAAM2B,OAAO,YAAcurC,KAAK0C,UAAUjuC,OAAO,YAAcurC,KAAKsF,cAAcxyC,MAAM2B,OAAO,YAAcurC,KAAK0C,UAAUjuC,OAAO,aACrJurC,KAAKqF,aAAavyC,MAAQktC,KAAK0C,UAAUqD,QAAQvzC,KAAK,GACtDwtC,KAAKsF,cAAcxyC,MAAQktC,KAAK0C,UAAUqD,QAAQvzC,KAAK,GAAG2L,IAAI,EAAG,UAGrE6hC,KAAKp7B,SAAWo7B,KAAK4D,kBAAoB5D,KAAKgD,kBAAoBhD,KAAKsF,cAAcxyC,MAAQktC,KAAKp7B,UACpGo7B,KAAKsF,cAAcxyC,MAAQktC,KAAKp7B,QAAQmhC,QAAQvzC,KAAK,GACrDwtC,KAAKqF,aAAavyC,MAAQktC,KAAKp7B,QAAQmhC,QAAQvzC,KAAK,GAAG2wC,SAAS,EAAG,SAEzE,EAEAiF,gBAAiB,WAGT,IAAIE,EAAMV,EAAQW,EAuBNC,EAxBZxI,KAAKwD,aAEDxD,KAAK4C,SACL0F,EAAOljD,SAAS46C,KAAKnC,UAAUlhB,KAAK,qBAAqB8pB,MAAO,IAChEmB,EAASxiD,SAAS46C,KAAKnC,UAAUlhB,KAAK,uBAAuB8pB,MAAO,IAChEgC,MAAMb,KACNA,EAASxiD,SAAS46C,KAAKnC,UAAUlhB,KAAK,mCAAmC8pB,MAAO,KAEpF8B,EAASvI,KAAK2D,kBAAoBv+C,SAAS46C,KAAKnC,UAAUlhB,KAAK,uBAAuB8pB,MAAO,IAAM,EAC9FzG,KAAKyD,mBAEO,QADT+E,EAAOxI,KAAKnC,UAAUlhB,KAAK,qBAAqB8pB,QAC/B6B,EAAO,KACxBA,GAAQ,IACC,OAATE,GAA0B,KAATF,IACjBA,EAAO,MAGfA,EAAOljD,SAAS46C,KAAKnC,UAAUlhB,KAAK,sBAAsB8pB,MAAO,IACjEmB,EAASxiD,SAAS46C,KAAKnC,UAAUlhB,KAAK,wBAAwB8pB,MAAO,IACjEgC,MAAMb,KACNA,EAASxiD,SAAS46C,KAAKnC,UAAUlhB,KAAK,oCAAoC8pB,MAAO,KAErF8B,EAASvI,KAAK2D,kBAAoBv+C,SAAS46C,KAAKnC,UAAUlhB,KAAK,wBAAwB8pB,MAAO,IAAM,EAC/FzG,KAAKyD,mBAEO,QADT+E,EAAOxI,KAAKnC,UAAUlhB,KAAK,sBAAsB8pB,QAChC6B,EAAO,KACxBA,GAAQ,IACC,OAATE,GAA0B,KAATF,IACjBA,EAAO,KAGnBtI,KAAKqF,aAAavyC,MAAMw1C,KAAKA,GAAMV,OAAOA,GAAQW,OAAOA,GACzDvI,KAAKsF,cAAcxyC,MAAMw1C,KAAKA,GAAMV,OAAOA,GAAQW,OAAOA,IAG9DvI,KAAK0I,eAAe,QACpB1I,KAAK0I,eAAe,SAGpB1I,KAAKnC,UAAUlhB,KAAK,cAAcwrB,YAAY,UAC1B,MAAhBnI,KAAK4C,SAET5C,KAAK2I,sBACT,EAEAD,eAAgB,SAAS1rB,GAMrB,IAeI4rB,EAdA91C,GADA81C,EAAmB,QAAR5rB,EAAiBgjB,KAAKqF,aAAerF,KAAKsF,eACpCxyC,MAAMA,QACvBgB,EAAO80C,EAAS91C,MAAMgB,OACtBw0C,EAAOM,EAAS91C,MAAMw1C,OACtBV,EAASgB,EAAS91C,MAAM80C,SACxBW,EAASK,EAAS91C,MAAMy1C,SACxBM,EAAczG,EAAO,CAACtuC,EAAMhB,IAAQ+1C,cACpC3D,EAAW9C,EAAO,CAACtuC,EAAMhB,EAAO,IAChCg2C,EAAU1G,EAAO,CAACtuC,EAAMhB,EAAO+1C,IAC/BE,EAAY3G,EAAO8C,GAAU/B,SAAS,EAAG,SAASrwC,QAClDk2C,EAAW5G,EAAO8C,GAAU/B,SAAS,EAAG,SAASrvC,OACjDm1C,EAAkB7G,EAAO,CAAC4G,EAAUD,IAAYF,cAChDK,EAAYhE,EAASzyC,OAGrBm2C,EAAW,IACN1D,SAAWA,EACpB0D,EAASE,QAAUA,EAEnB,IAAK,IAAI/lC,EAAI,EAAGA,EAAI,EAAGA,IACnB6lC,EAAS7lC,GAAK,GAIlB,IAAIomC,EAAWF,EAAkBC,EAAYlJ,KAAKsE,OAAOY,SAAW,EAChEiE,EAAWF,IACXE,GAAY,GAEZD,GAAalJ,KAAKsE,OAAOY,WACzBiE,EAAWF,EAAkB,GAKjC,IAHA,IAAIG,EAAUhH,EAAO,CAAC4G,EAAUD,EAAWI,EAAU,GAAIvB,EAAQW,IAGjDc,GAAPtmC,EAAI,EAAS,GAAGumC,EAAM,EAAGvmC,EAAI,GAAIA,IAAKsmC,IAAOD,EAAUhH,EAAOgH,GAASjrC,IAAI,GAAI,QAChF4E,EAAI,GAAKsmC,EAAM,IAAM,IACrBA,EAAM,EACNC,KAEJV,EAASU,GAAKD,GAAOD,EAAQrD,QAAQuC,KAAKA,GAAMV,OAAOA,GAAQW,OAAOA,GACtEa,EAAQd,KAAK,IAETtI,KAAK76B,SAAWyjC,EAASU,GAAKD,GAAK50C,OAAO,eAAiBurC,KAAK76B,QAAQ1Q,OAAO,eAAiBm0C,EAASU,GAAKD,GAAKvD,SAAS9F,KAAK76B,UAAoB,QAAR6X,IAC7I4rB,EAASU,GAAKD,GAAOrJ,KAAK76B,QAAQ4gC,SAGlC/F,KAAKp7B,SAAWgkC,EAASU,GAAKD,GAAK50C,OAAO,eAAiBurC,KAAKp7B,QAAQnQ,OAAO,eAAiBm0C,EAASU,GAAKD,GAAKrD,QAAQhG,KAAKp7B,UAAoB,SAARoY,IAC5I4rB,EAASU,GAAKD,GAAOrJ,KAAKp7B,QAAQmhC,SAM9B,QAAR/oB,EACAgjB,KAAKqF,aAAauD,SAAWA,EAE7B5I,KAAKsF,cAAcsD,SAAWA,EAOlC,IAAIzjC,EAAkB,QAAR6X,EAAiBgjB,KAAK76B,QAAU66B,KAAK0C,UAC/C99B,EAAUo7B,KAAKp7B,QAIfic,GAHmB,QAAR7D,EAAiBgjB,KAAK0C,UAAY1C,KAAK4C,QAC1C5C,KAAKsE,OAAOljB,UAEb,mCACXP,GAAQ,UACRA,GAAQ,QAGJmf,KAAKqD,iBAAmBrD,KAAKsD,sBAC7BziB,GAAQ,aAEN1b,IAAWA,EAAQ2gC,SAAS8C,EAAS1D,WAAgBlF,KAAK4D,iBAA2B,QAAR5mB,EAG/E6D,GAAQ,YAFRA,GAAQ,gDAKZ,IAAI0oB,EAAWvJ,KAAKsE,OAAOU,WAAW4D,EAAS,GAAG,GAAG91C,SAAW81C,EAAS,GAAG,GAAGn0C,OAAO,SAEtF,GAAIurC,KAAKiD,cAAe,CASpB,IARA,IAAIuG,EAAeZ,EAAS,GAAG,GAAG91C,QAC9B22C,EAAcb,EAAS,GAAG,GAAG90C,OAC7BsvC,EAAWx+B,GAAWA,EAAQ9Q,QAAYksC,KAAKoD,QAC/CF,EAAW/9B,GAAWA,EAAQrR,QAAYksC,KAAKkD,QAC/CwG,EAAYD,GAAevG,EAC3ByG,EAAYF,GAAerG,EAE3BwG,EAAY,+BACPh5B,EAAI,EAAGA,EAAI,GAAIA,MACd84B,GAAcvkC,GAAWyL,GAAKzL,EAAQrS,YAAe62C,GAAc/kC,GAAWgM,GAAKhM,EAAQ9R,SAC7F82C,GAAa,kBAAoBh5B,EAAI,KAChCA,IAAM44B,EAAe,uBAAyB,IAC/C,IAAMxJ,KAAKsE,OAAOU,WAAWp0B,GAAK,YAEtCg5B,GAAa,kBAAoBh5B,EAAI,KAChCA,IAAM44B,EAAe,uBAAyB,IAC/C,wBAA0BxJ,KAAKsE,OAAOU,WAAWp0B,GAAK,YAGlEg5B,GAAa,YAGb,IADA,IAAIC,EAAW,8BACN59B,EAAIi3B,EAASj3B,GAAKm3B,EAASn3B,IAChC49B,GAAY,kBAAoB59B,EAAI,KAC/BA,IAAMw9B,EAAc,uBAAyB,IAC9C,IAAMx9B,EAAI,YAIlBs9B,EAAWK,GAFXC,GAAY,YAGhB,CA0BA,GAxBAhpB,GAAQ,iCAAmC0oB,EAAW,QAChD3kC,IAAWA,EAAQohC,QAAQ4C,EAASE,UAAe9I,KAAK4D,iBAA2B,SAAR5mB,IAAmBgjB,KAAKgD,iBAGrGniB,GAAQ,YAFRA,GAAQ,gDAKZA,GAAQ,QACRA,GAAQ,QAGJmf,KAAKqD,iBAAmBrD,KAAKsD,sBAC7BziB,GAAQ,oBAAsBmf,KAAKsE,OAAOM,UAAY,SAE1DtC,EAAEwH,KAAK9J,KAAKsE,OAAOQ,YAAY,SAASvjD,EAAO2nD,GAC3CroB,GAAQ,OAASqoB,EAAY,OACjC,IAEAroB,GAAQ,QACRA,GAAQ,WACRA,GAAQ,UAIY,MAAhBmf,KAAK4C,SAAmB5C,KAAK8C,QAAS,CACtC,IAAIiH,EAAW/J,KAAK0C,UAAUqD,QAAQ5nC,IAAI6hC,KAAK8C,SAASD,MAAM,OACzDj+B,IAAWmlC,EAASjE,SAASlhC,KAC9BA,EAAUmlC,EAElB,CAEA,IAAST,EAAM,EAAGA,EAAM,EAAGA,IAAO,CAS9B,IARAzoB,GAAQ,OAGJmf,KAAKqD,gBACLxiB,GAAQ,oBAAsB+nB,EAASU,GAAK,GAAGU,OAAS,QACnDhK,KAAKsD,qBACVziB,GAAQ,oBAAsB+nB,EAASU,GAAK,GAAGW,UAAY,SAEtDZ,EAAM,EAAGA,EAAM,EAAGA,IAAO,CAE9B,IAAIa,EAAU,GAGVtB,EAASU,GAAKD,GAAKc,OAAO,IAAIt4C,KAAQ,QACtCq4C,EAAQ7/C,KAAK,SAGbu+C,EAASU,GAAKD,GAAKe,aAAe,GAClCF,EAAQ7/C,KAAK,WAGbu+C,EAASU,GAAKD,GAAKv2C,SAAW81C,EAAS,GAAG,GAAG91C,SAC7Co3C,EAAQ7/C,KAAK,MAAO,QAGpB21C,KAAK76B,SAAWyjC,EAASU,GAAKD,GAAKvD,SAAS9F,KAAK76B,QAAS,QAC1D+kC,EAAQ7/C,KAAK,MAAO,YAGpBua,GAAWgkC,EAASU,GAAKD,GAAKrD,QAAQphC,EAAS,QAC/CslC,EAAQ7/C,KAAK,MAAO,YAGpB21C,KAAKoG,cAAcwC,EAASU,GAAKD,KACjCa,EAAQ7/C,KAAK,MAAO,YAGpBu+C,EAASU,GAAKD,GAAK50C,OAAO,eAAiBurC,KAAK0C,UAAUjuC,OAAO,eACjEy1C,EAAQ7/C,KAAK,SAAU,cAGP,MAAhB21C,KAAK4C,SAAmBgG,EAASU,GAAKD,GAAK50C,OAAO,eAAiBurC,KAAK4C,QAAQnuC,OAAO,eACvFy1C,EAAQ7/C,KAAK,SAAU,YAGP,MAAhB21C,KAAK4C,SAAmBgG,EAASU,GAAKD,GAAOrJ,KAAK0C,WAAakG,EAASU,GAAKD,GAAOrJ,KAAK4C,SACzFsH,EAAQ7/C,KAAK,YAGjB,IAAIggD,EAAWrK,KAAKqG,aAAauC,EAASU,GAAKD,KAC9B,IAAbgB,IACwB,kBAAbA,EACPH,EAAQ7/C,KAAKggD,GAEbp/C,MAAMykC,UAAUrlC,KAAKigD,MAAMJ,EAASG,IAG5C,IAAIE,EAAQ,GAAIp6C,GAAW,EAC3B,IAAS4S,EAAI,EAAGA,EAAImnC,EAAQhqD,OAAQ6iB,IAChCwnC,GAASL,EAAQnnC,GAAK,IACJ,YAAdmnC,EAAQnnC,KACR5S,GAAW,GAEdA,IACDo6C,GAAS,aAEb1pB,GAAQ,cAAgB0pB,EAAMxwB,QAAQ,aAAc,IAA5C,kBAA2EuvB,EAAM,IAAMD,EAAM,KAAOT,EAASU,GAAKD,GAAK72C,OAAS,OAE5I,CACAquB,GAAQ,OACZ,CAEAA,GAAQ,WACRA,GAAQ,WAERmf,KAAKnC,UAAUlhB,KAAK,iBAAmBK,EAAO,oBAAoB6D,KAAKA,EAE3E,EAEAonB,iBAAkB,SAASjrB,GAIvB,GAAY,SAARA,GAAoBgjB,KAAK4C,QAA7B,CAEA,IAAI/hB,EAAM1hB,EAAUgG,EAASP,EAAUo7B,KAAKp7B,QAK5C,IAHIo7B,KAAK8C,SAAa9C,KAAKp7B,UAAWo7B,KAAK0C,UAAUqD,QAAQ5nC,IAAI6hC,KAAK8C,SAASgD,SAAS9F,KAAKp7B,WACzFA,EAAUo7B,KAAK0C,UAAUqD,QAAQ5nC,IAAI6hC,KAAK8C,UAElC,QAAR9lB,EACA7d,EAAW6gC,KAAK0C,UAAUqD,QAC1B5gC,EAAU66B,KAAK76B,aACZ,GAAY,SAAR6X,EAAiB,CACxB7d,EAAW6gC,KAAK4C,QAAQmD,QACxB5gC,EAAU66B,KAAK0C,UAGf,IAAI8H,EAAexK,KAAKnC,UAAUlhB,KAAK,sCACvC,GAA2B,IAAvB6tB,EAAa3pB,SAEb1hB,EAASmpC,KAAMG,MAAMtpC,EAASmpC,QAA4BkC,EAAa7tB,KAAK,+BAA+B8pB,MAAnEtnC,EAASmpC,QACjDnpC,EAASyoC,OAAQa,MAAMtpC,EAASyoC,UAAgC4C,EAAa7tB,KAAK,iCAAiC8pB,MAAvEtnC,EAASyoC,UACrDzoC,EAASopC,OAAQE,MAAMtpC,EAASopC,UAAgCiC,EAAa7tB,KAAK,iCAAiC8pB,MAAvEtnC,EAASopC,WAEhDvI,KAAKyD,kBAAkB,CACxB,IAAI+E,EAAOgC,EAAa7tB,KAAK,+BAA+B8pB,MAC/C,OAAT+B,GAAiBrpC,EAASmpC,OAAS,IACnCnpC,EAASmpC,KAAKnpC,EAASmpC,OAAS,IACvB,OAATE,GAAqC,KAApBrpC,EAASmpC,QAC1BnpC,EAASmpC,KAAK,EACtB,CAIAnpC,EAAS2mC,SAAS9F,KAAK0C,aACvBvjC,EAAW6gC,KAAK0C,UAAUqD,SAE1BnhC,GAAWzF,EAAS6mC,QAAQphC,KAC5BzF,EAAWyF,EAAQmhC,QAE3B,CAMAllB,EAAO,8BAKP,IAHA,IAAItL,EAAQyqB,KAAKyD,iBAAmB,EAAI,EACpCjuB,EAAMwqB,KAAKyD,iBAAmB,GAAK,GAE9B1gC,EAAIwS,EAAOxS,GAAKyS,EAAKzS,IAAK,CAC/B,IAAI0nC,EAAU1nC,EACTi9B,KAAKyD,mBACNgH,EAAUtrC,EAASmpC,QAAU,GAAW,IAALvlC,EAAU,GAAKA,EAAI,GAAY,IAALA,EAAU,EAAIA,GAE/E,IAAI5Q,EAAOgN,EAAS4mC,QAAQuC,KAAKmC,GAC7Bt6C,GAAW,EACXgV,GAAWhT,EAAKy1C,OAAO,IAAI9B,SAAS3gC,KACpChV,GAAW,GACXyU,GAAWzS,EAAKy1C,OAAO,GAAG5B,QAAQphC,KAClCzU,GAAW,GAEXs6C,GAAWtrC,EAASmpC,QAAWn4C,EAG/B0wB,GADO1wB,EACC,kBAAoB4S,EAAI,0CAA4CA,EAAI,YAExE,kBAAoBA,EAAI,KAAOA,EAAI,YAJ3C8d,GAAQ,kBAAoB9d,EAAI,yBAA2BA,EAAI,WAMvE,CAUA,IARA8d,GAAQ,aAMRA,GAAQ,kCAEC9d,EAAI,EAAGA,EAAI,GAAIA,GAAKi9B,KAAK0D,oBAAqB,CACnD,IAAIgH,EAAS3nC,EAAI,GAAK,IAAMA,EAAIA,EAC5B5Q,EAAOgN,EAAS4mC,QAAQ6B,OAAO7kC,GAE/B5S,GAAW,EACXgV,GAAWhT,EAAKo2C,OAAO,IAAIzC,SAAS3gC,KACpChV,GAAW,GACXyU,GAAWzS,EAAKo2C,OAAO,GAAGvC,QAAQphC,KAClCzU,GAAW,GAEXgP,EAASyoC,UAAY7kC,GAAM5S,EAG3B0wB,GADO1wB,EACC,kBAAoB4S,EAAI,0CAA4C2nC,EAAS,YAE7E,kBAAoB3nC,EAAI,KAAO2nC,EAAS,YAJhD7pB,GAAQ,kBAAoB9d,EAAI,yBAA2B2nC,EAAS,WAM5E,CAQA,GANA7pB,GAAQ,aAMJmf,KAAK2D,kBAAmB,CAGxB,IAFA9iB,GAAQ,kCAEC9d,EAAI,EAAGA,EAAI,GAAIA,IAChB2nC,EAAS3nC,EAAI,GAAK,IAAMA,EAAIA,EAC5B5Q,EAAOgN,EAAS4mC,QAAQwC,OAAOxlC,GAE/B5S,GAAW,EACXgV,GAAWhT,EAAK2zC,SAAS3gC,KACzBhV,GAAW,GACXyU,GAAWzS,EAAK6zC,QAAQphC,KACxBzU,GAAW,GAEXgP,EAASopC,UAAYxlC,GAAM5S,EAG3B0wB,GADO1wB,EACC,kBAAoB4S,EAAI,0CAA4C2nC,EAAS,YAE7E,kBAAoB3nC,EAAI,KAAO2nC,EAAS,YAJhD7pB,GAAQ,kBAAoB9d,EAAI,yBAA2B2nC,EAAS,YAQ5E7pB,GAAQ,YACZ,CAMA,IAAKmf,KAAKyD,iBAAkB,CACxB5iB,GAAQ,8BAER,IAAI8pB,EAAU,GACVC,EAAU,GAEVzlC,GAAWhG,EAAS4mC,QAAQuC,KAAK,IAAIV,OAAO,GAAGW,OAAO,GAAGzC,SAAS3gC,KAClEwlC,EAAU,yCAEV/lC,GAAWzF,EAAS4mC,QAAQuC,KAAK,GAAGV,OAAO,GAAGW,OAAO,GAAGvC,QAAQphC,KAChEgmC,EAAU,yCAEVzrC,EAASmpC,QAAU,GACnBznB,GAAQ,qBAAuB8pB,EAAU,qDAAuDC,EAAU,eAE1G/pB,GAAQ,yCAA2C8pB,EAAU,iCAAmCC,EAAU,eAG9G/pB,GAAQ,WACZ,CAEAmf,KAAKnC,UAAUlhB,KAAK,iBAAmBK,EAAO,mBAAmB6D,KAAKA,EAzJ1B,CA2JhD,EAEAwnB,iBAAkB,WAEVrI,KAAKgD,kBAAqBhD,KAAK4C,UAAY5C,KAAK0C,UAAUoD,SAAS9F,KAAK4C,UAAY5C,KAAK0C,UAAUyH,OAAOnK,KAAK4C,UAC/G5C,KAAKnC,UAAUlhB,KAAK,mBAAmBurB,KAAK,YAAY,GAExDlI,KAAKnC,UAAUlhB,KAAK,mBAAmBurB,KAAK,YAAY,EAGhE,EAEA2C,KAAM,WACF,IACIC,EADAC,EAAe,CAAEn+B,IAAK,EAAGD,KAAM,GAE/Bu3B,EAAQlE,KAAKkE,MAEb8G,EAAkB1I,EAAEjiD,QAAQ0B,QAShC,OARKi+C,KAAKyC,SAAS+D,GAAG,UAClBuE,EAAe,CACXn+B,IAAKozB,KAAKyC,SAASlrB,SAAS3K,IAAMozB,KAAKyC,SAAS32B,YAChDa,KAAMqzB,KAAKyC,SAASlrB,SAAS5K,KAAOqzB,KAAKyC,SAAS52B,cAEtDm/B,EAAkBhL,KAAKyC,SAAS,GAAGvrB,YAAc8oB,KAAKyC,SAASlrB,SAAS5K,MAGpEu3B,GACR,IAAK,QACD4G,EAAe9K,KAAKz6C,QAAQgyB,SAAS3K,IAAMozB,KAAKz6C,QAAQ0lD,cAAgBF,EAAan+B,KAClEozB,KAAKnC,UAAUoN,eAAiBjL,KAAKyC,SAAS,GAAGthB,eAChE2pB,EAAe9K,KAAKz6C,QAAQgyB,SAAS3K,IAAMozB,KAAKnC,UAAUoN,cAAgBF,EAAan+B,IACvFs3B,EAAQ,MAEZ,MACJ,IAAK,KACD4G,EAAe9K,KAAKz6C,QAAQgyB,SAAS3K,IAAMozB,KAAKnC,UAAUoN,cAAgBF,EAAan+B,IACvF,MACJ,QACIk+B,EAAe9K,KAAKz6C,QAAQgyB,SAAS3K,IAAMozB,KAAKz6C,QAAQ0lD,cAAgBF,EAAan+B,IAKzFozB,KAAKnC,UAAU/pB,IAAI,CACjBlH,IAAK,EACLD,KAAM,EACNmG,MAAO,SAET,IAAIo4B,EAAiBlL,KAAKnC,UAAUsN,aAIpC,GAFAnL,KAAKnC,UAAUuN,YAAY,UAAoB,MAATlH,GAEpB,QAAdlE,KAAKgE,MAAiB,CACtB,IAAIqH,EAAiBL,EAAkBhL,KAAKz6C,QAAQgyB,SAAS5K,KAAOqzB,KAAKz6C,QAAQ4lD,aAC7ED,EAAiBG,EAAiB/I,EAAEjiD,QAAQ0B,QAC5Ci+C,KAAKnC,UAAU/pB,IAAI,CACflH,IAAKk+B,EACLh4B,MAAO,OACPnG,KAAM,IAGVqzB,KAAKnC,UAAU/pB,IAAI,CACflH,IAAKk+B,EACLh4B,MAAOu4B,EACP1+B,KAAM,QAGlB,MAAO,GAAkB,UAAdqzB,KAAKgE,OACRsH,EAAgBtL,KAAKz6C,QAAQgyB,SAAS5K,KAAOo+B,EAAap+B,KAAOqzB,KAAKz6C,QAAQ4lD,aAAe,EACvED,EAAiB,GACvB,EAChBlL,KAAKnC,UAAU/pB,IAAI,CACflH,IAAKk+B,EACLh4B,MAAO,OACPnG,KAAM,IAEH2+B,EAAgBJ,EAAiB5I,EAAEjiD,QAAQ0B,QAClDi+C,KAAKnC,UAAU/pB,IAAI,CACflH,IAAKk+B,EACLn+B,KAAM,OACNmG,MAAO,IAGXktB,KAAKnC,UAAU/pB,IAAI,CACflH,IAAKk+B,EACLn+B,KAAM2+B,EACNx4B,MAAO,aAGZ,CACH,IAAIw4B,KAAgBtL,KAAKz6C,QAAQgyB,SAAS5K,KAAOo+B,EAAap+B,MAC1Cu+B,EAAiB5I,EAAEjiD,QAAQ0B,QAC3Ci+C,KAAKnC,UAAU/pB,IAAI,CACflH,IAAKk+B,EACLn+B,KAAM,OACNmG,MAAO,IAGXktB,KAAKnC,UAAU/pB,IAAI,CACflH,IAAKk+B,EACLn+B,KAAM2+B,EACNx4B,MAAO,QAGnB,CACJ,EAEAtb,KAAM,SAASoD,GACPolC,KAAKoF,YAGTpF,KAAKuL,mBAAqBjJ,EAAEyE,OAAM,SAASnsC,GAAKolC,KAAKwL,aAAa5wC,EAAI,GAAGolC,MAGzEsC,EAAEvkC,UACC+oC,GAAG,4BAA6B9G,KAAKuL,oBAErCzE,GAAG,2BAA4B9G,KAAKuL,oBAEpCzE,GAAG,wBAAyB,yBAA0B9G,KAAKuL,oBAE3DzE,GAAG,0BAA2B9G,KAAKuL,oBAGtCjJ,EAAEjiD,QAAQymD,GAAG,yBAA0BxE,EAAEyE,OAAM,SAASnsC,GAAKolC,KAAK6K,KAAKjwC,EAAI,GAAGolC,OAE9EA,KAAKyL,aAAezL,KAAK0C,UAAUqD,QACnC/F,KAAK0L,WAAa1L,KAAK4C,QAAQmD,QAC/B/F,KAAK+H,kBAAoB/H,KAAK4C,QAAQmD,QAEtC/F,KAAKgI,aACLhI,KAAKnC,UAAUrmC,OACfwoC,KAAK6K,OACL7K,KAAKz6C,QAAQomD,QAAQ,uBAAwB3L,MAC7CA,KAAKoF,WAAY,EACrB,EAEArU,KAAM,SAASn2B,GACNolC,KAAKoF,YAGLpF,KAAK4C,UACN5C,KAAK0C,UAAY1C,KAAKyL,aAAa1F,QACnC/F,KAAK4C,QAAU5C,KAAK0L,WAAW3F,SAI9B/F,KAAK0C,UAAUyH,OAAOnK,KAAKyL,eAAkBzL,KAAK4C,QAAQuH,OAAOnK,KAAK0L,aACvE1L,KAAKtF,SAASsF,KAAK0C,UAAUqD,QAAS/F,KAAK4C,QAAQmD,QAAS/F,KAAK4L,aAGrE5L,KAAK2H,gBAELrF,EAAEvkC,UAAU8tC,IAAI,oBAChBvJ,EAAEjiD,QAAQwrD,IAAI,oBACd7L,KAAKnC,UAAU9M,OACfiP,KAAKz6C,QAAQomD,QAAQ,uBAAwB3L,MAC7CA,KAAKoF,WAAY,EACrB,EAEApP,OAAQ,SAASp7B,GACTolC,KAAKoF,UACLpF,KAAKjP,OAELiP,KAAKxoC,MAEb,EAEAg0C,aAAc,SAAS5wC,GACnB,IAAI1R,EAASo5C,EAAE1nC,EAAE1R,QAKH,WAAV0R,EAAEzR,MACFD,EAAO4iD,QAAQ9L,KAAKz6C,SAASrF,QAC7BgJ,EAAO4iD,QAAQ9L,KAAKnC,WAAW39C,QAC/BgJ,EAAO4iD,QAAQ,mBAAmB5rD,SAEtC8/C,KAAKjP,OACLiP,KAAKz6C,QAAQomD,QAAQ,+BAAgC3L,MACzD,EAEA+L,cAAe,WACX/L,KAAKnC,UAAUgI,SAAS,iBACxB7F,KAAK6K,OACL7K,KAAKz6C,QAAQomD,QAAQ,+BAAgC3L,KACzD,EAEAgM,cAAe,WACXhM,KAAKnC,UAAUsK,YAAY,iBAC3BnI,KAAKz6C,QAAQomD,QAAQ,+BAAgC3L,KACzD,EAEAsH,WAAY,SAAS1sC,GACjB,IAAIqxC,EAAQrxC,EAAE1R,OAAO2V,aAAa,kBAElC,GADAmhC,KAAK4L,YAAcK,EACfA,GAASjM,KAAKsE,OAAOO,iBACrB7E,KAAK+L,oBACF,CACH,IAAIG,EAAQlM,KAAK+D,OAAOkI,GACxBjM,KAAK0C,UAAYwJ,EAAM,GACvBlM,KAAK4C,QAAUsJ,EAAM,GAEhBlM,KAAKwD,aACNxD,KAAK0C,UAAUC,QAAQ,OACvB3C,KAAK4C,QAAQC,MAAM,QAGlB7C,KAAK8D,qBACN9D,KAAKgM,gBACThM,KAAKuH,YACT,CACJ,EAEAP,UAAW,SAASpsC,GACN0nC,EAAE1nC,EAAE1R,QAAQijD,QAAQ,iBACtBlI,SAAS,SACbjE,KAAKqF,aAAavyC,MAAMqwC,SAAS,EAAG,SAChCnD,KAAK4D,iBACL5D,KAAKsF,cAAcxyC,MAAMqwC,SAAS,EAAG,UAEzCnD,KAAKsF,cAAcxyC,MAAMqwC,SAAS,EAAG,SAEzCnD,KAAKoI,iBACT,EAEAnB,UAAW,SAASrsC,GACN0nC,EAAE1nC,EAAE1R,QAAQijD,QAAQ,iBACtBlI,SAAS,QACbjE,KAAKqF,aAAavyC,MAAMqL,IAAI,EAAG,UAE/B6hC,KAAKsF,cAAcxyC,MAAMqL,IAAI,EAAG,SAC5B6hC,KAAK4D,iBACL5D,KAAKqF,aAAavyC,MAAMqL,IAAI,EAAG,UAEvC6hC,KAAKoI,iBACT,EAEAjB,UAAW,SAASvsC,GAGhB,GAAK0nC,EAAE1nC,EAAE1R,QAAQ+6C,SAAS,aAA1B,CAEA,IAAIl0C,EAAQuyC,EAAE1nC,EAAE1R,QAAQkjD,KAAK,cACzB9C,EAAMv5C,EAAMw0B,OAAO,EAAG,GACtB8kB,EAAMt5C,EAAMw0B,OAAO,EAAG,GAEtB/xB,EADM8vC,EAAE1nC,EAAE1R,QAAQijD,QAAQ,iBACflI,SAAS,QAAUjE,KAAKqF,aAAauD,SAASU,GAAKD,GAAOrJ,KAAKsF,cAAcsD,SAASU,GAAKD,GAGtGhE,EAAerF,KAAKqF,aACpBC,EAAgBtF,KAAKsF,cACrB5C,EAAY1C,KAAK0C,UAChB1C,KAAK4C,SACN5C,KAAKnC,UAAUlhB,KAAK,0BAA0BmtB,MAAK,SAASvoD,EAAOmE,GAG/D,IAAI48C,EAAE58C,GAAIu+C,SAAS,QAAnB,CAEA,IAAIl0C,EAAQuyC,EAAE58C,GAAI0mD,KAAK,cACnB9C,EAAMv5C,EAAMw0B,OAAO,EAAG,GACtB8kB,EAAMt5C,EAAMw0B,OAAO,EAAG,GAEtB8nB,EADM/J,EAAE58C,GAAIymD,QAAQ,iBACXlI,SAAS,QAAUoB,EAAauD,SAASU,GAAKD,GAAO/D,EAAcsD,SAASU,GAAKD,GAEzFgD,EAAGrG,QAAQtD,IAAc2J,EAAGvG,SAAStzC,IAAU65C,EAAGlC,OAAO33C,EAAM,OAChE8vC,EAAE58C,GAAImgD,SAAS,YAEfvD,EAAE58C,GAAIyiD,YAAY,WAXY,CActC,GA9B0C,CAiClD,EAEAjB,UAAW,SAAStsC,GAEhB,GAAK0nC,EAAE1nC,EAAE1R,QAAQ+6C,SAAS,aAA1B,CAEA,IAAIl0C,EAAQuyC,EAAE1nC,EAAE1R,QAAQkjD,KAAK,cACzB9C,EAAMv5C,EAAMw0B,OAAO,EAAG,GACtB8kB,EAAMt5C,EAAMw0B,OAAO,EAAG,GAEtB/xB,EADM8vC,EAAE1nC,EAAE1R,QAAQijD,QAAQ,iBACflI,SAAS,QAAUjE,KAAKqF,aAAauD,SAASU,GAAKD,GAAOrJ,KAAKsF,cAAcsD,SAASU,GAAKD,GAW1G,GAAIrJ,KAAK4C,SAAWpwC,EAAKszC,SAAS9F,KAAK0C,UAAW,OAAQ,CACtD,GAAI1C,KAAKwD,WAAY,CACjB,IAAI8E,EAAOljD,SAAS46C,KAAKnC,UAAUlhB,KAAK,qBAAqB8pB,MAAO,IAC/DzG,KAAKyD,mBAEO,QADT+E,EAAOxI,KAAKnC,UAAUlhB,KAAK,qBAAqB8pB,QAC/B6B,EAAO,KACxBA,GAAQ,IACC,OAATE,GAA0B,KAATF,IACjBA,EAAO,IAEf,IAAIV,EAASxiD,SAAS46C,KAAKnC,UAAUlhB,KAAK,uBAAuB8pB,MAAO,IACpEgC,MAAMb,KACNA,EAASxiD,SAAS46C,KAAKnC,UAAUlhB,KAAK,mCAAmC8pB,MAAO,KAEpF,IAAI8B,EAASvI,KAAK2D,kBAAoBv+C,SAAS46C,KAAKnC,UAAUlhB,KAAK,uBAAuB8pB,MAAO,IAAM,EACvGj0C,EAAOA,EAAKuzC,QAAQuC,KAAKA,GAAMV,OAAOA,GAAQW,OAAOA,EACzD,CACAvI,KAAK4C,QAAU,KACf5C,KAAK0G,aAAal0C,EAAKuzC,QAC3B,MAAO,IAAK/F,KAAK4C,SAAWpwC,EAAKszC,SAAS9F,KAAK0C,WAG3C1C,KAAK2G,WAAW3G,KAAK0C,UAAUqD,aAC5B,CAEC,IAEQyC,EAHZ,GAAIxI,KAAKwD,WACD8E,EAAOljD,SAAS46C,KAAKnC,UAAUlhB,KAAK,sBAAsB8pB,MAAO,IAChEzG,KAAKyD,mBAEO,QADT+E,EAAOxI,KAAKnC,UAAUlhB,KAAK,sBAAsB8pB,QAChC6B,EAAO,KACxBA,GAAQ,IACC,OAATE,GAA0B,KAATF,IACjBA,EAAO,IAEXV,EAASxiD,SAAS46C,KAAKnC,UAAUlhB,KAAK,wBAAwB8pB,MAAO,IACrEgC,MAAMb,KACNA,EAASxiD,SAAS46C,KAAKnC,UAAUlhB,KAAK,oCAAoC8pB,MAAO,KAEjF8B,EAASvI,KAAK2D,kBAAoBv+C,SAAS46C,KAAKnC,UAAUlhB,KAAK,wBAAwB8pB,MAAO,IAAM,EACxGj0C,EAAOA,EAAKuzC,QAAQuC,KAAKA,GAAMV,OAAOA,GAAQW,OAAOA,GAEzDvI,KAAK2G,WAAWn0C,EAAKuzC,SACjB/F,KAAK+C,YACP/C,KAAK2I,uBACL3I,KAAKuH,aAEX,CAEIvH,KAAKgD,mBACLhD,KAAK2G,WAAW3G,KAAK0C,YAChB1C,KAAKwD,YAAcxD,KAAK+C,WACzB/C,KAAKuH,cAGbvH,KAAKgI,aAGLptC,EAAEo0B,iBAzE4C,CA2ElD,EAEA2Z,qBAAsB,WAClB,IAAI2D,GAAc,EACdvpC,EAAI,EACR,IAAK,IAAIwjC,KAASvG,KAAK+D,OAAQ,CAC7B,GAAI/D,KAAKwD,WAAY,CACf,IAAI/uC,EAASurC,KAAK2D,kBAAoB,sBAAwB,mBAE9D,GAAI3D,KAAK0C,UAAUjuC,OAAOA,IAAWurC,KAAK+D,OAAOwC,GAAO,GAAG9xC,OAAOA,IAAWurC,KAAK4C,QAAQnuC,OAAOA,IAAWurC,KAAK+D,OAAOwC,GAAO,GAAG9xC,OAAOA,GAAS,CAC9I63C,GAAc,EACdtM,KAAK4L,YAAc5L,KAAKnC,UAAUlhB,KAAK,iBAAmB5Z,EAAI,KAAK8iC,SAAS,UAAUuG,KAAK,kBAC3F,KACJ,CACJ,MAEI,GAAIpM,KAAK0C,UAAUjuC,OAAO,eAAiBurC,KAAK+D,OAAOwC,GAAO,GAAG9xC,OAAO,eAAiBurC,KAAK4C,QAAQnuC,OAAO,eAAiBurC,KAAK+D,OAAOwC,GAAO,GAAG9xC,OAAO,cAAe,CACtK63C,GAAc,EACdtM,KAAK4L,YAAc5L,KAAKnC,UAAUlhB,KAAK,iBAAmB5Z,EAAI,KAAK8iC,SAAS,UAAUuG,KAAK,kBAC3F,KACJ,CAEJrpC,GACJ,CACIupC,IACItM,KAAKuD,qBACLvD,KAAK4L,YAAc5L,KAAKnC,UAAUlhB,KAAK,mBAAmBkpB,SAAS,UAAUuG,KAAK,kBAElFpM,KAAK4L,YAAc,KAEvB5L,KAAK+L,gBAEb,EAEAxE,WAAY,SAAS3sC,GACjBolC,KAAKjP,OACLiP,KAAKz6C,QAAQomD,QAAQ,wBAAyB3L,KAClD,EAEAwH,YAAa,SAAS5sC,GAClBolC,KAAK0C,UAAY1C,KAAKyL,aACtBzL,KAAK4C,QAAU5C,KAAK0L,WACpB1L,KAAKjP,OACLiP,KAAKz6C,QAAQomD,QAAQ,yBAA0B3L,KACnD,EAEAoH,mBAAoB,SAASxsC,GACzB,IAAI2xC,EAASjK,EAAE1nC,EAAE1R,QAAQ4iD,QAAQ,iBAAiB7H,SAAS,QACvDuI,EAAcD,EAAS,OAAS,QAChCE,EAAMzM,KAAKnC,UAAUlhB,KAAK,iBAAiB6vB,GAG3C15C,EAAQ1N,SAASqnD,EAAI9vB,KAAK,gBAAgB8pB,MAAO,IACjD3yC,EAAO24C,EAAI9vB,KAAK,eAAe8pB,MAE9B8F,IACGz4C,EAAOksC,KAAK0C,UAAU5uC,QAAWA,GAAQksC,KAAK0C,UAAU5uC,QAAUhB,EAAQktC,KAAK0C,UAAU5vC,WACzFA,EAAQktC,KAAK0C,UAAU5vC,QACvBgB,EAAOksC,KAAK0C,UAAU5uC,QAI1BksC,KAAK76B,UACDrR,EAAOksC,KAAK76B,QAAQrR,QAAWA,GAAQksC,KAAK76B,QAAQrR,QAAUhB,EAAQktC,KAAK76B,QAAQrS,WACnFA,EAAQktC,KAAK76B,QAAQrS,QACrBgB,EAAOksC,KAAK76B,QAAQrR,QAIxBksC,KAAKp7B,UACD9Q,EAAOksC,KAAKp7B,QAAQ9Q,QAAWA,GAAQksC,KAAKp7B,QAAQ9Q,QAAUhB,EAAQktC,KAAKp7B,QAAQ9R,WACnFA,EAAQktC,KAAKp7B,QAAQ9R,QACrBgB,EAAOksC,KAAKp7B,QAAQ9Q,QAIxBy4C,GACAvM,KAAKqF,aAAavyC,MAAMA,MAAMA,GAAOgB,KAAKA,GACtCksC,KAAK4D,kBACL5D,KAAKsF,cAAcxyC,MAAQktC,KAAKqF,aAAavyC,MAAMizC,QAAQ5nC,IAAI,EAAG,YAEtE6hC,KAAKsF,cAAcxyC,MAAMA,MAAMA,GAAOgB,KAAKA,GACvCksC,KAAK4D,kBACL5D,KAAKqF,aAAavyC,MAAQktC,KAAKsF,cAAcxyC,MAAMizC,QAAQ5C,SAAS,EAAG,WAE/EnD,KAAKoI,iBACT,EAEAf,YAAa,SAASzsC,GAElB,IAAI6xC,EAAMnK,EAAE1nC,EAAE1R,QAAQ4iD,QAAQ,iBAC1BS,EAASE,EAAIxI,SAAS,QAEtBqE,EAAOljD,SAASqnD,EAAI9vB,KAAK,eAAe8pB,MAAO,IAC/CmB,EAASxiD,SAASqnD,EAAI9vB,KAAK,iBAAiB8pB,MAAO,IACnDgC,MAAMb,KACNA,EAASxiD,SAASqnD,EAAI9vB,KAAK,6BAA6B8pB,MAAO,KAEnE,IAAI8B,EAASvI,KAAK2D,kBAAoBv+C,SAASqnD,EAAI9vB,KAAK,iBAAiB8pB,MAAO,IAAM,EAEtF,IAAKzG,KAAKyD,iBAAkB,CACxB,IAAI+E,EAAOiE,EAAI9vB,KAAK,eAAe8pB,MACtB,OAAT+B,GAAiBF,EAAO,KACxBA,GAAQ,IACC,OAATE,GAA0B,KAATF,IACjBA,EAAO,EACf,CAEA,GAAIiE,EAAQ,CACR,IAAIh3B,EAAQyqB,KAAK0C,UAAUqD,QAC3BxwB,EAAM+yB,KAAKA,GACX/yB,EAAMqyB,OAAOA,GACbryB,EAAMgzB,OAAOA,GACbvI,KAAK0G,aAAanxB,GACdyqB,KAAKgD,iBACLhD,KAAK4C,QAAU5C,KAAK0C,UAAUqD,QACvB/F,KAAK4C,SAAW5C,KAAK4C,QAAQnuC,OAAO,eAAiB8gB,EAAM9gB,OAAO,eAAiBurC,KAAK4C,QAAQkD,SAASvwB,IAChHyqB,KAAK2G,WAAWpxB,EAAMwwB,QAE9B,MAAO,GAAI/F,KAAK4C,QAAS,CACrB,IAAIptB,EAAMwqB,KAAK4C,QAAQmD,QACvBvwB,EAAI8yB,KAAKA,GACT9yB,EAAIoyB,OAAOA,GACXpyB,EAAI+yB,OAAOA,GACXvI,KAAK2G,WAAWnxB,EACpB,CAGAwqB,KAAKoI,kBAGLpI,KAAKqI,mBAGLrI,KAAKiI,iBAAiB,QACtBjI,KAAKiI,iBAAiB,QAE1B,EAEAR,eAAgB,WACZ,GAAKzH,KAAKz6C,QAAQihD,GAAG,UAChBxG,KAAKz6C,QAAQkhD,MAAMvmD,OAAxB,CAEA,IAAIwsD,EAAa1M,KAAKz6C,QAAQkhD,MAAM16C,MAAMi0C,KAAKsE,OAAOG,WAClDlvB,EAAQ,KACRC,EAAM,KAEgB,IAAtBk3B,EAAWxsD,SACXq1B,EAAQ6sB,EAAOsK,EAAW,GAAI1M,KAAKsE,OAAO7vC,QAC1C+gB,EAAM4sB,EAAOsK,EAAW,GAAI1M,KAAKsE,OAAO7vC,UAGxCurC,KAAKgD,kBAA8B,OAAVztB,GAA0B,OAARC,KAE3CA,EADAD,EAAQ6sB,EAAOpC,KAAKz6C,QAAQkhD,MAAOzG,KAAKsE,OAAO7vC,SAI9C8gB,EAAMo3B,WAAcn3B,EAAIm3B,YAE7B3M,KAAK0G,aAAanxB,GAClByqB,KAAK2G,WAAWnxB,GAChBwqB,KAAKgI,aApBiC,CAqB1C,EAEAN,QAAS,SAAS9sC,GAEK,IAAdA,EAAEwmC,SAAiC,KAAdxmC,EAAEwmC,SACxBpB,KAAKjP,OAIS,KAAdn2B,EAAEwmC,UACFxmC,EAAElR,iBACFkR,EAAEo0B,kBAEFgR,KAAKjP,OAEb,EAEA4W,cAAe,WACX,GAAI3H,KAAKz6C,QAAQihD,GAAG,UAAYxG,KAAK6D,gBAAiB,CAClD,IAAIjkC,EAAWogC,KAAK0C,UAAUjuC,OAAOurC,KAAKsE,OAAO7vC,QAC5CurC,KAAKgD,mBACNpjC,GAAYogC,KAAKsE,OAAOG,UAAYzE,KAAK4C,QAAQnuC,OAAOurC,KAAKsE,OAAO7vC,SAEpEmL,IAAaogC,KAAKz6C,QAAQkhD,OAC1BzG,KAAKz6C,QAAQkhD,IAAI7mC,GAAU+rC,QAAQ,SAE3C,CACJ,EAEArtC,OAAQ,WACJ0hC,KAAKnC,UAAUv/B,SACf0hC,KAAKz6C,QAAQsmD,IAAI,oBACjB7L,KAAKz6C,QAAQqnD,YACjB,GAIJtK,EAAE10B,GAAGi/B,gBAAkB,SAAS79B,EAAS0rB,GACrC,IAAIoS,EAAmBxK,EAAEiD,QAAO,EAAM,CAAC,EAAGjD,EAAE10B,GAAGi/B,gBAAgBh+B,eAAgBG,GAO/E,OANAgxB,KAAK8J,MAAK,WACN,IAAIpkD,EAAK48C,EAAEtC,MACPt6C,EAAG8I,KAAK,oBACR9I,EAAG8I,KAAK,mBAAmB8P,SAC/B5Y,EAAG8I,KAAK,kBAAmB,IAAI+zC,EAAgB78C,EAAIonD,EAAkBpS,GACzE,IACOsF,IACX,EAEOuC,CAEX,CA3hDmBwK,CAAQ3K,EAAQC,EAC1B,mDCZP2K,EAAOC,QAUD,SAAUn+C,GA0NjB,OAxNC,WAEG,IAAIo+C,EAAIp+C,EAEJq+C,EADQD,EAAEE,IACUD,YACpBE,EAASH,EAAEI,KAGXC,EAAO,GACPC,EAAW,GACXC,EAAY,GACZC,EAAY,GACZC,EAAY,GACZC,EAAY,GACZC,EAAgB,GAChBC,EAAgB,GAChBC,EAAgB,GAChBC,EAAgB,IAGnB,WAGG,IADA,IAAIC,EAAI,GACClrC,EAAI,EAAGA,EAAI,IAAKA,IAEjBkrC,EAAElrC,GADFA,EAAI,IACGA,GAAK,EAEJA,GAAK,EAAK,IAK1B,IAAIiJ,EAAI,EACJkiC,EAAK,EACT,IAASnrC,EAAI,EAAGA,EAAI,IAAKA,IAAK,CAE1B,IAAIorC,EAAKD,EAAMA,GAAM,EAAMA,GAAM,EAAMA,GAAM,EAAMA,GAAM,EACzDC,EAAMA,IAAO,EAAW,IAALA,EAAa,GAChCZ,EAAKvhC,GAAKmiC,EACVX,EAASW,GAAMniC,EAGf,IAAIoiC,EAAKH,EAAEjiC,GACPqiC,EAAKJ,EAAEG,GACPE,EAAKL,EAAEI,GAGPjgB,EAAa,IAAR6f,EAAEE,GAAqB,SAALA,EAC3BV,EAAUzhC,GAAMoiB,GAAK,GAAOA,IAAM,EAClCsf,EAAU1hC,GAAMoiB,GAAK,GAAOA,IAAM,GAClCuf,EAAU3hC,GAAMoiB,GAAK,EAAOA,IAAM,GAClCwf,EAAU5hC,GAAKoiB,EAGXA,EAAU,SAALkgB,EAAwB,MAALD,EAAsB,IAALD,EAAmB,SAAJpiC,EAC5D6hC,EAAcM,GAAO/f,GAAK,GAAOA,IAAM,EACvC0f,EAAcK,GAAO/f,GAAK,GAAOA,IAAM,GACvC2f,EAAcI,GAAO/f,GAAK,EAAOA,IAAM,GACvC4f,EAAcG,GAAM/f,EAGfpiB,GAGDA,EAAIoiC,EAAKH,EAAEA,EAAEA,EAAEK,EAAKF,KACpBF,GAAMD,EAAEA,EAAEC,KAHVliC,EAAIkiC,EAAK,CAKjB,CACH,CAhDA,GAmDD,IAAIK,EAAO,CAAC,EAAM,EAAM,EAAM,EAAM,EAAM,GAAM,GAAM,GAAM,IAAM,GAAM,IAKpEC,EAAMnB,EAAOmB,IAAMrB,EAAY5H,OAAO,CACtCkJ,SAAU,WAIN,IAAIzO,KAAK0O,UAAY1O,KAAK2O,iBAAmB3O,KAAK1xB,KAAlD,CAiBA,IAZA,IAAItX,EAAMgpC,KAAK2O,eAAiB3O,KAAK1xB,KACjCsgC,EAAW53C,EAAI63C,MACfC,EAAU93C,EAAI+3C,SAAW,EAMzBC,EAAyB,IAHfhP,KAAK0O,SAAWI,EAAU,GAGhB,GAGpBG,EAAcjP,KAAKkP,aAAe,GAC7BC,EAAQ,EAAGA,EAAQH,EAAQG,IAC5BA,EAAQL,EACRG,EAAYE,GAASP,EAASO,IAE9B/gB,EAAI6gB,EAAYE,EAAQ,GAElBA,EAAQL,EASHA,EAAU,GAAKK,EAAQL,GAAW,IAEzC1gB,EAAKmf,EAAKnf,IAAM,KAAO,GAAOmf,EAAMnf,IAAM,GAAM,MAAS,GAAOmf,EAAMnf,IAAM,EAAK,MAAS,EAAKmf,EAAS,IAAJnf,KANpGA,EAAKmf,GAHLnf,EAAKA,GAAK,EAAMA,IAAM,MAGN,KAAO,GAAOmf,EAAMnf,IAAM,GAAM,MAAS,GAAOmf,EAAMnf,IAAM,EAAK,MAAS,EAAKmf,EAAS,IAAJnf,GAGpGA,GAAKmgB,EAAMY,EAAQL,EAAW,IAAM,IAMxCG,EAAYE,GAASF,EAAYE,EAAQL,GAAW1gB,GAM5D,IADA,IAAIghB,EAAiBpP,KAAKqP,gBAAkB,GACnCC,EAAW,EAAGA,EAAWN,EAAQM,IAAY,CAGlD,GAFIH,EAAQH,EAASM,EAEjBA,EAAW,EACX,IAAIlhB,EAAI6gB,EAAYE,QAEhB/gB,EAAI6gB,EAAYE,EAAQ,GAI5BC,EAAeE,GADfA,EAAW,GAAKH,GAAS,EACE/gB,EAEAyf,EAAcN,EAAKnf,IAAM,KAAO0f,EAAcP,EAAMnf,IAAM,GAAM,MAChE2f,EAAcR,EAAMnf,IAAM,EAAK,MAAS4f,EAAcT,EAAS,IAAJnf,GAE9F,CAxDA,CAyDJ,EAEAmhB,aAAc,SAAUC,EAAGj4B,GACvByoB,KAAKyP,cAAcD,EAAGj4B,EAAQyoB,KAAKkP,aAAczB,EAAWC,EAAWC,EAAWC,EAAWL,EACjG,EAEAmC,aAAc,SAAUF,EAAGj4B,GAEvB,IAAI6W,EAAIohB,EAAEj4B,EAAS,GACnBi4B,EAAEj4B,EAAS,GAAKi4B,EAAEj4B,EAAS,GAC3Bi4B,EAAEj4B,EAAS,GAAK6W,EAEhB4R,KAAKyP,cAAcD,EAAGj4B,EAAQyoB,KAAKqP,gBAAiBxB,EAAeC,EAAeC,EAAeC,EAAeR,GAG5Gpf,EAAIohB,EAAEj4B,EAAS,GACnBi4B,EAAEj4B,EAAS,GAAKi4B,EAAEj4B,EAAS,GAC3Bi4B,EAAEj4B,EAAS,GAAK6W,CACpB,EAEAqhB,cAAe,SAAUD,EAAGj4B,EAAQ03B,EAAaxB,EAAWC,EAAWC,EAAWC,EAAWL,GAczF,IAZA,IAAIoC,EAAU3P,KAAK0O,SAGfkB,EAAKJ,EAAEj4B,GAAc03B,EAAY,GACjCY,EAAKL,EAAEj4B,EAAS,GAAK03B,EAAY,GACjCa,EAAKN,EAAEj4B,EAAS,GAAK03B,EAAY,GACjCc,EAAKP,EAAEj4B,EAAS,GAAK03B,EAAY,GAGjCE,EAAQ,EAGH/jC,EAAQ,EAAGA,EAAQukC,EAASvkC,IAAS,CAE1C,IAAI4kC,EAAKvC,EAAUmC,IAAO,IAAMlC,EAAWmC,IAAO,GAAM,KAAQlC,EAAWmC,IAAO,EAAK,KAAQlC,EAAe,IAALmC,GAAad,EAAYE,KAC9Hc,EAAKxC,EAAUoC,IAAO,IAAMnC,EAAWoC,IAAO,GAAM,KAAQnC,EAAWoC,IAAO,EAAK,KAAQnC,EAAe,IAALgC,GAAaX,EAAYE,KAC9He,EAAKzC,EAAUqC,IAAO,IAAMpC,EAAWqC,IAAO,GAAM,KAAQpC,EAAWiC,IAAO,EAAK,KAAQhC,EAAe,IAALiC,GAAaZ,EAAYE,KAC9HgB,EAAK1C,EAAUsC,IAAO,IAAMrC,EAAWkC,IAAO,GAAM,KAAQjC,EAAWkC,IAAO,EAAK,KAAQjC,EAAe,IAALkC,GAAab,EAAYE,KAGlIS,EAAKI,EACLH,EAAKI,EACLH,EAAKI,EACLH,EAAKI,CACT,CAGIH,GAAOzC,EAAKqC,IAAO,KAAO,GAAOrC,EAAMsC,IAAO,GAAM,MAAS,GAAOtC,EAAMuC,IAAO,EAAK,MAAS,EAAKvC,EAAU,IAALwC,IAAcd,EAAYE,KACnIc,GAAO1C,EAAKsC,IAAO,KAAO,GAAOtC,EAAMuC,IAAO,GAAM,MAAS,GAAOvC,EAAMwC,IAAO,EAAK,MAAS,EAAKxC,EAAU,IAALqC,IAAcX,EAAYE,KACnIe,GAAO3C,EAAKuC,IAAO,KAAO,GAAOvC,EAAMwC,IAAO,GAAM,MAAS,GAAOxC,EAAMqC,IAAO,EAAK,MAAS,EAAKrC,EAAU,IAALsC,IAAcZ,EAAYE,KACnIgB,GAAO5C,EAAKwC,IAAO,KAAO,GAAOxC,EAAMqC,IAAO,GAAM,MAAS,GAAOrC,EAAMsC,IAAO,EAAK,MAAS,EAAKtC,EAAU,IAALuC,IAAcb,EAAYE,KAGvIK,EAAEj4B,GAAcy4B,EAChBR,EAAEj4B,EAAS,GAAK04B,EAChBT,EAAEj4B,EAAS,GAAK24B,EAChBV,EAAEj4B,EAAS,GAAK44B,CACpB,EAEArB,QAAS,IAWb5B,EAAEsB,IAAMrB,EAAYiD,cAAc5B,EACrC,CArNA,GAwNM1/C,EAAS0/C,GAEjB,CAtO6BzB,CAAQsD,EAAQ,MAAWA,EAAQ,MAAiBA,EAAQ,MAAUA,EAAQ,MAAaA,EAAQ,6BCA9HrD,EAAOC,QAUD,SAAUn+C,GAucjB,OArcC,WAEG,IAAIo+C,EAAIp+C,EAEJq+C,EADQD,EAAEE,IACUD,YACpBE,EAASH,EAAEI,KAEf,MAAMgD,EAAI,GAGJC,EAAS,CACX,UAAY,WAAY,UAAY,SACpC,WAAY,UAAY,UAAY,WACpC,WAAY,UAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,YAGVC,EAAS,CACX,CAAI,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,UAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,UAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,SACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,UAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,QAAY,UAAY,UAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,SACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,UAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,YACxC,CAAI,WAAY,WAAY,WAAY,WACpC,SAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,SACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,SACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,UACpC,UAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,UAAY,UACpC,WAAY,WAAY,WAAY,WACpC,UAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,UACpC,UAAY,UAAY,WAAY,UACpC,WAAY,UAAY,WAAY,WACpC,SAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,UAAY,UAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,SACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,UAAY,UAAY,WAAY,WACpC,UAAY,WAAY,SAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,UACpC,UAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,UAAY,UACpC,WAAY,UAAY,UAAY,UACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,YACxC,CAAI,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,UAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,SAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,UACpC,UAAY,WAAY,UAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,SAAY,WAAY,SACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,UACpC,UAAY,SAAY,WAAY,WACpC,WAAY,UAAY,UAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,UAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,UACpC,UAAY,UAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,QAAY,UACpC,UAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,UAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,YACxC,CAAI,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,UAAY,SACpC,WAAY,SAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,SAAY,SACpC,WAAY,WAAY,WAAY,WACpC,UAAY,UAAY,WAAY,UACpC,WAAY,WAAY,SAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,UAAY,UAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,SACpC,UAAY,WAAY,UAAY,WACpC,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ACdr+C,QAAQ,EACRntC,KAAM,EACN5L,MAAO,SAACwnG,EAAmBtxE,GACvB,MACS,WADDA,EAEO,EAGA,ICyCVgjF,GAAgE,CACzEh1G,KAAM,kBACNkzF,aAAc,OACdr+C,QAAQ,EACRntC,KAAM,EACN5L,MAAO,SAACwnG,EAAmB57F,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,GA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CA,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,IAGElxE,EAA2B,CAC7B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEE20C,EAA0B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC7D38C,EAA2B,CAC7B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEEgxD,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,KAGE7gC,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEE0oC,EAA4B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC/DjsB,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEE1D,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,IAC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AS,SACf5pC,EAAW0H,EACC,GAAT2xC,EAAG3xC,IAAWA,GAAKkiC,KACtBliC,EAAA,IAEAnX,EAAWmX,EAAI1H,EAAA,GACfzP,GApCI,GAoCa,CACnB2E,EAAM3E,GAAY,MACb,IAAI2wD,EAAW,EAAGA,GAAYhsD,IAAOgsD,EACxCe,EAAUp0C,GACZtd,GAAsB,GAExBwP,EAAM,MAAQs5C,EAAG3xC,GACjBu6C,EAAU56D,GAAMkJ,GAAY,GAAKo5C,EAAS5pC,KAC1CkiD,EAAU+T,EAAQj2D,IAClB2H,GAAA,QA5CQ,IA8CNkiC,GACFqY,EAAU4D,GAELpzC,CAAA,UA8HAuuC,EAAWtuC,GAClBA,EAAUlb,KAAKkE,IAAIlE,KAAKmE,IAAI+W,EAAS,GAAI,KAErC3S,GAAkB2S,IAAA,SA1qBCA,GAAA,QACnBxzB,EAAM,CACR,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IAGOuzB,EAAI,EAAGA,EAAI,GAAIA,IAAK,KACvB7H,EAAIi7C,GAAQ3mE,EAAIuzB,GAAKC,EAAK,IAAM,KACpC9H,EAAIpT,KAAKkE,IAAIlE,KAAKmE,IAAIiP,EAAG,GAAI,KAC7BiD,EAAO2zD,EAAO/uD,IAAM7H,CAAA,SAElBvjB,EAAO,CACT,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IAEO0Y,EAAI,EAAGA,EAAI,GAAIA,IAAK,KACvBi2D,EAAInQ,GAAQx+D,EAAK0Y,GAAK2S,EAAK,IAAM,KACrCsjD,EAAIx+D,KAAKkE,IAAIlE,KAAKmE,IAAIq6D,EAAG,GAAI,KAC7B7gC,EAAQqsC,EAAOzhE,IAAMi2D,CAAA,SAEnBrsB,EAAO,CACT,EACA,YACA,YACA,YACA,EACA,WACA,SACA,YAEEpX,EAAI,EACC8mB,EAAM,EAAGA,EAAM,EAAGA,IAAA,IACpB,IAAIzP,EAAM,EAAGA,EAAM,EAAGA,IACzBkX,EAAQvuB,GAAK,GAAO1kB,EAAO2zD,EAAOjvC,IAAMoX,EAAK0P,GAAO1P,EAAKC,GAAO,GAChEC,EAAStX,GAAK,GAAO4C,EAAQqsC,EAAOjvC,IAAMoX,EAAK0P,GAAO1P,EAAKC,GAAO,GAClErX,GAAA,CA2gBkB,CAGpB7f,EAAU,GAAKlb,KAAK20B,MAAM,IAAOzZ,GAAWlb,KAAK20B,MAAM,IAAgB,EAAVzZ,IAG/D3S,EAAiB2S,EAAA,MA5Hd2yO,OAAS,SACZ3yO,EACA3S,GAEIA,GAASihD,EAAWjhD,GAGxB6pC,EAAU,IAAIr6D,MACd2lB,EAAU,EACVwS,EAAU,EAGVosB,EAAU,OAhLVA,EAAU,OACVA,EAAU,IACV8tB,EAAU,IACVA,EAAU,IACVA,EAAU,IACVA,EAAU,IACVA,EAAU,GACVA,EAAU,GACVA,EAAU,GACVA,EAAU,GACV9tB,EAAU,GACVA,EAAU,GACV8tB,EAAU,GACVA,EAAU,cAsBV9tB,EAAU,OACVA,EAAU,KACV8tB,EAAU,OACL,IAAIlvC,EAAI,EAAGA,EAAI,GAAIA,IACtBkvC,EAAU/zC,EAAO6E,IAEnBkvC,EAAU,OACL,IAAI1iE,EAAI,EAAGA,EAAI,GAAIA,IACtB0iE,EAAUzsB,EAAQj2C,GAAA,CA9BV,GAqKV,SAlKiBwzB,EAAOxzB,GACxB40C,EAAU,OACVA,EAAU,IACV8tB,EAAU,GACV9tB,EAAU50C,GACV40C,EAAUphB,GACVkvC,EAAU,GACVA,EAAU,GACVA,EAAU,IACVA,EAAU,GACVA,EAAU,GACVA,EAAU,IACVA,EAAU,GACVA,EAAU,GACVA,EAAU,IACVA,EAAU,GAmJV,CACUlvC,EAAMrsC,MAAOqsC,EAAM7iB,QAAA,WAnI7BikC,EAAU,OACVA,EAAU,KAEV8tB,EAAU,OACL,IAAIlvC,EAAI,EAAGA,EAAI,GAAIA,IACtBkvC,EAAUtxD,EAAyBoiB,EAAI,QAEpC,IAAIxzB,EAAI,EAAGA,GAAK,GAAIA,IACvB0iE,EAAU3c,EAAwB/lD,IAGpC0iE,EAAU,QACL,IAAInvC,EAAI,EAAGA,EAAI,GAAIA,IACtBmvC,EAAUt5D,EAAyBmqB,EAAI,QAEpC,IAAI7H,EAAI,EAAGA,GAAK,IAAKA,IACxBg3C,EAAUtI,EAAwB1uC,IAGpCg3C,EAAU,OACL,IAAIv6D,EAAI,EAAGA,EAAI,GAAIA,IACtBu6D,EAAUnpC,EAA2BpxB,EAAI,QAEtC,IAAI0Y,EAAI,EAAGA,GAAK,GAAIA,IACvB6hD,EAAUT,EAA0BphD,IAGtC6hD,EAAU,QACL,IAAIiE,EAAI,EAAGA,EAAI,GAAIA,IACtBjE,EAAU1sB,EAA2B2wB,EAAI,QAEtC,IAAIh4C,EAAI,EAAGA,GAAK,IAAKA,IACxB+zC,EAAUpwB,EAA0B3jB,GAAA,CAmGT,GA9F7BimB,EAAU,OACVA,EAAU,IACV8tB,EAAU,GACVA,EAAU,GACVA,EAAU,GACVA,EAAU,GACVA,EAAU,IACVA,EAAU,GACVA,EAAU,IACVA,EAAU,GACVA,EAAU,IACVA,EAAU,OAwFNiE,EAAM,EACNmQ,EAAM,EACNrsB,EAAM,EAEVz0C,EAAU,EACVwS,EAAU,OAEL29O,OAAOpyO,YAAc,mBAQtBsf,EAEA8mB,EAAGzkB,EAAG4sC,EACNt5E,EAAOk5D,EAAGP,EAAK1f,EAAKsgC,EATpB54B,EAAYn2B,EAAM5/B,KAClB0uD,EAAQ9uB,EAAMrsC,MACd0iE,EAASr2B,EAAM7iB,OAEfoyF,EAAoB,EAARzgD,EAGd2D,EAAI,EAGCA,EAAI4D,GAAQ,KACjBxW,EAAI,EACGA,EAAI0vD,GAAW,KACpB/5F,EAAQ+5F,EAAY98C,EAAI5S,EACxBsuB,GAAO,EACP1f,EAAM,EAEDsgC,EAAM,EAAGA,EAAM,GAAIA,IAGtBrgB,EAAIl5D,GAFJi5C,EAAMsgC,GAAO,GAEKwgB,GADlBphC,EAAkB,GAAL,EAAN4gB,IAGHt8B,EAAIhE,GAAO4H,IAEbqY,GAAK6gC,GAAa98C,EAAI,EAAIhE,EAAM4H,IAG9BxW,EAAIsuB,GAAOohC,IAEb7gC,GAAK7uB,EAAIsuB,EAAMohC,EAAY,GAG7B5oC,EAAIxQ,EAAUuY,KACdxsB,EAAIiU,EAAUuY,KACdogB,EAAI34B,EAAUuY,KASdphD,EAAIyhE,IACAxgB,EAAc5H,GACd4H,EAAersB,EAAI,IAAQ,GAC3BqsB,EAAeugB,EAAI,IAAQ,IAC3B,IACF,IACFjxE,EAAIkxE,IACAxgB,EAAe5H,EAAI,IAAQ,GAC3B4H,EAAersB,EAAI,KAAS,GAC5BqsB,EAAeugB,EAAI,KAAS,IAC5B,IACF,IACFtgB,EAAIugB,IACAxgB,EAAe5H,EAAI,KAAS,GAC5B4H,EAAersB,EAAI,KAAS,GAC5BqsB,EAAeugB,EAAI,KAAS,IAC5B,IACF,IAGJ3b,EAAMpE,EAAUzhD,EAAK8gD,EAAS+E,EAAK3mE,EAAQ0rB,GAC3CorD,EAAMvU,EAAUlxD,EAAKs5C,EAAUmsB,EAAKvjD,EAASprB,GAC7CsiD,EAAM8X,EAAUP,EAAKrX,EAAUF,EAAKl3B,EAASprB,GAC7CkrC,GAAK,GAEP4S,GAAK,KAMHz9B,GAAW,EAAG,KACZg5C,EAAW,GACfA,EAAS,GAAKh5C,EAAU,EACxBg5C,EAAS,IAAM,GAAMh5C,EAAU,GAAM,EACrCu6C,EAAUvB,EAAA,QAGZ5sB,EAAU,OAEH,IAAIlf,WAAWg1B,EAAA,EAiBtBl3B,EAAUA,GAAW,sBAxIjBA,EAAOmI,OAAO+hB,aACT19C,EAAI,EAAGA,EAAI,IAAKA,IAEvB01C,EAAI11C,GAAKwzB,EAAKxzB,EAAA,CAqIK,GA/frBA,EAASgJ,EACPoI,EACA20C,GAEFxyB,EAAUvqB,EACRuwB,EACA0oC,GAEFv2C,EAAS1iB,EACPI,EACAgxD,GAEFjyD,EAAUa,EACRgtC,EACA1D,GAAA,mBAKE9e,EAAU,EACVxzB,EAAU,EACLuzB,EAAM,EAAGA,GAAO,GAAIA,IAAO,KAE7B,IAAI7H,EAAK8H,EAAS9H,EAAK1rB,EAAS0rB,IACnC++B,EAAS,MAAQ/+B,GAAM6H,EACvBujD,EAAQ,MAAQprD,GAAM,GACtBorD,EAAQ,MAAQprD,GAAI,GAAK6H,EACzBujD,EAAQ,MAAQprD,GAAI,GAAKA,EAAA,IAGtB,IAAIvjB,IAAUnI,EAAU,GAAImI,IAAUqrB,EAASrrB,IAClDsiD,EAAS,MAAQtiD,GAASorB,EAC1BujD,EAAQ,MAAQ3uE,GAAS,GACzB2uE,EAAQ,MAAQ3uE,GAAO,GAAKorB,EAC5BujD,EAAQ,MAAQ3uE,GAAO,GAAKnI,EAAU,EAAImI,EAE5CqrB,IAAY,EACZxzB,IAAY,GAvBZ,GAqfF,eAzdK,IAAIwzB,EAAI,EAAGA,EAAI,IAAKA,IACvBuuC,EAAcvuC,GAAK,MAAQA,EAC3BuuC,EAAevuC,EAAI,IAAQ,GAAK,MAAQA,EACxCuuC,EAAevuC,EAAI,IAAQ,GAAK,KAAOA,EAAI,MAC3CuuC,EAAevuC,EAAI,IAAQ,IAAM,MAAQA,EACzCuuC,EAAevuC,EAAI,KAAS,IAAM,MAAQA,EAC1CuuC,EAAevuC,EAAI,KAAS,GAAK,MAAQA,EAAI,QAC7CuuC,EAAevuC,EAAI,KAAS,IAAM,MAAQA,EAC1CuuC,EAAevuC,EAAI,KAAS,IAAM,KAAOA,CAAA,CAid3C,GAGAsuC,EAAWtuC,EAAA,CC9sCf,SAASopJ,GAAWppJ,EAAQxzB,GAAA,QACrB6vI,IAAM,OACN/tF,OAAStuB,EAAA,KACTk5R,MAAQ,IAAI/2R,SAASnC,EAAOsuB,QAAA,KAC5B6qQ,gBAAkB3sT,EAAA,KAClB4sT,WAAA,EAAY,KACZ7jT,KACH4yB,OAAO+hB,aAAatY,KAAK0c,OAAO,IAAMnmB,OAAO+hB,aAAatY,KAAK0c,OAAO,SACnE+tF,KAAO,GACqD,IAA7D,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,MAAMl3H,QAAQysB,KAAKr8B,MACpD,MAAM,IAAI7jB,MAAM,yBACb2nU,cAAA,KACAC,UAAA,CCrBP,SAASnwI,GAAYnpJ,GAAA,SAsCVxzB,EAAEwzB,GAAA,IACJA,EAAG,MAAMtuC,MAAM,sBAEbquC,EAAGC,EAAGxzB,EAAGuzB,GAAA,IACX,IAAI7H,EAAI,EAAG,EAAIA,EAAGA,IAAA,GAAS8H,EAAExzB,EAAI0rB,IAAM6H,EAAEsqB,WAAWnyB,GAAI,OAAO,UAC7D,UAEAA,EAAE8H,EAAGxzB,EAAGuzB,EAAG7H,EAAGvjB,GAAA,IAChB,IAAI0Y,EAAI,EAAGA,EAAI1Y,EAAG0Y,IAAK2S,EAAExzB,EAAI6gB,GAAK0S,EAAE7H,EAAI7K,EAAA,UAEtC1Y,EAAEqrB,EAAGxzB,EAAGuzB,EAAG7H,GAAA,IACb,IAAIvjB,EAAI,EAAGA,EAAIujB,EAAGvjB,IAAKqrB,EAAExzB,EAAImI,GAAKorB,CAAA,UAEhC1S,EAAE2S,GAAA,OACF,IAAImuB,WAAWnuB,EAAA,UAEfmzC,EAAGnzC,EAAGxzB,GAAA,IACR,IAAIuzB,EAAI,GAAI7H,EAAI,EAAGA,EAAI8H,EAAG9H,IAAK6H,EAAE9jC,KAAK,IAAIuQ,GAAA,OACxCuzB,CAAA,UAcA5E,EAAG6E,EAAGxzB,GAAA,IAQTuzB,EAAI,mBAPCC,EAAED,EAAG7H,EAAGvjB,GAAA,IACV,IAAI0Y,EAAI1Y,EAAEujB,GAAIi7C,EAAK,EAAGA,EAAK9lD,IAC9B0S,EAAE9jC,KAAK0Y,EAAE7iB,OAASomC,EAAI,EAAI,GAAK,IAAI1rB,KAC/BmI,EAAE7iB,OAASomC,EAAI,IAFci7C,IAGjCnzC,EAAED,EAAEozC,GAAKj7C,EAAI,EAAGvjB,EAAA,CAGZ,CACNorB,EAAG,EAAGC,GACDD,CAAA,KAEL0iB,EAAe,eACbziB,EAAO4R,KAAA,SAIF6Q,EAAEziB,EAAGxzB,GAAA,IACP,IAAIuzB,EAAK,GAAMvzB,EAAI,IAAQ,EAAGwzB,EAAID,GAAKA,KAAO,SAC5CA,GAAKC,EAAKD,EAAI,GAAMA,EAAIC,CAAA,UAExBouC,EAAEpuC,EAAGD,EAAG7H,EAAGvjB,EAAG0Y,GACrB7gB,IAAImI,EAAIujB,IAAA,GACM8H,EAAED,GAAZprB,GAAKujB,IAAgB7K,QAClB,EAAI1Y,EAAA,UA+EJwiD,EAAEn3B,EAAGD,EAAG7H,EAAGvjB,EAAGw+D,GAAA,GACrB3mE,EAAE,MAAQ2mE,GACN,KAAOA,EAAG,IAAIh4C,EAAI9N,EAAE,UACnB,GAAiB,OAAX8N,EAAI9N,EAAE8lD,IAAiB,OAAO,kBAhFhCnzC,EAAGD,EAAG7H,EAAGvjB,EAAGw+D,EAAGh4C,GAAA,IAGtBg8B,EACAF,EAHEpX,EAAI9f,EACN4mC,EAAI,GAAKzuC,EAGTg/B,EAAI7pC,EAAE,IACN7K,EAAI6K,EAAE,QACR7gB,EAAE,GAAK2mE,GACP3mE,EAAE,MAAQmI,GACVnI,EAAE,MAAQwzB,GACVxzB,EAAE,EAAI0rB,GACD++B,EAAI,EAAGA,EAAIkc,IAAKlc,EAAG,IAClB,GAAKtiD,EAAEsiD,GAAI,OAAO,IACpBC,EAAEviD,EAAEsiD,GAAA,IAEJC,EAAE,IAAMic,EAAG,OAAO,MACtB3wD,EAAE,GAAK,EACF20C,EAAI,EAAG,GAAKA,IAAKA,EAAG,IACnBD,EAAEC,GAAK,GAAKA,EAAG,OAAO,EAC1B30C,EAAE20C,EAAI,GAAK30C,EAAE20C,GAAKD,EAAEC,EAAA,KAEjBF,EAAI,EAAGA,EAAIkc,IAAKlc,EAAIE,EAAIxiD,EAAEsiD,GAAK,EAAItiD,EAAEsiD,KAAO97B,EAAE3Y,EAAE20C,MAAQF,GAAA,GACzD,GAAKz0C,EAAE,IACT,OAAQ7N,EAAI,IAAI2uE,GAASpsB,EAAI,EAAKviD,EAAExS,MAAQg5B,EAAE,GAAKizC,EAAEpuC,EAAG6f,EAAG,EAAG8mB,EAAGhyD,GAAIgyD,EAAA,IAMrE3xC,EALE1H,GAAK,EACPzP,EAAI8oD,EAAI,EACR6H,EAAI,EACJtsB,EAAI,EACJqsB,EAAI,EAEJugB,EAAI,GAAK52D,EAAA,IACX++B,EAAI,EACJE,EAAI,EACCgc,EAAI,EAAGhc,GAAKj/B,IAAKi/B,EAAGgc,IAAM,EAAG,IAEhCjxB,GADAqsB,IAAM,EAGF,GADJA,GAAKrX,EAAEC,IACI,OAAO,OACX,EAAID,EAAEC,KAAMD,EAAEC,IAClBxiD,EAAI,IAAI2uE,GACJpsB,EAAIC,EACNxiD,EAAExS,MAAQg5B,EAAE87B,KACbmX,EAAEpuC,EAAG6f,EAAI2uB,EAAG2E,EAAG2b,EAAGn6E,GACjB65D,EAAI/rB,EAAE+rB,EAAGrX,EAAA,KAEhBA,EAAIj/B,EAAI,EACHi7C,EAAI,EAAG,IAAMhc,IAAKA,EAAGgc,IAAM,EAAG,IAEjCjxB,GADAqsB,IAAM,EAGF,GADJA,GAAKrX,EAAEC,IACI,OAAO,OACX,EAAID,EAAEC,KAAMD,EAAEC,GAAI,IACvBxiD,EAAI,IAAI2uE,GACH9U,EAAI3wD,IAAMyP,EAAG,KAChBuyB,GAAKivC,EAEA95D,EAAI,IADT1H,EAAI6pC,GACej/B,EAAI,GAAK5K,KAEtB,IADJ0H,GAAKkiC,EAAE5pC,QAELA,EACF0H,IAAM,EAIR2xC,GADAmoB,EAAI,IADJ95D,EAAI1H,EAAI4K,GAIR8H,EAAED,GADFzS,EAAIkhD,EAAI3wD,IACCq5C,EAAIliC,EAAIkD,EACjB8H,EAAED,EAAIzS,GAAGnrB,MAAQ09C,EAAI9f,EAAIzS,CAAA,CAE3B3Y,EAAEuiD,EAAIC,EAAIj/B,EACVvjB,EAAExS,MAAQg5B,EAAE87B,KACZmX,EAAEpuC,EAAG6f,GAAK2uB,GAAKt2C,GAAIi7C,EAAG2b,EAAGn6E,GACzB65D,EAAI/rB,EAAE+rB,EAAGrX,EAAA,SAGNjV,GAAK,EAAI1/B,EAAE,IAAM,EAAI,EAAImkD,CAAA,CAKS,CAChC3mC,EAAGD,EAAG7H,EAAGvjB,EAAGw+D,EAAGh4C,EAAA,UAEjBmoD,IAAA,KACFnhF,MAAQyvC,KAAKslB,EAAI,WAEfD,IAAA,KACF90D,MAAQyvC,KAAKslB,EAAI,WAEfrX,IAAA,KACF4S,EAAI0gB,EAAG,EAAGmQ,GAAA,KACVx0B,EAAIzhC,EAAE,QACNwlL,GAAKjhK,KAAKm/J,GAAKn/J,KAAK+8J,GAAK/8J,KAAKmlK,GAAK,OACnCE,GAAK9jI,EAAGq+G,GAAIv6H,EAAA,UAEV0P,EAAG3mC,EAAGD,EAAG7H,EAAGvjB,GACnBnI,EAAE,MAAQwzB,GACVxzB,EAAE,MAAQuzB,GACVvzB,EAAE,WAAamI,GACfqrB,EAAEuqK,GAAK,IACPvqK,EAAEyuC,EAAI,EACNzuC,EAAE1S,GAAK,EACP0S,EAAE+qK,GAAK,EACP/qK,EAAEwkK,GAAKzkK,EACPC,EAAE2kK,GAAKzsK,EACP8H,EAAEg5K,GAAKj5K,EACPC,EAAEg2K,GAAK99K,EAAIvjB,EACXqrB,EAAEi2K,GAAK,GAAKthM,EAAIujB,EAAIvjB,EAAI,EAAI,EAAIujB,EAChCtiB,EAAGoqB,EAAA,UAEIk3B,EAAGl3B,EAAGxzB,GAAA,IACR,IAAIuzB,EAAI,EAAG,EAAIvzB,KAAOuzB,GAAKgG,EAAE/F,EAAG,MAAQxzB,EAAA,OACtCuzB,CAAA,UAEAvd,EAAGwd,EAAGxzB,GAAA,IACTuzB,EAAIm3B,EAAGl3B,EAAGxzB,GAAA,OACPo6D,EAAE5mC,IAAMD,EAAIA,CAAA,UAEZ/K,EAAGgL,EAAGD,EAAG7H,EAAGvjB,GAAA,IACf0Y,EACF8lD,EAAI,MACN3mE,EAAE,MAAQwzB,GACVxzB,EAAE,MAAQuzB,GACVvzB,EAAE,WAAamI,GACfqrB,EAAEixK,GAAKt8L,EACPqrB,EAAE0rK,GAAK,EACP1rK,EAAEouC,EAAI,EACNpuC,EAAEm3B,EAAI,IACFxiD,IAAMA,EAAI,GACT0Y,EAAI,EAAGA,EAAI1Y,IAAK0Y,EAAG8lD,GAAKpzC,EAAE7H,EAAI7K,IAAO,EAAIA,EAC9C2S,EAAE0rK,GAAKv4H,EACPnzC,EAAEysK,GAAK93L,EACPqrB,EAAEwkK,GAAKzkK,EACPC,EAAE2kK,GAAKzsK,CAAA,UAEA5K,EAAG0S,GAAA,KACH,GAAKA,EAAEouC,GAAKpuC,EAAEysK,GAAKzsK,EAAEixK,IACzBjxK,EAAE0rK,MAAQ,EACR1rK,EAAE0rK,IAAO1rK,EAAEwkK,GAAGxkK,EAAE2kK,GAAK3kK,EAAEysK,KAAQzT,GAAK,IAAQ,IAC3Ch5J,EAAEysK,GACHzsK,EAAEouC,GAAK,EACZ0gB,EAAG9uD,KAAQA,EAAEm3B,EAAI,EAAKn3B,EAAEouC,EAAI,YAErBvwD,EAAEmiB,EAAGD,GAAA,GACZvzB,EAAE,GAAKuzB,IACFC,EAAEm3B,GAAKp3B,GAAKi0J,GAAI,KACf97J,EAAIq2C,EAAGvuC,GAAKk0J,GAAGn0J,GAAA,OACnBC,EAAEouC,GAAKruC,EACPzS,EAAG0S,GACI9H,CAAA,QAET8H,EAAEm3B,EAAI,EACEn3B,EAAEouC,EAAI,WAEPI,IAAA,KACFlhD,EAAIskB,KAAK24J,GAAK34J,KAAK68B,EAAI,OACvB+1H,GAAK,QACLG,GAAK,OACLqU,GAAK,QACLhD,GAAK,OACLC,GAAK,QACLlL,GAAK,WAEH7oJ,IAAA,KACFwpJ,GAAK,OACLlH,GAAK,QACLrtI,EAAIvlB,KAAKw8B,EAAIx8B,KAAK66J,GAAK76J,KAAKq/J,GAAKr/J,KAAK+yJ,GAAK,WAEzCp2H,EAAGvuC,GAAA,OACFA,EAAE0rK,MAAQ1rK,EAAEouC,EAAK4qH,GAAK,KAAS,WAEhClqG,EAAG9uD,GAAA,OACVxzB,EAAEwzB,EAAEysK,IAAMzsK,EAAEixK,IACLjxK,EAAEm3B,GAAMn3B,EAAEysK,IAAMzsK,EAAEixK,IAAMjxK,EAAEouC,EAAI4qH,EAAA,UAE9Bp7K,EAAGoiB,EAAGxzB,GACbwzB,EAAEouC,EAAI5hE,EACNwzB,EAAEm3B,EAAI23B,EAAG9uD,EAAA,UAEFuyB,EAAGvyB,GACVA,EAAEouC,GAAK1Y,KAAOlpD,EAAEwzB,EAAEouC,GAAK1Y,IAAKpoC,EAAG0S,GAAA,UAExBpqB,EAAGoqB,GACVxzB,EAAE,MAAQwzB,GAAK,MAAQA,EAAEwkK,IACzBxkK,EAAE2kK,GAAK3kK,EAAEi2K,IACHj2K,EAAEyuC,GAAKzuC,EAAEwkK,GAAGxkK,EAAE2kK,MAAS3kK,EAAEyuC,GAAK,KAAQ,EAAKzuC,EAAE1S,GAAK,IACnD9gB,EAAE,MAAQwzB,GAAK,MAAQA,EAAEwkK,IAC1BxkK,EAAE2kK,GAAK3kK,EAAEg2K,IACHh2K,EAAE1S,GAAK,EAAK0S,EAAEyuC,EAAIzuC,EAAEwkK,GAAGxkK,EAAE2kK,MAAS3kK,EAAEyuC,GAAK,GAC3CzuC,EAAE+qK,GACD/qK,EAAE1S,EAAI,GACL0S,EAAEyuC,IAAM,EAAKzuC,EAAE1S,GAAK,EAAK0S,EAAE+qK,GAAK,aAEnCnkI,EAAE5mC,GAAA,OACFk3B,EAAGl3B,EAAG,YAEN+F,EAAE/F,EAAGxzB,GAAA,IACRuzB,EAAIC,EAAEuqK,GAAA,EACNvqK,EAAE1S,GAAK1X,EAAGoqB,GAAA,IACV9H,EAAI8H,EAAE1S,EACR3Y,EAAKorB,EAAIvzB,IAAO,EAChB6gB,GAAK2S,EAAEyuC,IAAMv2C,EAAIvjB,GAAK,MACxB0Y,GAAM0S,GAAKprB,EAAKqrB,EAAEyuC,GAAO95D,EAAI,GAAMujB,IAAO,GAAO6H,EAAIprB,EAAI,EACzDujB,EAAI6H,EACCprB,EAAI,EAAG,KAAOujB,GAAMvjB,GAAK,EAAKujB,IAAM,SACzCA,EAAI,EAAKvjB,EAAIgkL,GAAGzgK,GAChB8H,EAAE1S,GAAK4K,EACP8H,EAAEuqK,IAAMxqK,GAAK7H,GAAK,EACX7K,CAAA,UAEAohD,EAAGzuC,EAAGxzB,EAAGuzB,GAChBC,EAAExzB,EAAI,GAAMuzB,GAAK,GAAM,IACvBC,EAAExzB,EAAI,GAAMuzB,GAAK,GAAM,IACvBC,EAAExzB,EAAI,GAAMuzB,GAAK,EAAK,IACtBC,EAAExzB,EAAI,GAAgB,IAAVuzB,CAAU,UAEfyiB,EAAGxiB,EAAGxzB,GAAA,OACLwzB,EAAExzB,EAAI,GAAYwzB,EAAExzB,EAAI,IAAM,WAE/BsyC,EAAG9e,EAAGxzB,GAAA,OACNg2C,EAAGxiB,EAAGxzB,GAAMwzB,EAAExzB,EAAI,IAAM,YAExBgJ,EAAGwqB,EAAGxzB,GAAA,OACNg2C,EAAGxiB,EAAGxzB,GAAMg2C,EAAGxiB,EAAGxzB,EAAI,IAAM,YAE5B+iE,EAAGvvC,EAAGD,GAAA,IACT7H,EAAI,GAAK6H,EAAA,OACbvzB,EAAE,MAAQwzB,GACVxzB,EAAE,EAAIuzB,GACNC,EAAE4yB,EAAIvlC,EAAE6K,GACJ,MAAQ8H,EAAE4yB,EAAU,GACxB5yB,EAAE0wK,GAAK,GAAK3wK,EACZC,EAAEksK,GAAKnsK,EACA,YAEAmvC,EAAGlvC,EAAGD,GACbvzB,EAAE,MAAQwzB,GACVxzB,EAAE,MAAQuzB,GACVvzB,EAAEwzB,EAAEksK,IAAMnsK,EAAEmsK,IACZh0K,EAAE6H,EAAE6yB,EAAG,EAAG5yB,EAAE4yB,EAAG,EAAG,GAAK7yB,EAAEmsK,GAAA,UAElB9qJ,IAAA,KACFwR,EAAI,QACJs5I,GAAKt6J,KAAK8+J,GAAK,WAEb3hI,EAAG/uC,EAAGD,EAAG7H,EAAGvjB,GACnBnI,EAAE,MAAQ0rB,GACV1rB,EAAE,MAAQmI,GAAA,IACN0Y,EAAI6K,EAAE,GACRi7C,EAAIx+D,EAAE,aACH0Y,IAAMA,GAAK2S,EAAImzC,EAAIpzC,EAAI,GAAKA,GAAA,GAC5BozC,IAAMA,GAAKpzC,EAAI1S,EAAI2S,EAAI,GAAKA,GAC7B,GAAK3S,GAAK,GAAK8lD,EAAU,GAC7Bj7C,EAAE,GAAK7K,EACP1Y,EAAE,GAAKw+D,EACA,YAEA7E,EAAGtuC,EAAGxzB,GAAA,OACLwzB,GAAK,GAAKxzB,GAAK,IAAOA,CAAA,UAEvBkiE,EAAG1uC,EAAGxzB,GAAA,QAEF,WAAJwzB,IAAuB,WAAJxzB,KAAqB,EAAK,cACxC,SAAJwzB,IAAqB,SAAJxzB,KAAmB,EAAK,YAC/C,WAGK2hE,EAAE3hE,EAAGuzB,GACZC,EAAKD,GAAK,SAASA,EAAG7H,EAAGvjB,EAAG0Y,EAAG8lD,EAAGh4C,EAAGsnB,GAAA,IAC/B2rB,EAAA,IACCA,EAAI,EAAGA,EAAI+E,IAAK/E,EAAG,KAClBjX,EAAIn3B,EAAKxzB,GAAG2uB,EAAEsnB,EAAI2rB,EAAI,GAAIz5D,EAAG0Y,EAAI+gD,GACrCjzC,EAAEsnB,EAAI2rB,GAAKM,EAAG3uC,EAAE7H,EAAIk2C,GAAIjX,EAAA,YAIrB1I,IAAA,KACFqpJ,GAAKlmK,KAAK6kK,GAAK7kK,KAAK+kK,GAAK,WAEvB5nH,EAAG/uD,EAAGxzB,GAAA,QACO,YAATwzB,EAAIxzB,MAAqB,IAAMwzB,EAAIxzB,KAAQ,WAE/C2pD,EAAGn2B,GAAA,OACN,GAAKA,GAAK,IAAMA,EAAUA,EAC1B,EAAIA,EAAU,EACd,IAAMA,EAAU,oBAEb8uB,EAAG9uB,EAAGxzB,GAAA,OACN2pD,EAAGn2B,GAAMA,EAAIxzB,EAAI,IAAQ,aAEzB6pD,EAAGr2B,EAAGxzB,EAAGuzB,GAAA,OACTjb,KAAKC,IAAIvY,EAAIuzB,GAAKjb,KAAKC,IAAIib,EAAID,EAAA,UAE/BwvE,EAAGvvE,EAAGxzB,EAAGuzB,EAAG7H,EAAGvjB,EAAG0Y,EAAG8lD,GAAA,IAC5Bj7C,EAAI7K,EAAE8lD,EAAI,GACLpzC,EAAI,EAAGA,EAAIprB,IAAKorB,EAAG1S,EAAE8lD,EAAIpzC,GAAK7H,EAAIw2C,EAAG1uC,EAAExzB,EAAIuzB,GAAI7H,EAAA,UAE7Cu6B,EAAGzyB,EAAGxzB,EAAGuzB,EAAG7H,EAAGvjB,GAAA,IAClB0Y,EAAA,IACCA,EAAI,EAAGA,EAAI0S,IAAK1S,EAAG,KAClB8lD,EAAInzC,EAAExzB,EAAI6gB,GACZ8N,EAAKg4C,GAAK,EAAK,IAGf1wB,EAAQ,UADRA,GADAA,EAAQ,SAAJ0wB,KACMh4C,GAAK,IAAMA,IAEvBjD,EAAEvjB,EAAI0Y,IAAW,WAAJ8lD,GAAkB1wB,IAAO,YAGjCurB,EAAGhuC,EAAGxzB,GACbA,EAAEmqM,GAAgB,IAAV32K,EACRxzB,EAAEiqM,GAAMz2K,GAAK,EAAK,IAClBxzB,EAAEsrM,GAAM93K,GAAK,GAAM,aAEZkpJ,EAAGlpJ,EAAGxzB,EAAGuzB,EAAG7H,EAAGvjB,EAAG0Y,GAAA,IACrB8lD,EAAA,IACCA,EAAI,EAAGA,EAAIj7C,IAAKi7C,EAAG,KAClBh4C,EAAI3uB,EAAEuzB,EAAIozC,GACZ1wB,EAAItnB,IAAM,EAEVizC,EAAIjzC,EAEJg8B,EAAQ,KADRA,GAFAA,EAAIh8B,IAAM,MAEE6E,EAAE22K,IAAM,IAAO,KAAQl0J,GAAK,IAAO,MAAS,IAIxD2rB,EAAQ,KADRA,GADAA,IAAYpuC,EAAEy2K,IAAM,IAAO,KAAQh0J,GAAK,IAAO,MAAS,KAC5CziB,EAAE83K,IAAM,IAAO,KAAQ3gJ,GAAK,IAAO,MAAS,IAE1DxiD,EAAE0Y,EAAI8lD,IAAU,WAAJh4C,IAAmBg8B,GAAK,IAAMiX,CAAA,WAGrCxb,EAAGpmD,EAAGuzB,EAAG7H,EAAGvjB,EAAG0Y,GACtB2S,EAAKD,GAAK,SAASC,EAAGxzB,EAAGuzB,EAAG7H,EAAGi7C,EAAGh4C,EAAGsnB,EAAG2rB,EAAGjX,GAAA,IACpCj/B,EAAIuqB,EAAGvqB,EAAIk2C,IAAKl2C,EAAA,IACduqB,EAAI,EAAGA,EAAI0U,IAAK1U,EAAG0wB,EAAEh4C,KAAO9N,EAAE0S,EAAEprB,EAAEqrB,EAAExzB,OAAA,EAE7CwzB,EAAKxzB,GAAK,SAASA,EAAGuzB,EAAGozC,EAAGh4C,EAAGsnB,EAAG2rB,EAAGjX,GAAA,IAC/BmsB,EAAI,GAAK92E,EAAE8gB,EACb2pC,EAAIzqD,EAAEi+L,GACN5qJ,EAAIrzC,EAAEmmD,EAAE,GACRgU,EAAIn6D,EAAEgiE,EAAA,GACJ,EAAI8U,EACN,IAAK92E,GAAK,GAAKA,EAAE8gB,GAAK,EAAGq5C,GAAK,GAAK2c,GAAK,EAAGvjD,EAAIozC,IAAKpzC,EAAG,KAEnDm3B,EADE10C,EAAI,MAEH00C,EAAI,EAAGA,EAAID,IAAKC,EACnBA,EAAI1qD,IAAMgW,EAAI7N,EAAEwmB,EAAEsnB,OAAS2rB,EAAEjX,KAAO9pC,EAAEwyB,EAAEr9B,EAAImkD,IAAOnkD,IAAM8gE,CAAA,MAE1DtjD,EAAK,eAAiB9H,GAAGiD,EAAGsnB,EAAG5C,EAAG8mB,EAAGyH,EAAGjX,EAAGp3B,EAAGozC,EAAGlc,EAAA,WAGjDtE,EAAG3yB,EAAGxzB,EAAGuzB,EAAG7H,EAAGvjB,GAAA,IACjBorB,EAAIvzB,EAAIuzB,EAAGvzB,EAAIuzB,GAAK,KACnB1S,EAAI2S,EAAExzB,KACV0rB,EAAEvjB,KAAQ0Y,GAAK,GAAM,IACrB6K,EAAEvjB,KAAQ0Y,GAAK,EAAK,IACpB6K,EAAEvjB,KAAkB,IAAV0Y,CAAU,WAGf2hE,EAAGhvD,EAAGxzB,EAAGuzB,EAAG7H,EAAGvjB,GAAA,IACjBorB,EAAIvzB,EAAIuzB,EAAGvzB,EAAIuzB,GAAK,KACnB1S,EAAI2S,EAAExzB,KACV0rB,EAAEvjB,KAAQ0Y,GAAK,GAAM,IACrB6K,EAAEvjB,KAAQ0Y,GAAK,EAAK,IACpB6K,EAAEvjB,KAAkB,IAAV0Y,EACV6K,EAAEvjB,KAAQ0Y,GAAK,GAAM,cAGhB6mB,EAAGlU,EAAGxzB,EAAGuzB,EAAG7H,EAAGvjB,GAAA,IACjBorB,EAAIvzB,EAAIuzB,EAAGvzB,EAAIuzB,GAAK,KAErB1S,GADE8lD,EAAInzC,EAAExzB,OACG,GAAM,IAAS2mE,GAAK,GAAM,GACrCA,EAAgB,IAAVA,EAAmBA,GAAK,GAAM,GACtCj7C,EAAEvjB,KAAO0Y,EACT6K,EAAEvjB,KAAOw+D,CAAA,WAGJ9E,EAAGruC,EAAGxzB,EAAGuzB,EAAG7H,EAAGvjB,GAAA,IACjBorB,EAAIvzB,EAAIuzB,EAAGvzB,EAAIuzB,GAAK,KAErB1S,GADE8lD,EAAInzC,EAAExzB,OACG,GAAM,IAAS2mE,GAAK,GAAM,EACrCA,EAAMA,GAAK,EAAK,IAASA,GAAK,EAAK,GACrCj7C,EAAEvjB,KAAO0Y,EACT6K,EAAEvjB,KAAOw+D,CAAA,WAGJu5G,GAAG1sJ,EAAGxzB,EAAGuzB,EAAG7H,EAAGvjB,GAAA,IACjBorB,EAAIvzB,EAAIuzB,EAAGvzB,EAAIuzB,GAAK,KACnB1S,EAAI2S,EAAExzB,KACV0rB,EAAEvjB,KAAkB,IAAV0Y,EACV6K,EAAEvjB,KAAQ0Y,GAAK,EAAK,IACpB6K,EAAEvjB,KAAQ0Y,GAAK,GAAM,cAGhBo/J,GAAGzsJ,EAAGxzB,EAAGuzB,EAAGprB,EAAG0Y,EAAG8lD,GAAA,GACrB,GAAKA,EACP,IAAKpzC,EAAIvzB,EAAIuzB,EAAGvzB,EAAIuzB,GAEhB0uC,EACE95D,IAFHw+D,EAAInzC,EAAExzB,MAGC,IAAM,GACN2mE,EAAE,IAAM,EAAK,MACbA,EAAE,IAAM,EAAK,SACdA,EAAE,IAAM,MACT,GAEH9lD,GAAK,QACP6K,EAAEvjB,EAAG0Y,EAAG2S,EAAGxzB,EAAGuzB,EAAA,UAEZ4sJ,GAAGngL,EAAGuzB,GACbC,EAAKD,GAAG,GAAKC,EAAKxzB,EAAI,KACtBwzB,EAAKD,GAAG,GAAKC,EAAKxzB,EAAI,KACtBwzB,EAAKD,GAAG,GAAKC,EAAKxzB,EAAI,KACtBwzB,EAAKD,GAAG,GAAKC,EAAKxzB,EAAI,KACtBwzB,EAAKD,GAAG,GAAKC,EAAKxzB,EAAI,KACtBwzB,EAAKD,GAAG,GAAKC,EAAKxzB,EAAI,KACtBwzB,EAAKD,GAAG,GAAKC,EAAKxzB,EAAI,KACtBwzB,EAAKD,GAAG,GAAKC,EAAKxzB,EAAI,KACtBwzB,EAAKD,GAAG,GAAKC,EAAKxzB,EAAI,KACtBwzB,EAAKD,GAAG,GAAKC,EAAKxzB,EAAI,KACtBwzB,EAAKD,GAAG,IAAMC,EAAKxzB,EAAI,MACvBwzB,EAAKD,GAAG,IAAMC,EAAKxzB,EAAI,MACvBwzB,EAAKD,GAAG,IAAMC,EAAKxzB,EAAI,MACvBwzB,EAAKD,GAAG,IAAMC,EAAKxzB,EAAI,MACvBwzB,EAAKD,GAAG,IAAMC,EAAKxzB,EAAI,KACvBwzB,EAAKD,GAAG,IAAMC,EAAKxzB,EAAI,cAEhBqgL,GAAG7sJ,GAAA,OACHA,GAAKu5R,IAAMv5R,GAAKw5R,IAAMx5R,GAAKy5R,IAAMz5R,GAAK05R,EAAA,UAEtC1sI,KAAA,KACF2f,GAAK,QACL3qK,KAAO4P,KAAKk9C,EAAIl9C,KAAKg7J,GAAK,WAExBhgB,KAAA,KACF/uK,EAAI,QACJo5C,EAAI,QACJ2rI,GAAK,QACLpgJ,EAAI,QACJ8yJ,GAAK1jK,KAAK+nR,GAAK/nR,KAAKgoR,GAAKhoR,KAAK6mK,GAAK7mK,KAAKu7J,GAAKv7J,KAAKq+J,GAAKr+J,KAAKi+J,GAAKj+J,KAAKu3J,GAAKv3J,KAAKs3I,EAAIt3I,KAAKykB,EAAIzkB,KAAKsQ,EAAItQ,KAAK29B,EAAI,WAE7Gu9G,KAAA,KACFutB,GAAKzoK,KAAKz0B,OAASy0B,KAAKj+C,MAAQi+C,KAAK2gB,EAAI,OACzC0E,EAAI,CAAC,EAAD,KACJA,EAAE4iQ,KAAO,IAAI7sI,GAAA,KACb/1H,EAAEi2I,GAAK,IAAItgB,GAAA,KACXgrB,GAAK,cAEH7qB,KAAA,KACFp5L,MAAQ,CAAC,QACTwpB,OAAS,CAAC,QACVg9L,GAAK,CAAC,QACNC,GAAK,CAAC,QACN/zM,OAAS,CAAC,YAER8gJ,KAAA,KACF2xD,GAAKlnK,KAAK2kK,GAAK3kK,KAAKsnK,GAAKtnK,KAAKm7J,GAAKn7J,KAAKo7J,GAAKp7J,KAAKs3J,GAAKt3J,KAAKwkK,GAAKxkK,KAAK4zE,GAAK5zE,KAAKp8B,EAAIo8B,KAAK5c,EAAI4c,KAAK44J,GAAK54J,KAAKkoR,GAAKloR,KAAK47J,GAAK,WAEzHtgB,GAAGltJ,GAAA,OACVvrC,MAAM,gCACCurC,EAAEyuB,CAAA,UAEF2+H,GAAGptJ,EAAGxzB,GAAA,IACTuzB,EAAIC,EAAEyuB,EACR95C,EAAInI,EAAE6xM,GAAGpnJ,EAAE4iQ,KACXxsS,EAAI1Y,EAAEg4L,GACNx5H,EAAIx+D,EAAEi4L,GAAK5sK,EAAEspK,GAAK30L,EAAEm6E,EACpB3zD,EAAI6uL,GAAEx9M,EAAE6xM,GAAG9rJ,GACX9P,EAAIziB,EAAEniB,EACNuwD,EAAIpuC,EAAEuvC,EACNpY,EAAIn3B,EAAEi3B,EACNqsB,EAAItjD,EAAEkiB,EACN+U,EAAIj3B,EAAE4iK,GACN/iJ,EAAI7f,EAAEq2B,EACNsQ,EAAIn6D,EAAEulM,GACN76I,EAAI1qD,EAAEylM,GACNzvL,EAAIhW,EAAEuoM,GACN//K,EAAIxoB,EAAEwoM,GACN1nL,EAAI0S,EAAEspK,GACNzrL,EAAImiB,EAAEspK,GAAKtpK,EAAEyuB,EACb+f,EAAIxuC,EAAE+uD,EACN7sC,EAAKssB,EAAI,GAAM,SACZlhD,EACD6N,EAAEsnB,EAAG2rB,EAAG,KAAM,KAAMjX,EAAGmsB,EAAGrsB,EAAGpX,EAAGsX,EAAGmsB,EAAGrsB,EAAGpX,EAAGxyB,EAAG8lD,EAAG,KAAM,KAAM3E,IAC7DrzC,EAAE3uB,EAAE4lM,GAAI5lM,EAAE8lM,GAAI7vJ,EAAG2rB,EAAGzH,EAAGzP,EAAG10C,EAAGwS,EAAGmiC,EAAGmsB,EAAGrsB,EAAGpX,EAAGxyB,EAAG8lD,EAAIx+D,EAAEm6E,EAAGzhE,EAAG8lD,EAAG3E,KAC7DzuC,GACCzS,EAAI,EAAIzP,EAAGyP,GAAK,EACpBq5C,EAAIxP,EACFD,EAAIosB,EACJ9gE,EAAIy0C,EACJjiC,EAAI6qB,EACJyjC,GAAKtjD,EAAEo1K,GACPv1J,GAAK7f,EAAEo1K,GACPjiI,GAAK,EAAIx+D,EAAEm6E,EAEZ3zD,EAAEsnB,GADD2rB,GAAK,EAAIpuC,EAAEmpK,IACHnpK,EAAEmpK,GAAI1mJ,EAAG2rB,EAAGzH,EAAGzP,EAAG10C,EAAGwS,EAAGmiC,EAAGmsB,EAAGrsB,EAAGpX,EAAGxyB,EAAG8lD,EAAIx+D,EAAEm6E,EAAGzhE,EAAG8lD,EAAG3E,GAAA,OACnEJ,GAAKpuC,EAAEmpK,GACPnpK,EAAExqB,EAAIqI,EAAImiB,EAAEmzC,GACPj7C,EAAE1rB,EAAE4lM,GAAI5lM,EAAE8lM,GAAI7vJ,EAAG2rB,EAAGI,GACrBt2C,EAAE1rB,EAAEulM,GAAIvlM,EAAEylM,GAAI96I,EAAGmsB,EAAGphC,GACpBhqB,EAAE1rB,EAAEuoM,GAAIvoM,EAAEwoM,GAAI/9I,EAAGpX,EAAGqC,GACpBniB,KACI,EAAJliB,GACAsd,EACEsnB,EACA2rB,EACA,KACA,KACAjX,EACAmsB,EACArsB,EACApX,EACAsX,EACAmsB,EACArsB,EACApX,EACAxyB,EACA8lD,EAAIx+D,EAAEm6E,EACN,KACA,KACAtgB,GAECzuC,CAAA,UAEA8iG,GAAG7iG,EAAGD,EAAG7H,GAAA,IACZvjB,EAAIqrB,EAAEwiB,EACRn1B,EAAI,CAAC2S,EAAEkpJ,GAAA,GACL,MAAQv0K,EAAG,KACTw+D,EAAInzC,EAAE+uD,EACR5zD,EAAI4E,EAAEs+K,GAAG9rJ,EACT9P,EAAItnB,GAAK4+R,IAAM5+R,GAAKs+R,GACtB15R,EAAIA,EAAEs+K,GAAGpnJ,EAAE4iQ,KAAA,IACPzrP,EAAI,CAAC,GACPjX,EAAIn3B,EAAEspK,GACRl7H,EAAE,GAAKpuC,EAAEyuB,EACTzuB,EAAEwwK,KACC,GAAKr5I,IAAMiX,EAAE,MAAQjX,EAAI9pC,EAAE,IAAM2S,EAAErsC,OACpCqsC,EAAExqB,EAAIwqB,EAAEspK,GAAKtpK,EAAEyuB,GAAKzuB,EAAEmzC,IAAM/E,EAAE,GAAKpuC,EAAEmzC,EAAInzC,EAAExqB,EAAI2hD,IAAA,IAC7CmsB,EAAIvjD,EAAE4sK,GACRx1I,EAAIp3B,EAAE6sK,GAAKz1I,EAAIp3B,EAAE+uD,EACnB9uD,EAAIg6R,GAAGrlT,EAAG0Y,EAAE,GAAI2S,EAAErsC,MAAOw/E,EAAG/E,EAAGkV,EAAGnsB,GAAK1U,EAAI,EAAI,GAAI1iB,EAAE+uD,GACrDtiF,EAAE0rB,GAAKk2C,GACPpuC,GAAK6sJ,GAAG1xJ,IAAM8+R,GAAG32O,EAAGnsB,EAAG1U,EAAG0wB,EAAG/E,EAAGruC,EAAE+uD,EAAA,QAE7B,WAEAq+F,GAAGntJ,GAAA,IACNxzB,EAAIwzB,EAAEupK,GACRxpK,EAAIvzB,EAAE6xM,GAAG9rJ,EACTr6B,EAAI,GAAK6H,EACTprB,EAAIorB,GAAKm6R,IAAMn6R,GAAKo6R,IAAMp6R,GAAKg6R,IAAMh6R,GAAKq6R,IAAM,IAAMr6R,GAAK8sJ,GAAG9sJ,GAAA,GAChEvzB,EAAE67H,OAAS,KACX77H,EAAE8jM,GAAK,KACP9jM,EAAE+jM,GAAK,KACP/jM,EAAEstM,GAAK,MACF9nB,GAAGxlL,EAAE2+L,GAAInrK,EAAGrrB,EAAI,GAAK,IAAK,OAAO,KACtCA,GAAKk4K,GAAG9sJ,IAAMo1B,KACVn1B,EAAEkpK,GAAIz0M,MAAM,wBACX,IACCyjC,GAAA,GACI1rB,EAAE8jM,GAAKpjB,GAAKltJ,EAAEwwK,GAAK,IACvBzwK,EAAKC,EAAE+uD,EAAI,GAAM,EACjBviF,EAAE67H,OAASh7G,EAAE2S,EAAE+uD,EAAI,EAAIhvD,GACnB,MAAQvzB,EAAE67H,OAAQ,OAAO,EAC7B77H,EAAE4lM,GAAK5lM,EAAE67H,OACT77H,EAAE8lM,GAAK,EACP9lM,EAAEulM,GAAKvlM,EAAE4lM,GACT5lM,EAAEylM,GAAKzlM,EAAE8lM,GAAKtyK,EAAE+uD,EAChBviF,EAAEuoM,GAAKvoM,EAAEulM,GACTvlM,EAAEwoM,GAAKxoM,EAAEylM,GAAKlyK,EACdvzB,EAAE8jM,GAAKljB,GACPj4H,IAAA,OAEG1gE,MAAM,gBACbkgB,IAAOnI,EAAE+jM,GAAK1tE,GAAK3qG,GAAKi5J,KAAA,IAEtBj5J,IAAM4yL,GAAI,KACP9qL,EAAI,EAAG,IAAMA,IAAKA,EACpBopL,GAAGppL,GAAM,OAASA,EAAI,KAAO3R,IAAO4+L,GAClCT,GAAGxsL,IAAM,OAASA,EAAI,KAAO3R,GAC7Bg8L,GAAGrqL,IAAM,OAASA,EAAI,KACtB0sL,GAAG1sL,GAAM,QAAUA,EAAI,KAAO3R,IAAO4+L,GAAA,IACrCjtL,EAAI2sL,GAAI3sL,EAAIqpL,KAAMrpL,EACpBxzB,EAAK,OAASwzB,EAAI,IAAM3R,IAAO4+L,GAC7BhC,GAAGjrL,EAAI2sL,IAAMl9B,GAAGjjL,EAAG,KACnBm9M,GAAG3pL,EAAI2sL,IAAMl9B,GAAIjjL,EAAI,GAAM,EAAG,IACnCs+M,GAAK,SAEA,WAEA7sK,GAAGje,GAAA,IACND,EAAIC,EAAEupK,GACRrxK,EAAI8H,EAAE+uD,EACNp6E,EAAIqrB,EAAEyuB,EAAA,OACRjiD,IAAW,EAAPwzB,EAAEspK,KACF,GAAKpxK,GAAK,GAAKvjB,EAAU,GAC7BujB,EAAI6H,EAAEuwK,GAAGtwK,EAAGD,GAAA,MACJA,EAAEwwK,IAAMxwK,EAAEwwK,GAAGvwK,EAAGD,EAAG7H,GAC3B6H,EAAEu0K,IAAMp8K,EACD,YAEA+0J,GAAGjtJ,GACVA,EAAEupK,GAAGlhE,OAAS,cAEPvF,GAAG9iG,EAAGxzB,EAAGuzB,EAAG7H,GAAA,OACf,IAAMra,EAAEmiB,EAAG,GAAW,GAC1BxzB,EAAE,GAAKqR,EAAEmiB,EAAG,IAAM,EAClBD,EAAE,GAAKliB,EAAEmiB,EAAG,IAAM,EAClB9H,EAAE,GAAKra,EAAEmiB,EAAG,GACL,GAAKniB,EAAEmiB,EAAG,GAAK,GAAKA,EAAEm3B,EAAA,UAEtBk2H,GAAGrtJ,EAAGxzB,GAAA,GACT,EAAIwzB,EAAG,OAAOA,EAAI,MAClBD,EAAKC,EAAI,GAAM,SACV,GAAS,EAAJA,IAAWD,GAAKliB,EAAErR,EAAGuzB,GAAK,WAEjCwtJ,GAAGvtJ,EAAGxzB,GAAA,OACT,IAAMA,EAAUA,EAAI,IAGjB,IADLuzB,IADEA,EAAIs6R,GAAG7tT,EAAI,KACH,GAAKwzB,GAAK,GAAS,GAAJD,KACXA,EAAI,MADlBA,CAAA,UAGKiuJ,GAAGhuJ,EAAGxzB,EAAGuzB,GAAA,IACZ7H,EAAIq2C,EAAGxuC,GAEPprB,EAAIqrB,EADRxzB,GAAS,IAAJ0rB,GACQg/B,EAAI,WACbviD,IACDiJ,EAAGmiB,EAAGA,EAAEquC,EAAI,GACZl2C,EAAIq2C,EAAGxuC,GACPvzB,GAAKwzB,EAAExzB,GAAGrK,MACVqK,GAAK0rB,GAAM,GAAKvjB,GAAK,GACxBiJ,EAAGmiB,EAAGA,EAAEquC,EAAIpuC,EAAExzB,GAAG0qD,GACVl3B,EAAExzB,GAAGrK,KAAA,UAELmrL,GAAGttJ,EAAGD,EAAG7H,GAAA,OAChBA,EAAEg/B,GAAKl3B,EAAEk3B,EACTh/B,EAAE/1B,OAAU69B,EAAE79B,OAAS49B,IAAO,EAC9BvzB,EAAE,GAAK0rB,EAAEg/B,GACFl3B,EAAEk3B,CAAA,UAEF42H,GAAG9tJ,EAAGD,EAAG7H,GAAA,IACZvjB,EAAIqrB,EAAEg0K,GAAA,OAEVxnM,GADAuzB,EAAI,GAAKprB,EAAI,EAAIqrB,EAAE+zK,GAAG/zK,EAAE82K,IAAM5+K,GAAKvjB,IAAMorB,GAAKprB,KACxCqrB,EAAEsxK,IACDtxK,EAAEmsK,GAAGpsK,EAAA,UAELsuJ,GAAGruJ,EAAGD,EAAGprB,EAAG0Y,GAAA,IACf8lD,EAAInzC,EAAEslF,GACRnqF,EAAI6E,EAAEyiB,EAAI1iB,EACV0iB,EAAIziB,EAAE8e,EACR/e,EAAI0iB,EAAI1iB,EAAA,IACJquC,EAAIz5D,EACNwiD,EAAI9pC,EAAA,IACNA,EAAI2S,EAAE4rK,GACDj3L,EAAIqrB,EAAEgsK,GAAI,EAAI74H,KAAO,KACpBmQ,EAAItjD,EAAEwyK,GAAGr/H,GACXlc,EAAIxU,EACJ5C,EAAI9f,EACJ4mC,EAAIyH,EACJlX,EAAIC,EAGJ30C,GAFA20C,EAAI9pC,EACJ+gD,EAAIz5D,EACA2uE,EAAEmnH,IAAA,OACRj+L,EAAEyqD,EAAIpX,GACNrzC,EAAEqzC,GAAKyjC,EAAE4/J,IACD5/J,EAAEovH,IAAA,KACH,EACH3U,GAAGp3H,EAAGzP,GAAIrX,EAAIoX,GAAKz0C,EAAG20C,EAAGiX,GAAA,WAEtB,MAEDp5C,EAAIiiC,EACJ3pC,EAAIuyB,EACJhiC,EAAIs5C,EACJqX,EAAIJ,EACJlsB,GALEtsC,EAAI0tE,GAKAmnH,GAAA,GACHz1K,IACFw/J,GAAG7tH,EAAGzP,EAAG,KAAM,KAAM,EAAGr5C,EAAG2wD,GAC5B+gC,EAAG5oC,EAAGzP,EAAI,EAAG,EAAG,EAAGhV,EAAI,EAAGrkC,EAAG2wD,EAAI,GAChCtX,GAAKhV,EACLssB,GAAKtsB,IACJltB,GAAA,IAEF,IAAIu5C,EAAI,GAAK34D,EAAE0X,EACbwhE,EAAIvgB,EAAI,EACR3wD,EAAI0wD,EAAGpsB,EAAGtsC,EAAE0X,GACZilC,EAAI38C,EAAE+8C,EACN/8C,EAAIA,EAAE44D,GAAKx5C,GAAKpf,EAAE0X,GAAK1P,EACzBoX,EAAI1H,GAEJ,KACIs5C,EAAIrU,EACNxsB,EAAInwB,EACJ64D,EAAI,MACDsqH,GAAGpyH,EAAGzP,EAAGr5C,EAAG2wD,EAAItsB,EAAG,EAAGrkC,EAAG2wD,GAAIC,EAAIvsB,GAAK,KAEvCM,GAAKisB,GAAKqgB,GAAKvgB,EACjB/rB,EAAIN,IAAMM,EAAIN,IAAA,EAFNm8I,GAAIz3H,EAAE7gC,MAAQ,EAAK,KAGzB4gC,EAAGzP,IAAKuX,EAAG5wD,EAAG2wD,EAAIC,EAAIvsB,EAAGM,EAAIisB,EAAG5wD,EAAG2wD,EAAIC,GACzCA,EAAIjsB,CAAA,CAEN0U,GAAKhV,EACLssB,GAAKtsB,IACHltB,EACE85D,IAAMl5E,GAAKgI,EAAA,CAEjBiiC,GAAKyjC,EAAE4/J,IAAMhrN,EAAEi/B,EAAGiX,EAAI5rD,EAAG20C,EAAGiX,GAAKvuB,EAAIoX,EAAI,GAAKz0C,EAAGA,GAAA,WAE9C,MACHA,EAAImkD,EACJr5C,EAAI4pC,EAKJhV,GAJAykB,EAAI2c,EAAEmnH,KAGNj8H,EAAI7H,IADJ9oD,GADAq5C,EAAI,GAAKosB,EAAEh2D,GACH,IAGR0H,EAAIs5C,EAAG3H,EAAG2c,EAAEh2D,GACZihD,EAAI+U,EAAE3wB,EACD2wB,EAAIA,EAAE9U,GAAKvX,GAAKqsB,EAAEh2D,GAAK0H,EAAGiiC,EAAIpX,GAAK,KACtCivC,EAAIvgB,EACJ3wD,EAAI0lE,EACJ/wB,EAAI,IAAI9D,EACR74C,EAAI0X,EAAIkhD,EACH5H,EAAIt5C,EAAIq5C,EAAGr5C,EAAI1X,GAClBo4D,EAAG8gB,EAAElxE,KAAM20C,GAAIuqI,GAAGvqI,EAAG/vC,EAAG8K,EAAG4pC,EAAGC,EAAGiX,GAAK9gD,GAAK4pC,EAAKkX,GAAKlX,EACvD5pC,EAAIs5C,IACDoH,EAAG8gB,EAAElxE,KAAM20C,GAAIuqI,GAAGvqI,EAAG/vC,EAAG8K,EAAG40B,EAAGiV,EAAGiX,GAAK9gD,GAAK40B,EAAKksB,GAAKlsB,KACtD+U,EACEp5C,IAAMylE,GAAKtuD,EAAA,YAGd,KACC2xC,GAAKxP,GAAKD,GAAKkX,GAAK,EAAIkV,EAAEh2D,EAAG,KAG/BA,EAAI6pC,EACJwP,EAFAnkD,EAAI4rD,GAAKvuB,EAAIoX,GAAKz0C,GADlBgsD,GAAK3uB,EAAIoX,GAAKqX,EAAGgV,EAAEmnH,GAAInnH,EAAEh2D,IAIzB4pC,EAAIC,EACJt5C,EAAIuwD,EAEJp5C,EAAI,GACCw5C,GAFLtsB,EAAIssB,GAES,EAAG,GAAKA,IAAKA,EAAGx5C,EAAEw5C,GAAKtX,EAAEr5C,EAAI2wD,GAAA,IACrCA,EAAItsB,EAAI,EAAG,GAAKssB,IAAKA,EAAGlhD,EAAEq5C,EAAI6H,GAAKx5C,EAAEw5C,GAC1CykH,GAAG3vG,EAAGrsB,EAAGpX,EAAGsX,EAAG30C,EAAG20C,EAAGiX,EAAA,MAChB6kH,GAAG3vG,EAAGrsB,EAAGpX,EAAG8mB,EAAGzP,EAAGC,EAAGiX,GAEhCA,EAAI/gD,EACJ8pC,EAAIxiD,CAAA,CAENwiD,GAAKxiD,GAAKujB,EAAE7K,EAAG1Y,EAAGy5D,EAAGjX,EAAGh8B,EAAA,UAEjB2zJ,GAAG9uJ,EAAGD,GAAA,IACT7H,EAAI8H,EAAEuvE,EACR56F,EAAIqrB,EAAEsqK,GAAKtqK,EAAEyiB,EAAIziB,EAAE8e,EACnBzxB,EAAI0S,EAAIC,EAAE8e,EAAA,GACZtyC,EAAEuzB,GAAKC,EAAEsjD,EAAEnQ,GACX3mE,EAAE,IAAM6gB,GACJ,EAAIA,EAAG,KACL8lD,EAAInzC,EAAEsjD,EACRnoD,EAAI6E,EAAE4rK,GACNnpJ,EAAIziB,EAAEgsK,GACN59H,EAAI+E,EAAEx/E,MAAA,GACR06L,GAAGruJ,EAAG3S,EAAG6K,EAAGvjB,GAIZ0Y,EAHAo1B,EAAI,CAACA,GAILj2C,GAHA0rB,EAAI8H,EAAE8e,IACNnqC,EAAIorB,IAGJvzB,EAAE2mE,EAAEn+C,EAAIm+C,EAAE82H,IACVt1L,EAAIw+D,EAAEA,IAAMx+D,EAAIw+D,EAAEA,GACdj7C,EAAIi7C,EAAE39D,EAAG,KACP2hD,EAAIgc,EAAE39D,EAAI0iB,EACZA,EAAIi7C,EAAE39D,EACR6X,EAAE,IAAM8pC,EAAIiX,CAAA,IAEdl2C,GAAKvjB,EACAujB,EAAI,GACH7K,EAAE,IAAM,EAAI8lD,EAAEn+C,EACfm+C,EAAEm2H,GAAKpxK,EAAIi7C,EAAE39D,EACb29D,EAAE4b,EAAI5b,EAAE82H,GAAK92H,EAAEn+C,EACfm+C,EAAE1kB,EAAI95C,EAAIujB,EACVA,EAAI,GACLA,EAAG,IACLuqB,EAAIA,EAAE,GAEF,IADJvqB,EAAI8H,EAAEolK,IACK7yI,EAAG,CAEV,IAAI+wB,EAAIprD,EAAE++B,EAAE4iQ,KAKV5iQ,GAJAtiD,EAAIujB,EAAEq6B,EACNllC,EAAI8lD,EAAE4b,EACN5b,EAAIA,EAAE1kB,EACN0I,EAAImsB,EAAEqpH,GACFrpH,EAAEwL,GACNjvC,EAAIszB,EAAA,IACJmQ,EAAIA,EAAEspH,GAAK5sK,EAAEirK,GAAK3nH,EAAEwL,EACtB,EAAIjvC,KAEJ,KACI8mB,EAAIxrC,EACN+7B,EAAIzU,EACJjgC,EAAI6K,EACJ2H,EAAImiC,EACJ7pC,EAAIg2D,EAAA,OACE3uE,GAAA,KACD2lT,GACH5hI,GAAG/xH,EAAGzP,EAAG10C,EAAGwS,EAAG1H,GAAA,WAEZ4sS,GACHK,GAAG5zP,EAAGzP,EAAG10C,EAAGwS,EAAG1H,GAAA,WAEZisS,GACHgB,GAAG5zP,EAAGzP,EAAG10C,EAAGwS,EAAG1H,GACf2sS,GAAGjlS,EAAG1H,EAAG,EAAG9K,EAAG,EAAG,cAEfg4S,GACHC,GAAG9zP,EAAGzP,EAAG10C,EAAGwS,EAAG1H,GAAA,WAEZ6sS,GACH1tI,GAAG9lH,EAAGzP,EAAG10C,EAAGwS,EAAG1H,EAAG,cAEfksS,GACH/sI,GAAG9lH,EAAGzP,EAAG10C,EAAGwS,EAAG1H,EAAG,GAClB2sS,GAAGjlS,EAAG1H,EAAG,EAAG9K,EAAG,EAAG,cAEfu3S,GACHttI,GAAG9lH,EAAGzP,EAAG10C,EAAGwS,EAAG1H,EAAG,cAEfmsS,GACHhtI,GAAG9lH,EAAGzP,EAAG10C,EAAGwS,EAAG1H,EAAG,GAClB2sS,GAAGjlS,EAAG1H,EAAG,EAAG9K,EAAG,EAAG,cAEf43S,GACHM,GAAG/zP,EAAGzP,EAAG10C,EAAGwS,EAAG1H,GAAA,WAEZosS,GACHgB,GAAG/zP,EAAGzP,EAAG10C,EAAGwS,EAAG1H,GACfqtS,GAAG3lS,EAAG1H,EAAG9K,EAAG,EAAG,cAEZo4S,GACHC,GAAGl0P,EAAGzP,EAAG10C,EAAGwS,EAAG1H,GAAA,cAGf9gB,EAAE,GAENi2C,GAAK2rB,EACLkV,GAAKrsB,CAAA,CAEPj3B,EAAEirK,IAAM93H,CAAA,MACH1+E,MAAM,6BACb+X,EAAEwzB,EAAEirK,IAAM/yK,EAAE/a,OAAA,EAGhB6iB,EAAE8e,EAAI/e,EACNvzB,EAAEwzB,EAAE8e,GAAK9e,EAAErrB,EAAA,UAEJq6K,GAAGhvJ,GAAA,IACNxzB,EAAA,GACA,EAAIwzB,EAAEgqK,GAAI,OAAO,MAChBx9L,EAAI,EAAGA,EAAIwzB,EAAEsxK,KAAM9kM,EAAG,KACrBuzB,EAAIC,EAAEmsK,GAAG3/L,GAAGimD,EACdv6B,EAAI8H,EAAEmsK,GAAG3/L,GAAGsiD,EAAA,GAEZ,EAAI/uB,EAAE,GAAG7H,EAAE,GAAK,GAAGg/B,GACnB,EAAIn3B,EAAE,GAAG7H,EAAE,GAAK,GAAGg/B,GACnB,EAAIn3B,EAAE,GAAG7H,EAAE,GAAK,GAAGg/B,EAEnB,OAAO,SAEJ,WAEAs3H,GAAGxuJ,EAAGD,EAAG7H,EAAGvjB,EAAG0Y,EAAG8lD,GAAA,GACrB,GAAKnzC,EAAEgvD,EAAG,KACR7zD,EAAI6E,EAAEk3K,GACRz0J,EAAIziB,EAAEm3K,GAAA,IACH3qM,EAAE,MAAQ+8M,GAAGvpL,EAAEgvD,IAAKjvD,EAAI7H,IAAK6H,EAChCwpL,GAAGvpL,EAAEgvD,GAAG7zD,EAAGsnB,EAAG9tC,EAAG0Y,EAAG1Y,EAAG0Y,EAAG8lD,GAAKh4C,EAAIxmB,EAAK8tC,EAAIp1B,EAAKA,GAAK8lD,EACxDnzC,EAAEk3K,GAAK/7K,EACP6E,EAAEm3K,GAAK10J,CAAA,WAGFirI,GAAG1tJ,EAAGD,GAAA,IACT7H,EAAI8H,EAAEsjD,EAAEimH,GACV50L,EAAI,GAAKujB,EAAE82D,GAAK,GAAK92D,EAAE82D,EAAIhvD,EAAEsjD,EAAE9tE,EAAIwqB,EAAE8e,EACjB,GAApBnqC,EAAIqrB,EAAE8e,EAAInqC,EAAIA,EAAIqrB,EAAE8e,EACtBtyC,EAAEuzB,GAAKC,EAAEsjD,EAAEnQ,GACPpzC,EAAIprB,EAAG,KACL0Y,EAAI2S,EAAEsjD,EAAE3vF,MACVw/E,EAAIj7C,EAAEktK,GACNjqK,EAAIjD,EAAE42K,GAAKzhL,EAAI1Y,EACf8tC,EAAIziB,EAAEuvE,EACNnhC,EAAIpuC,EAAEsqK,GAAKtqK,EAAEyiB,EAAI9tC,EACjBwiD,EAAIn3B,EAAEwyK,GACRhmM,EAAE,GAAKwzB,EAAEslF,IACT94G,EAAE,GAAK2qD,EAAE,GAAGu7I,IACZ7vJ,GAAGsU,EAAE,GAAIxiD,EAAGorB,EAAG0iB,EAAG2rB,EAAG+E,EAAGh4C,GACxBqzJ,GAAGt2J,EAAGvjB,EAAGorB,EAAGozC,EAAGh4C,EAAG9N,EAAA,CAEpB2S,EAAE8e,EAAI9e,EAAEirK,GAAKlrK,CAAA,UAENy3F,GAAGx3F,EAAGD,EAAG7H,EAAGvjB,EAAG0Y,EAAG8lD,EAAGh4C,GAAA,IACxBsnB,EAAIziB,EAAEkU,EAAIv/B,EACZy5D,EAAIpuC,EAAEkU,EAAIv/B,EACVwiD,EAAIn3B,EAAExd,EACN8gE,EAAItjD,EAAE7E,EACN87B,EAAI/+B,EAAI8H,EAAEkU,EACV2L,EAAIoX,EACN5pC,EAAI6K,EAAIvjB,EAAI0Y,EAAA,IACRs5C,EAAIzuC,EAAIvjB,EAAIw+D,EACdjc,EAAI,IAAMosB,EAAE0mH,GACZxnL,EAAIwd,EAAE8wK,GAAKruJ,EAAI,SACfztB,EAAI,EAAIsuD,EAAE0mH,GAAK1mH,EAAE2oH,GAAK,KACtB3+K,EAAIg2D,EAAE+wI,GACNx2M,EAAIo5C,EAAI0P,EAAImnH,GAAGxqG,EAAGlV,EAAG3rB,GAAK,KAC5Bj2C,EAAEwzB,EAAE8e,EAAIq0B,GACR3mE,EAAEm6D,GAAKt5C,GAAA,IACHmhD,GAAA,EACJxuC,EAAG,OAAS,MACHwuC,GAAKvX,EAAI0P,GAAK,KACfzkB,EAAI,KACJO,GAAKjgC,EAAG,KAER5M,EAAIqhD,EAAI/+B,EACV1rB,GAFIgW,EAAIwd,GAEJ8wK,IACJtuL,EAAEi1L,GAAKj1L,EAAEA,EACTA,EAAEk1L,GAAK9hM,EAAA,EACH4M,EAAE2Y,EAAE6uK,IAAM96H,EAAG1sD,EAAE2Y,EAAE8wK,GAAIzpL,EAAE2Y,EAAEm0K,IAC7B9sL,EAAIigC,EAAIqnK,EAAA,IAEV17I,EAAI9gD,IAAMzP,EAAIiwK,GAAGxqG,EAAGlV,EAAG3rB,IACvBj2C,EAAE,MAAQqR,GACVA,EAAEkzL,KAAQhxK,EAAEk3B,GAAKp5C,EAAE8wL,GAAMngI,GAAA,IACpBA,EACH,GAAKjc,EAAG4E,GAAIt5C,EAAEg1L,GAAK,CACb3wJ,EAAIiV,EACNvhD,EAAImqB,EAAA,IACJ6mC,EAAI3P,EACJlxB,EAAIloB,EAAEo5L,GAAG1oI,EAAGrsB,GAAMsvI,GAAK,GACzBhlL,EAAEqR,EAAEg1L,IAAA,IACE9sK,EAAEmxB,GACHt5C,EAAGskC,EAAGA,EAAEksB,EAAIroC,EAAEmxB,GAAKthD,EAAEgxD,GAAK7gC,EAAE5jC,MAAS+/C,EAAI,IACzCtkC,EAAGskC,EAAGA,EAAEksB,EAAIroC,EAAEmxB,EAAI,KAAM1qD,EAAE,KAAOu5B,EAAE5jC,OAAS+/C,EAAInc,EAAE5jC,OAAA,GAClD+/C,IAAMssB,GAAA,EAAI,MACVtsB,EAAI8rI,GAAGnwK,EAAE40C,EAAE,GAAI50C,EAAEixC,EAAE,GAAIqI,GAAA,GAC5BA,EAAEA,EAAG,SACLqX,GAAK,IAAMtsB,EAAG,KACXssB,EACH,GAAI3wD,EAAEk5L,GAAIh3K,EAAEk3B,IAAMp5C,EAAE8wL,GAAMzsJ,GAAK,KAAQ,MAClC,IACHqQ,EAAG4E,GACHqX,EAAIw/G,GAAGnwK,EAAE40C,EAAE,GAAI50C,EAAEixC,EAAE,GAAIqI,GACvB5E,EAAG4E,GACHvhD,EAAIo4K,GAAGnwK,EAAE40C,EAAE,GAAI50C,EAAEixC,EAAE,GAAIqI,GACvByP,EAAIonH,GAAGnwK,EAAE40C,EAAE,GAAI50C,EAAEixC,EAAE,GAAIqI,GACnBA,EAAEA,EAAG,MACTp3B,EAAEk3B,IAAO2P,GAAK,GAAO4H,GAAK,GAAOtsB,GAAK,EAAKtsC,KAAO,KAEtD44D,GAAA,IACEvX,IACAmX,GAEKz5D,IACHy5D,EAAI,IACJ3rB,EACF,MAAQtnB,GAAKsnB,GAAK0wB,KAAO1wB,EAAI,KAAOtnB,EAAE6E,EAAGyiB,GACzC,MAAQztB,GAER,KAAO6qB,EAAIoX,GACR/U,EAAIniB,EAAE8f,KACJ7qB,EAAE49B,GAAI,UAAY1Q,EAAK,cAAgBltB,EAAE07K,IAAMxuJ,CAAA,MACjD,GAAI,IAAMA,EAAG,IAClBA,EAAImrI,GAAGnrI,EAAI,IAAKiV,GAChBvhD,EAAIo4K,GAAGnwK,EAAE40C,EAAE,GAAI50C,EAAEixC,EAAE,GAAIqI,GACvB5E,EAAG4E,GAEHvhD,EAAI23K,GAAG54K,EADPiB,EAAIy3K,GAAGz3K,EAAGuhD,IAENA,EAAEA,EAAG,SACLF,EAAI/+B,EAAItiB,GAAKyX,EAAI4pC,EAAI/U,EAAG,MAAMliB,EAC7B,IAAK4mC,EAAI,EAAGA,EAAI1kB,IAAK0kB,EAAG7mC,EAAEk3B,EAAI2P,GAAK7mC,EAAEk3B,EAAI2P,EAAIhxD,GAAA,IAClDqhD,GAAK/U,EACAksB,GAAKlsB,EAAGksB,GAAKz5D,GACfy5D,GAAKz5D,IAAM8tC,EAAG,MAAQtnB,GAAKsnB,GAAK0wB,KAAO1wB,EAAI,KAAOtnB,EAAE6E,EAAGyiB,GAAA,GAC1Dj2C,EAAEyqD,GAAK5pC,GACP+gD,EAAI9gD,IAAMzP,EAAIiwK,GAAGxqG,EAAGlV,EAAG3rB,IACnB,MAAQztB,EACV,KAAO6qB,EAAIoX,GACR/U,EAAIniB,EAAE8f,KACJ7qB,EAAE49B,GAAI,UAAY1Q,EAAK,cAAgBltB,EAAE07K,IAAMxuJ,CAAA,KACjD,MAAIA,EAAIgV,GASR,MAAMl3B,EAAA,IARXwuC,EAAItsB,EAAI,IACH11C,EAAE,MAAQwoB,GAAI6qB,EAAIoX,GACpB/U,EAAIniB,EAAE8f,KAAQ7qB,EAAE49B,GAAI,UAAY1Q,EAAK,cAAgBltB,EAAE07K,IAAMxuJ,EAChEA,EAAI+U,EAEJzqD,IAAIgiE,KADJ54D,EAAIof,GACQk3K,KACZnsK,EAAEmiB,GAAKtsC,EAAEg9C,EAAE4b,GACXA,GAAA,CAAI,CAENA,GAAKhiE,EAAE2qD,EAAEA,GAAK23B,EAAG33B,GAAA,IAEfn3B,EAAE8wK,IAAM35I,EAAEA,GAAKF,EAAI5pC,EACrB7gB,EAAEwzB,EAAExd,EAAE20C,GACHn3B,EAAE3S,EAAI,EACN2S,EAAExd,EAAIwd,EAAEy3K,GACRz3K,EAAEkU,EAAIlU,EAAE03K,GACT,EAAI13K,EAAE7E,EAAE6uK,IAAM96H,EAAGlvC,EAAE7E,EAAEm0K,GAAItvK,EAAE7E,EAAE8wK,QAC5B,IAAI90I,EAAEA,EAAG,MAAMn3B,EACf,MAAQ7E,GAAKA,EAAE6E,EAAGyiB,EAAI0wB,EAAIA,EAAI1wB,GAAKziB,EAAE3S,EAAI,EAAK2S,EAAEkU,EAAI+iB,EAAI/+B,CAAA,QACtD,SAET8H,EAAE3S,EAAI,EACC,WAEA6gK,GAAGluJ,GACVxzB,EAAE,MAAQwzB,GACVA,EAAE+zK,GAAK,KACP/zK,EAAEi0K,GAAK,KACPj0K,EAAEmsK,GAAK,SACHpsK,EAAIC,EAAEisK,GAAA,MACFlsK,IAAMA,EAAE6yB,EAAI,MACpB5yB,EAAEsvK,GAAK,KACP9iM,EAAE,MAAQwzB,EAAA,UAEH6tJ,KAAA,IACHrhL,EAAI,IAAImkL,GAAA,OACR,MAAQnkL,EAAU,MACtBA,EAAE6gB,EAAI,EACN7gB,EAAEgjM,GAAKyZ,GACPt8B,GAAG,YAAa,kBAChBA,GAAG,YAAa,oBAChBA,GAAG,eAAgB,qBACnBA,GAAG,eAAgB,uBACnBoR,GAAKtrI,EACLqqI,GAAK5T,EACLwP,GAAK/lI,EACL4nQ,GAAKvrO,EACL0rO,GAAKxmR,EACL2mR,GAAKxsP,EACLosP,GAAK/tI,GACL1sJ,EAAK86R,gBAAkB38H,GACvBn+J,EAAK+6R,eAAiBljI,GACfrrL,EAAA,UAEAmiL,GAAG3uJ,EAAGD,EAAG7H,EAAGiD,EAAGsnB,GAAA,IAClB2rB,EAAI,EACNnX,EAAI,CAACj3B,GACL2mC,EAAI,CAAC5mC,GACLm3B,EAAI/7B,EAAE3Y,EACNA,EAAI2Y,EAAEA,EACNnG,EAAI,KACJ1H,EAAI,EACN0S,EAAG,OAAS,IACN9H,EACF,KAAOk2C,GAAKvwD,EAAEq5C,EAAG,IAAM,KACjBsX,EAAIvX,EACN/U,EAAIykB,EACJmoB,EAAI3zD,EACJvlB,EAAI,EACJgxD,EAAIkoB,EAAEtsE,EACNujB,EAAI+oD,EAAE0jH,GAAG1jH,EAAEw2B,IACX72C,EAAI5wD,EAAE+oD,EAAG,MACPkoB,EAAEmmH,GAAM,GAAKxmI,EAAIL,EAAI,MACpB,QACH0gB,EAAEmmH,IAAM,GAAKxmI,EACb1oC,EAAE2sK,GAAKjkI,EACP1oC,EAAE0kK,GAAKj8H,EAAE,GACTzoC,EAAEm9M,GAAKhhM,EAAE,GACTnc,EAAE4sB,EAAI,CAAC,QACLm8B,EAAEw2B,GACJ94G,EAAE,GAAKsiF,EAAEw2B,IACD72C,GAAA,KACD,OACA,EACH1oC,EAAEzY,EAAIzP,EAAE+oD,EAAG,GAAK,EAChBhxD,EAAI+4K,GAAGrgH,EAAGvoC,EAAE0kK,GAAI1kK,EAAEzY,GAAIghD,EAAGvoC,EAAEm9M,GAAIn9M,EAAEzY,GAAI,EAAGwhE,EAAG/oD,EAAE4sB,GAC7C5sB,EAAE4sB,EAAI5sB,EAAE4sB,EAAE,cAEP,MAMDnQ,EALE1D,EAAIjhC,EAAE+oD,EAAG,GAAK,EAChBpxD,EAAI,GAAKspC,EAAI,EAAI,EAAIA,EAAI,EAAI,EAAIA,EAAI,EAAI,KAC3C0vB,EAAE,GAAKF,EAAGvoC,EAAE0kK,GAAIj1L,GAChBuwB,EAAEzY,EAAI9X,EAGDgtC,EAFD5sC,EAAI+4K,GAAG7vI,EAAG,EAAG,EAAGgwC,EAAG/oD,EAAE4sB,GAEZ,KACPuc,EACF9tB,EAAItC,EACJiwB,EAAIhpC,EACJooC,EAAI,IAAM,GAAKY,EAAEzhD,GACjBmhC,EAAIphC,EAAE8gD,GAAA,GACJ,MAAQ1f,EAAGjM,EAAI,MACd,KACCusC,EAAIhgB,EAAEpc,EAAE,GACVwD,EAAI4Y,EAAEP,EAAA,IACR/f,EAAE,GAAKsgB,EAAEpc,EAAE,GAAG,GACTuc,EAAI,EAAGA,EAAI,EAAI9tB,IAAK8tB,EAAGzgB,EAAEygB,GAAKR,EAAGqgB,EAAE54B,EAAI+Y,GAAIzgB,EAAEygB,EAAI,SAC/CA,EAAI,EAAIf,IAAKe,EAAGzgB,EAAEygB,GAAK,EAC9BH,EAAEpc,EAAE,GAAK,KACToc,EAAEpc,EAAE,GAAKlE,EACTjM,EAAI,GAGR5sC,EAAI4sC,EAAA,WAED,gBAGHh2C,EAAE,GAEN4hE,EAAIx4D,CAAA,KAGVqhD,EAAIA,EAAE,GACN0P,EAAIA,EAAE,GACFyH,GAAKvwD,EAAEq5C,EAAG,MAAuBkX,EAAI,IAAnB9gD,EAAIzP,EAAEq5C,EAAG,KAAoB,IAAM5pC,GAAS,CAChE6N,EAAE9N,EAAI,QACA2S,CAAA,KAEJ8uB,EAAA,GACCA,EAAIsf,EACP5hE,EAAG,KAMC6pD,EACAk5C,EAIA98C,EAVEub,EAAI7yC,EACN+tJ,EAAIjyH,EACJrE,EAAI+T,EACJhU,EAAIrlC,EACJ0hE,EAAI92D,EAGJgc,EAAI85B,EAAExrD,EACN6rD,EAAIL,EAAE7yC,EACNuxJ,GAAI,CAAC,MAELD,GAAI,EACJE,GAAK,EACLE,GAAKmuI,GAAGroQ,GACV5yB,EAAG,OAAS,IACNivD,GAAKnxE,EAAEq2B,EAAG,GAAI,KACZ84I,GAAKnvK,EAAEq2B,EAAG,GAAK,EACjB04I,GAAKt+G,EAAG46G,EAAG8D,IACXF,GAAKx+G,EAAG1b,EAAGo6H,IACXD,GAAKH,GAAKE,GAAA,IACP6B,GAAG/B,GAAIE,GAAI,EAAG9+G,EAAG0+G,IAAI,MAAM3sJ,EAAA,IAChC2sJ,GAAIA,GAAE,GACNr+G,EAAE2lI,GAAKhnB,GACF32H,EAAK,EAAGA,EAAK02H,KAAM12H,EAAI,KACtB8wF,GAAMulC,GAAEr2H,IAAO,EAAK,MACxBq2H,GAAEr2H,GAAM8wF,GACRA,IAAMslC,KAAMA,GAAItlC,GAAK,OAGrBjzG,EAAEijB,EAAG,MAAMp3B,EAAA,IACVwvE,EAAK,EAAG,EAAIA,IAAMA,EAAI,KACrB29E,GAAI+tI,GAAG1rN,IACVA,GAAM,EAAI58C,IAAMu6H,IAAK,GAAKv6H,GAC3Bg6H,GAAKO,KAAMP,GAAKO,GAAA,KAEdE,GAAKj6G,EAAGs5G,GAAII,GAAIvpG,GAChBu/C,GAAK4pD,GACPU,GAAKh6G,EAAG0vD,GAAIhjF,GAAA,GACV,MAAQstI,GAAI,IAAIlvI,GAAK,UACpBzxC,EAAE,OAASq2H,IAAM5kF,GAAKkvI,GAAA,IACvBF,GAAK5/J,EAAEs/J,IAAA,GACP,MAAQ1uI,IAAM,MAAQgvI,IAAM,MAAQG,GAAI,CAC1Cp/G,EAAE3gD,EAAI,QACA0S,CAAA,KAEJ+iG,GAAKsqD,GAAA,IACJ/2H,EAAK5D,EAAI,EAAG4D,EAAKo2H,KAAKp2H,EAAI,KACzBg3H,GAAKpvI,GAAGoY,GACVk3H,GAAKF,GAAG56H,EACRu7H,GAAKX,GAAGv+H,EACRg/H,GAAK,EACLO,GAAK,EACLS,GAAK,MACFv/E,EAAK,EAAG,EAAIA,IAAMA,EAAI,CACzB29E,GAAI+tI,GAAG1rN,GACPg+E,GAAGh+E,GAAMuzB,GACTkrD,GAAGz+E,GAAM98C,GACR88C,GAAM,EAAI58C,IAAMu6H,IAAK,GAAKv6H,GAC3Bz6B,EAAG,KACG82J,GACFR,GAAKtB,GACLQ,GAAK1/G,EACL6/G,GAAKZ,GACL8B,GAAKjsD,GACLmrD,GAAKx7H,EACL+8H,GAAK,EACLzB,GAAKL,GAAGlrK,EACR6sK,GAAKxxK,EAAEkwK,GAAI,MACbp5K,EAAEk5K,GAAI,EAAG,EAAGW,IACRa,GAAI,KACFlB,GAAKtwK,EAAEkwK,GAAI,GAAK,EAClBK,GAAKvwK,EAAEkwK,GAAI,GACXmB,GAAKrxK,EAAEkwK,GAAI,GAAKK,GAAK,EAAI,GAC3BP,GAAGqB,IAAM,KACJf,KAAyBN,GAAjBqB,GAAKrxK,EAAEkwK,GAAI,IAAe,OACnCN,GAAK,MACJ,KACDoB,GAAKxhK,EAAE,IACTuhK,GAAK/wK,EAAEkwK,GAAI,GAAK,KACd,GAAKa,GAAI,CACXlB,GAAGrgK,EAAI,MACHqiK,GAAK,QACHx3J,CAAA,KAEH82J,GAAK,EAAGA,GAAKJ,KAAMI,GAAIH,GAAGqsI,GAAGlsI,KAAOnxK,EAAEkwK,GAAI,OAC3C4B,QAAA,EACFJ,QAAA,EACAN,GAAKvB,GACL+B,GAAKZ,GACLgB,GAAKrB,GACLC,GAAKZ,GACLiC,GAAK,EACLC,GAAKd,GAAGzsK,EACR4sK,GAAK,EACLY,GAAK78G,EAAG,IAAKmQ,GACf3uE,EAAG,KACIwiD,EAAE64H,GAAI,EAAG,EAAGP,GAAI,KADX,IAEN5xK,EAAEkyK,GAAI,GAAI,KACRH,GAAK,EAAI,EAAI/xK,EAAEkyK,GAAI,OACrBJ,GAAK,EAAI9xK,EAAEkyK,GAAIH,KACRC,GAAI,MAAMl7K,CAAA,MACdg7K,GAAKE,GAAA,IACPN,GAAK,EAAGA,GAAKM,IAAMF,MAAQ,CAC9Bp9H,EAAGw9H,IAAA,IACCT,GAAKU,GAAG,GAAc,IAATzhH,EAAGwhH,MACpBnyK,EAAGmyK,GAAIA,GAAG3hH,EAAIkhH,GAAGp4H,GAAA,IACbkyH,GAAKkG,GAAGntL,MAAA,GACR,GAAKinL,GAAKqF,GAAGc,MAAQnG,GAAK,GAAKA,KAAOgG,GAAKhG,QAC1C,KACCD,GAAK,IAAMC,GACbC,GAAKD,GAAK,GACVG,GAAK4xI,GAAG9xI,IACRK,GAAK7rK,EAAEkyK,GAAIqrI,GAAG/xI,KAAOE,GAAA,GACnBgG,GAAK7F,GAAKmG,GAAI,MAAMl7K,EAEtB,IAAK,IAAI20K,GAAKH,GAAKiG,GAAK,EAAG,EAAI1F,MAC7B+E,GAAGc,MAAQjG,EAAA,EAGnBwG,GAAK,QACCn7K,CAAA,CAERm7K,KAAOb,GAAG5hK,EAAI,GACdogK,GAAKqC,EAAA,EAENrC,GAAKA,KAAOM,GAAG52H,KAAOq4H,GAAKr4H,EAAE43H,GAAId,GAAI,EAAGJ,GAAIW,KAC7Cf,IAAM,GAAK+B,GAAME,GAAKF,IAAQ9B,GAAGrgK,EAAI,EAAKqiK,GAAK,MAE7C,GAAKA,GAAI,MAAM3vJ,EAAA,GACnBsuJ,IAAM,GAAKgtI,GAAG9rN,KAAQ8+E,GAAK,GAAKvrD,GAAGrwE,GAAGyE,GACtC42H,IAAMhrD,GAAGrwE,GAAGyE,EACZzE,GAAKi9H,GACD,GAAKngF,EAAI,KAETi6E,GADEC,GAAKwD,GAAG,OAEPzD,GAAK,EAAGA,GAAK0D,KAAK1D,GAAIyD,GAAGzD,IAAMC,KAAOA,GAAKwD,GAAGzD,KACnDsF,IAAMrF,EAAA,KAGV4D,GAAG0pB,GAAK1oB,GACRhB,GAAG0jB,GAAK,EACR1iB,KACIhB,GAAGshB,IACDphB,GAAG,GAAGS,GAAG,GAAK,GAAG7rL,OAAS,GACzBorL,GAAG,GAAGS,GAAG,GAAK,GAAG7rL,OAAS,GAC3BorL,GAAG,GAAGS,GAAG,GAAK,GAAG7rL,SACnB,EACF,GAAK2rL,IACH,IAAMP,GAAG,GAAGS,GAAG,GAAK,GAAG7rL,QACrBkrL,GAAG0jB,GAAK,EAAK1jB,GAAGshB,IAAMphB,GAAG,GAAGS,GAAG,GAAK,GAAG7rL,OAAS,IACtDkrL,GAAGwlB,IAAMxlB,GAAG0jB,IAAM,EAAIjiB,GAClBzB,GAAGwlB,GAAI,KACLhpB,GACFG,GAAKqD,GAAA,IACFxD,GAAK,EAAGA,GAAK2H,KAAM3H,GAAI,KACtBK,GAAKL,GACPD,GAAKI,GAAGitB,GAAG/sB,IACXD,GAAKD,GAAGv3H,EAAE,GAAGu3H,GAAGl7H,EAAE,GAAKo7H,IAAA,KAClBD,GAAG9nL,OACJynL,GAAG1yH,EAAI+yH,GAAG/yH,EAAI,IAAO0yH,GAAGznL,MAAQ8nL,GAAG9nL,QACnCynL,GAAG1yH,EAAI,EACR0yH,GAAGznL,MAAQ,EACX+nL,KAAOoD,GAAGrD,GAAI,EAAGL,IACjBM,KAAOoD,GAAGtD,GAAGv3H,EAAE,GAAGu3H,GAAGl7H,EAAE,GAAKo7H,IAAK,GAAIN,IACrCM,KAAOoD,GAAGtD,GAAGv3H,EAAE,GAAGu3H,GAAGl7H,EAAE,GAAKo7H,IAAK,EAAGN,IACrC0D,GAAGtD,GAAGv3H,EAAE,GAAGu3H,GAAGl7H,EAAE,GAAKo7H,IAAK,GAAIN,IAAA,GAIxCv7G,EAAE0lI,GAAKrnB,GACPr+G,EAAEijI,GAAK7kB,GACPp+G,EAAE89H,GAAKluJ,GACPowB,EAAE4lI,GAAK7mB,GACPt+H,EAAI,QACEtiD,CAAA,CAERsiD,EAAI,OAERsf,EAAItf,GACI,CACN3zB,EAAE9N,EAAI,QACA2S,CAAA,IAEJ,EAAI1S,GAAA,GACA9K,EAAEwnL,GAAK,GAAK18K,GAAKiiD,EAAG/sD,EAAEypL,GAAI3+K,GAAK,CACnC6N,EAAE9N,EAAI,EACN+gD,EAAI,QACEpuC,CAAA,OAEHxd,EAAEwnL,GAAK,MACVjgB,GAAK5uJ,EACPwuJ,GAAK1yH,EACLszH,GAAK5jH,EACLwjH,GAAKJ,GAAG5uJ,EACRkvJ,GAAKF,GAAG6pB,GAAA,GACVjqB,GAAGtnI,EAAIknI,GACPI,GAAGp1K,EAAI41K,GACPJ,GAAG2sB,GAAKxoI,EAAGq7G,GAAIU,IACfF,GAAGkqC,GAAK,GAAKhqC,IAAM,GAAK,GAAKA,IAAM,EAC/BnyJ,EAAG,CACLiD,EAAEq0K,GAAKka,GAAA,MACD1pL,CAAA,IAGJ,OADJhL,EAAI3H,EAAE4pC,EAAI0P,IACK,CACbxrC,EAAE9N,EAAI,EACN+gD,EAAI,QACEpuC,CAAA,CAERouC,GAAKA,EAAIopD,GAAGr8F,EAAGnG,EAAG,EAAGiiC,EAAG0P,EAAGA,EAAG,SAAWzP,EAAEC,EAAA,MACrCn3B,CAAA,QAERouC,GACK,MAAQ3rB,EAAKA,EAAE,GAAKztB,GAAMxoB,EAAE,MAAQwoB,GAAIxoB,EAAE0rB,IAAMiD,EAAE+Y,EAAI,EAAIhc,GAAKg2J,GAAG1rK,IACnE0rK,GAAG1rK,GACA4rD,CAAA,UAEA2gH,GAAG/uJ,EAAGD,GAAA,IACT7H,EAAI8H,EAAEyiB,EAAIziB,EAAErrB,EACdA,EAAIujB,EAAI6H,EAAI,GAAKA,EAAA,OACnBvzB,EAAEwzB,EAAEyiB,GAAK1iB,GACTC,EAAEuvE,EAAIliF,EAAE1Y,GACJ,MAAQqrB,EAAEuvE,GAAWvvE,EAAE4rK,GAAK,KAAQ5rK,EAAEgsK,GAAK,EAAKhsK,EAAE3S,EAAI,EAAI,IAC9D2S,EAAE4rK,GAAK5rK,EAAEuvE,EACTvvE,EAAEgsK,GAAKhsK,EAAEsqK,GAAKpyK,EAAI6H,EACX,YAEAkuJ,GAAGjuJ,EAAGD,GAAA,IACT7H,EAAI8H,EAAE8e,EACRnqC,EAAIorB,EAAI7H,EACR7K,EAAI2S,EAAEuvE,EACNp8B,EAAInzC,EAAEsqK,GAAKtqK,EAAEyiB,EAAIvqB,EAAA,IACd1rB,EAAEuzB,GAAKC,EAAEsjD,EAAEnQ,GAAI,EAAIx+D,GAAK,KACvBwmB,EAAI,GAAKxmB,EAAI,GAAKA,EACpB8tC,EAAIziB,EAAEsjD,EAAEimH,GACRn7H,EAAIpuC,EAAEsjD,EAAE3vF,MACRwjE,EAAIiX,EAAIjzC,EACRmoD,EAAI7gC,EAAE2iJ,GACNnuI,EAAIxU,EAAEqsJ,GAAK1gI,EAAIl2C,EACf2nB,EAAI7f,EAAE4rK,GACNjlI,EAAI3mC,EAAEgsK,GACR3d,GAAGruJ,EAAG7E,EAAG9N,EAAG8lD,GACZF,GAAGpzB,EAAG8mB,EAAG2c,EAAGrsB,EAAGE,GACfq3H,GAAG/rI,EAAGvqB,EAAGA,EAAIiD,EAAGmoD,EAAGrsB,EAAGmX,GACtBz5D,GAAKwmB,EACL9N,GAAK8N,EAAI6E,EAAEyiB,EACXvqB,GAAKiD,CAAA,CAEP3uB,EAAE0rB,GAAK6H,GACPC,EAAE8e,EAAI9e,EAAEirK,GAAKlrK,CAAA,UAyBNyvJ,KAAA,KACF6f,GAAKz9J,KAAK+lK,GAAK/lK,KAAKi9F,GAAKj9F,KAAKo/J,GAAK,WAEjCjjB,KAAA,KACFutI,GAAK1pR,KAAKqnK,GAAKrnK,KAAK2pR,GAAK3pR,KAAK0oK,GAAK1oK,KAAKj9B,EAAIi9B,KAAK6Q,EAAI,WAEnD4sI,KAAA,KACF8gB,GAAKv+J,KAAKk+J,GAAKl+J,KAAKm+J,GAAK,OACzB0B,GAAKpkL,EAAE,QACPojL,GAAKpjL,EAAE,YAEL8gK,KAAA,KACFujB,GAAA,eAz5CH1xK,EAAI,mBAPCA,EAAExzB,EAAGuzB,EAAG7H,GAAA,IACV,IAAIvjB,EAAIujB,EAAE6H,GAAI1S,EAAI,EAAGA,EAAI1Y,IAC5BnI,EAAEvQ,KAAKi8B,EAAEpmC,OAASiuC,EAAI,EAAI,GAAK,KAC3B7H,EAAEpmC,OAASiuC,EAAI,IAFY1S,IAG/B2S,EAAExzB,EAAE6gB,GAAI0S,EAAI,EAAG7H,EAAA,CAGX,CACN8H,EAAG,EAAG,CAAC,EAAG,KACLA,CAAA,CAu5CA,EAAK,UAEHouJ,KAAA,KACF6e,GAAK5/K,EAAE,QACPuoL,GAAKz6K,EAAG,CAAC,EAAG,GAAIgzJ,IAAA,KAChB4nB,GAAK56K,EAAG,CAAC,EAAG,IAAKgzJ,GAAA,UAEfe,KAAA,KACFgmB,GAAKtjK,KAAK29J,GAAK39J,KAAKs/J,GAAKt/J,KAAKsmK,GAAK,OACnCH,GAAK,IAAI1qL,EAAE,QACX2pL,GAAK,IAAI3pL,EAAE,YAETogK,KAAA,KACFopB,GAAKjlK,KAAKo5J,GAAKp5J,KAAK8iH,GAAK9iH,KAAK4hK,GAAK,WAEjC3kB,KAAA,KACFqc,GAAKt5J,KAAKg0J,GAAK,WAEbhX,KAAA,KACFymB,GAAK,CAAC,EAAG,QACTnF,GAAK,CAAC,EAAG,QACTiF,GAAK,CAAC,EAAG,QACTzQ,GAAK9yJ,KAAKohK,GAAK,WAEbtjB,KAAA,KACFymB,GAAK9oL,EAAE,UACPk/K,GAAK,OACLsE,GAAKxjL,EAAE,SACPskL,GAAK//J,KAAKomK,GAAKpmK,KAAK8yJ,GAAK9yJ,KAAK6iK,GAAK7iK,KAAK8iK,GAAK9iK,KAAK2mK,GAAK,WAErD5oB,KAAA,KACF8jB,GAAK7hK,KAAKwP,EAAIxP,KAAK++J,GAAK,OACxBzG,GAAKrtM,MAAM,IAAI4wL,IAAA,KACfz/G,EAAI,OACJm8H,GAAKttM,MAAM,IAAI6yL,IAAA,KACf4T,GAAK,OACLhgH,EAAI,IAAIusG,EAAA,UAENN,KAAA,KACF1xK,EAAIwP,EAAE,SACN4pC,EAAI5pC,EAAE,QACNu1K,GAAKv1K,EAAE,YAEL4hK,KAAA,KACF76I,GAAKxC,KAAKvkB,EAAI,OACdkmL,GAAK,QACL/wL,EAAI,IAAIgsD,EAAA,KACRurI,GAAK,IAAIvqB,GAAA,KACTqlB,GAAK,IAAI9mB,GAAA,KACTuoB,GAAK,IAAIpnB,GAAA,KACToc,GAAK,IAAIjc,GAAA,KACTslB,GAAK/iK,KAAKskK,GAAKtkK,KAAKy4J,GAAK,OACzB37H,EAAI,IAAIihH,GAAA,KACR6hB,GAAK5/J,KAAKi6J,GAAKj6J,KAAKy+J,GAAKz+J,KAAKg+J,GAAKh+J,KAAK+9J,GAAK/9J,KAAK6rK,GAAK7rK,KAAKw4J,GAAK,OACjEwK,GAAKzhI,EAAG,EAAG3E,GAAA,KACXk2H,GAAK,OAEL+I,GAAKt6H,EAAG,EAAGy7G,IAAA,KACXyc,GAAK,IAAIjd,GAAA,KACTkqB,GAAK1mK,KAAKmhK,GAAK,OACfoB,GAAK,QACL0hB,GAAK,OACL3hB,GAAK,CAAC,EAAG,EAAG,EAAG,QACfsnH,GAAK3+T,MAAM,IAAI0yL,IAAA,KACfmpB,GAAK,OACL9J,GAAK/xM,MAAM,IAAIgyL,IAAA,KACfggB,GAAK,OACL3E,GAAKrtM,MAAM,IAAI4wL,IAAA,KACfz/G,EAAI,OACJilI,GAAK,QACLE,GAAK,OACL1O,GAAK,QACLzB,GAAK,OACL8G,GAAK,QACLzG,GAAK,OACLuH,GAAK,QACL17H,EAAIt9B,KAAKu8B,EAAIv8B,KAAKi5J,GAAK,OACvB0J,GAAK,QACLnzJ,EAAIxP,KAAKy3J,GAAKz3J,KAAKu/J,GAAKv/J,KAAK4iK,GAAK,OAClCrK,GAAKttM,MAAM,IAAI6yL,IAAA,KACfnhH,EAAI38B,KAAK0xJ,GAAK,OACdkT,GAAKr7K,EAAG,CAAC,EAAG,GAAIsyJ,IAAA,KAChBj6H,GAAK,UACLk3I,GAAK,QACL2J,GAAKziK,KAAKwhK,GAAKxhK,KAAKg1B,EAAI,OACxBwpI,GAAK,QACLsG,GAAK,OACLtJ,GAAK,QACLC,GAAK,OACLiG,GAAK,QACL3I,GAAK/4J,KAAK+jK,GAAK,WAEblmB,GAAGzvJ,EAAGxzB,GAAA,OACN,EAAIwzB,EAAI,EAAIA,EAAIxzB,EAAIA,EAAIwzB,CAAA,UAExB6vJ,KAAA,KACFphI,EAAI7c,KAAKm9C,EAAIn9C,KAAK03J,GAAK13J,KAAKz0B,OAASy0B,KAAKj+C,MAAQ,OAClDkqB,EAAI,QACJo5C,EAAI,QACJ2rI,GAAK,QACLwS,GAAKxjK,KAAKu3J,GAAKv3J,KAAKykB,EAAIzkB,KAAKsQ,EAAItQ,KAAK29B,EAAI,OAC1Cg6H,GAAK,YACLkyH,IAAM,oBACN7pH,GAAK,sBACLrsF,GAAK,yBACL6jF,GAAKx3J,KAAK4+J,GAAK,OACfpwM,KAAO,QACP2sM,GAAKn7J,KAAKo7J,GAAKp7J,KAAKs3J,GAAKt3J,KAAKuhC,EAAIvhC,KAAKp8B,EAAIo8B,KAAKq4J,GAAKr4J,KAAK5c,EAAI4c,KAAK44J,GAAK54J,KAAK47J,GAAK57J,KAAK48B,EAAI,OAC3FhsB,EAAI,QACJ0mI,EAAI,WAEFuF,KAAA,IACHzuJ,EAAI,IAAIivJ,GAAA,aACJjvJ,IACJA,EAAE3S,EAAI,EAAK2S,EAAEuzK,GAAK,KAAQvzK,EAAEoU,GAAK,EAAKpU,EAAEwxK,GAAK,EAAIgY,KAAOA,GAAKx5B,KAC1DhwJ,CAAA,UAEA8vJ,GAAE9vJ,EAAGxzB,EAAGuzB,GAAA,UACVC,EAAE3S,IAAO2S,EAAE3S,EAAI7gB,EAAKwzB,EAAEuzK,GAAKxzK,EAAKC,EAAEoU,GAAK,GACrC,WAEA27I,GAAG/vJ,EAAGxzB,EAAGuzB,GAAA,OACT,GAAKA,GAAK,KAAOC,EAAExzB,EAAI,IAAM,GAAKwzB,EAAExzB,EAAI,IAAM,IAAMwzB,EAAExzB,EAAI,YAE1D4iL,GAAGpvJ,EAAGD,GAAA,GACT,MAAQC,EAAG,OAAO,KACtBA,EAAE3S,EAAI,EACN2S,EAAEuzK,GAAK,KACH,MAAQxzK,EAAG,OAAO+vJ,GAAE9vJ,EAAG,EAAG,4CAC1B9H,EAAI6H,EAAE3/B,KACNitB,EAAI0S,EAAEyuC,EACN2E,EAAIpzC,EAAEqpK,GAAA,GACN,EAAIj2H,EAAG,OAAO28G,GAAE9vJ,EAAG,EAAG,yBACtB7E,EAAIjD,EAAE7K,EAAI,GAAM6K,EAAE7K,EAAI,IAAM,EAAM6K,EAAE7K,EAAI,IAAM,GAC9Co1B,EAAIziB,EAAE+5K,GAAA,GACVt3J,EAAEuuJ,KAAW,EAAJ71K,GACTsnB,EAAEosF,GAAM1zG,GAAK,EAAK,EAClBsnB,EAAEk1J,GAAMx8K,GAAK,EAAK,EAClBsnB,EAAE4sJ,GAAKl0K,GAAK,EACR,EAAIsnB,EAAEosF,GAAI,OAAOihD,GAAE9vJ,EAAG,EAAG,sCACxByiB,EAAEk1J,GAAI,OAAO7nB,GAAE9vJ,EAAG,EAAG,0BAC1B3S,GAAK,EACL8lD,GAAK,MACD/E,EAAIpuC,EAAE60K,GAAA,GACNpyJ,EAAEuuJ,GAAI,IACJ,EAAI79H,EAAG,OAAO28G,GAAE9vJ,EAAG,EAAG,mCACrB+vJ,GAAG73J,EAAG7K,EAAG8lD,GAAI,OAAO28G,GAAE9vJ,EAAG,EAAG,iBACjCouC,EAAE3rB,EAAmC,OAA7BvqB,EAAE7K,EAAI,IAAM,EAAK6K,EAAE7K,EAAI,IAC/B+gD,EAAEksI,GAAKpiL,EAAE7K,EAAI,IAAM,EACnB+gD,EAAEz5D,EAAmC,OAA7BujB,EAAE7K,EAAI,IAAM,EAAK6K,EAAE7K,EAAI,IAC/B+gD,EAAEmtP,GAAKrjS,EAAE7K,EAAI,IAAM,EACnBA,GAAK,EACL8lD,GAAK,EACLnzC,EAAEoqK,GAAMh8H,EAAE3rB,EAAI,IAAO,EACrBziB,EAAEy9K,GAAMrvI,EAAEz5D,EAAI,IAAO,EACrBorB,EAAEpsC,MAAQy6E,EAAE3rB,EACZ1iB,EAAE5iB,OAASixD,EAAEz5D,EACborB,EAAEyqK,GAAK,EACPzqK,EAAEvqB,EAAI,EACNuqB,EAAE/K,EAAI,EACN+K,EAAEkqK,GAAKlqK,EAAEpsC,MACTosC,EAAEozC,EAAIpzC,EAAE5iB,OACR4iB,EAAEmpK,GAAK,EACPnpK,EAAEitK,GAAKjtK,EAAEpsC,MACTosC,EAAEgtK,GAAKhtK,EAAE5iB,OACT4iB,EAAEgvD,EAAIhvD,EAAEpsC,MACRosC,EAAE0uB,EAAI1uB,EAAE5iB,OAERxI,GADAwmB,EAAI6E,EAAEqrK,IACF4B,GAAI,EAAG,IAAK9xK,EAAE8xK,GAAGn7M,QAErB0a,EAAE,OADF2uB,EAAI6E,EAAEsrK,KAENnwK,EAAE40K,GAAK,EACP50K,EAAE20K,GAAK,EACP30K,EAAEg1K,GAAK,EACPx7L,EAAEwmB,EAAEs2K,GAAI,EAAG,EAAGt2K,EAAEs2K,GAAG3/M,QACnB6iB,EAAEwmB,EAAEs1K,GAAI,EAAG,EAAGt1K,EAAEs1K,GAAA,IAEdhuJ,EAAE4sJ,GAAKl8H,EAAG,OAAO28G,GAAE9vJ,EAAG,EAAG,wBAE7B2mC,EADAxrC,EAAI6E,EAAExd,EACA0V,EAAG7K,EAAGo1B,EAAE4sJ,IACdhiL,GAAKo1B,EAAE4sJ,GACPl8H,GAAK1wB,EAAE4sJ,GACP5sJ,EAAEuuJ,KAAQ5iI,EAAE6qI,GAAKryI,EAAEzrC,GAAMizC,EAAEktP,GAAK10P,EAAEzrC,IAClCizC,EAAIpuC,EAAEsrK,GAAA,IAEJn0I,EADEmsB,EAAItjD,EAAEqrK,GAAA,GAEV7+L,EAAE,MAAQ2uB,GACV3uB,EAAE,MAAQ4hE,GACVA,EAAE2hI,GAAKnpI,EAAEzrC,GACLizC,EAAE2hI,GAAI,IACR3hI,EAAE0hI,GAAKlpI,EAAEzrC,GACLyrC,EAAEzrC,GAAI,KACRizC,EAAE+hI,GAAKvpI,EAAEzrC,GACJg8B,EAAI,EAAG,EAAIA,IAAKA,EAAGiX,EAAEqjI,GAAGt6I,GAAKyP,EAAEzrC,GAAK3Y,EAAG2Y,EAAG,GAAK,MAC/Cg8B,EAAI,EAAG,EAAIA,IAAKA,EAAGiX,EAAEqiI,GAAGt5I,GAAKyP,EAAEzrC,GAAK3Y,EAAG2Y,EAAG,GAAK,KAElDizC,EAAE0hI,GAAI,IAAK34I,EAAI,EAAG,EAAIA,IAAKA,EAAGmsB,EAAE2pH,GAAG91I,GAAKyP,EAAEzrC,GAAK+7B,EAAG/7B,EAAG,GAAK,SACzDizC,EAAE0hI,GAAK,KACV30K,EAAE4vK,GAAI,OAAOjb,GAAE9vJ,EAAG,EAAG,mCACzBouC,EAAIpuC,EAAEs2K,IACJ4B,GAAKtxI,EAAEzrC,GACTizC,EAAE8iI,GAAKh6I,EAAG/7B,EAAG,GACbizC,EAAEmhI,GAAKr4I,EAAG/7B,EAAG,GACbizC,EAAE8mI,GAAKtuI,EAAEzrC,GACLizC,EAAE8mI,IAAMtuI,EAAEzrC,GAAI,KACXmoD,EAAI,EAAG,EAAIA,IAAKA,EAAG1c,EAAEzrC,KAAOizC,EAAE2pI,GAAGz0H,GAAK9gE,EAAG2Y,EAAG,QAC5CmoD,EAAI,EAAG,EAAIA,IAAKA,EAAG1c,EAAEzrC,KAAOizC,EAAE4oI,GAAG1zH,GAAK9gE,EAAG2Y,EAAG,OAEnD6E,EAAEuuC,EAAI,GAAKH,EAAE8iI,GAAK,EAAI9iI,EAAE8pI,GAAK,EAAI,EAC7B/8K,EAAE4vK,GAAI,OAAOjb,GAAE9vJ,EAAG,EAAG,kCAErBi3B,EAAIkc,EAAA,GACRA,EAFAhc,EAAI9pC,EAGJA,EAAI8pC,EAAIF,EACRmX,EAAInX,EACJj3B,EAAEwxK,IAAM,GAAKt6I,EAAGl3B,EAAExd,EAAG,IAAM,EAEvBy0C,EAAI,GADRqsB,EAAItjD,EAAEwxK,IACSt5K,EAAI,MACd,KACHi/B,GAAK,EAAImsB,EACTlV,GAAK,EAAIkV,EACJrsB,EAAI,EAAGA,EAAIqsB,IAAKrsB,EAAG,KAClBpX,EAAI3nB,EAAEi7C,EAAI,GAAMj7C,EAAEi7C,EAAI,IAAM,EAAMj7C,EAAEi7C,EAAI,IAAM,GAClDtzB,EAAIuuB,IAAMvuB,EAAIuuB,GACdzH,EAAG3mC,EAAE40K,IAAI39I,GAAI/+B,EAAGi/B,EAAGtX,GACnBsX,GAAKtX,EACLuuB,GAAKvuB,EACLszB,GAAK,EAEPxM,EAAG3mC,EAAE40K,IAAItxH,GAAIprD,EAAGi/B,EAAGiX,GACnBl2C,EAAIi/B,EAAI9pC,EAAI,EAAI,KAEd,GAAK6K,EAAG,OAAO43J,GAAE9vJ,EAAG9H,EAAG,+BAE3BA,EAAIg/B,EADJC,EAAIn3B,EAAExd,EACI,GACV2wD,EAAIvM,EAAEzP,GAAK30C,EAAG20C,EAAG,GAAK,EACtB9pC,EAAIu5C,EAAEzP,GAAK30C,EAAG20C,EAAG,GAAK,EACtBiX,EAAIxH,EAAEzP,GAAK30C,EAAG20C,EAAG,GAAK,EACtBmsB,EAAI1c,EAAEzP,GAAK30C,EAAG20C,EAAG,GAAK,EACtBA,EAAIyP,EAAEzP,GAAK30C,EAAG20C,EAAG,GAAK,EACtBF,EAAIj3B,EAAEsrK,GACDzrJ,EAAI,EAAG,EAAIA,IAAKA,EAAG,IAClBoX,EAAE84I,GAAI,KACJ/6K,EAAIiiC,EAAEw6I,GAAG5xJ,GACboX,EAAEk5I,KAAOn7K,GAAKkD,EAAA,KACT,IAAI,EAAI2nB,EAAG,CAChB7f,EAAEytK,GAAG5tJ,GAAK7f,EAAEytK,GAAG,YAEVz4K,EAAIkD,CAAA,KACP5K,EAAI0S,EAAEytK,GAAG5tJ,GACbvyB,EAAE+nL,GAAG,GAAK0T,GAAGt5B,GAAGz6J,EAAIm+C,EAAG,MACvB7lD,EAAE+nL,GAAG,GAAKuU,GAAGn6B,GAAGz6J,EAAI,EAAG,MACvB1H,EAAE4iL,GAAG,GAAK,EAAI6Y,GAAGt5B,GAAGz6J,EAAI3H,EAAG,MAC3BC,EAAE4iL,GAAG,GAAM,OAAS0Z,GAAGn6B,GAAGz6J,EAAIo5C,EAAG,OAAU,KACvC9gD,EAAE4iL,GAAG,KAAO5iL,EAAE4iL,GAAG,GAAK,GAC1B5iL,EAAE6nL,GAAG,GAAK4T,GAAGt5B,GAAGz6J,EAAIsuD,EAAG,MACvBh2D,EAAE6nL,GAAG,GAAKyU,GAAGn6B,GAAGz6J,EAAImiC,EAAG,MACvB7pC,EAAE0lL,GAAKh+K,EAAImiC,CAAA,KAER1U,EAAEuuJ,GAAI,OAAOlhB,GAAE9vJ,EAAG,EAAG,wBAC1B4mC,EAAEzrC,GACFsnB,EAAIziB,EAAEqrK,GACDnzK,EAAI,EAAG,EAAIA,IAAKA,EAAG,KACjBi7C,EAAI,EAAG,EAAIA,IAAKA,EAAA,IACd9lD,EAAI,EAAG,EAAIA,IAAKA,EAAA,IACd+gD,EAAI,EAAG,GAAKA,IAAKA,EACnBkV,EAAIv9C,EAAE5K,EAAG4uL,GAAG7xL,GAAGi7C,GAAG9lD,GAAG+gD,IAAMlX,EAAG/7B,EAAG,GAAK0uL,GAAG3xL,GAAGi7C,GAAG9lD,GAAG+gD,GAChD3rB,EAAEmzJ,GAAG19K,GAAGi7C,GAAGu+H,GAAGrkL,GAAG+gD,GAAKkV,EAAA,IAC1BnQ,EAAI,EAAG,GAAKA,IAAKA,EAAG1wB,EAAEszJ,GAAG79K,GAAGi7C,GAAK1wB,EAAEmzJ,GAAG19K,GAAGgxL,GAAG/1I,GAAA,QAEnDnzC,EAAE+yK,GAAKnsI,EAAEzrC,GACT6E,EAAE+yK,KAAO/yK,EAAEs4K,GAAKphJ,EAAG/7B,EAAG,IACd6E,EAAEoU,GAAK,WAER47I,GAAGhwJ,EAAGxzB,EAAGuzB,EAAG7H,EAAGvjB,EAAG0Y,EAAG8lD,GAAA,IACxBh4C,EAAI3uB,EAAEmI,GAAG+8L,GAAG3xK,GAAA,IACXA,EAAI,EAAG,GAAKprB,IAAKA,EAAG,KAClBoxB,EAAE/F,EAAG7E,EAAE4E,EAAI,IAAK,OAAOprB,EAAA,MACpBoxB,EAAE/F,EAAG7E,EAAE4E,EAAI,QACX5E,EAAI3uB,IAAImI,GAAG+8L,GAAG,GAAM3xK,EAAI,EAAI,IAAMprB,EAAI,OAAO,OACjD8tC,EAAIj2C,EAAEmI,EAAI,GAAG+8L,GAAA,GACb3rK,EAAE/F,EAAG7E,EAAE4E,EAAI,IAAK,KACdquC,EAAIpuC,EAGJm3B,EAAI,KACJpxB,EAAEqoC,GAHJnX,EAAI97B,IACJmoD,EAAIvjD,GAES,OACTgG,EAAEqoC,EAAGnX,EAAEqsB,EAAI,IAAK,KAClBnoD,EAAI,EAGJmoD,EAAI,GAFJnsB,EAAIpxB,EAAEqoC,EAAGnX,EAAEqsB,EAAI,MACfrsB,EAAIlxB,EAAEqoC,EAAGnX,EAAEqsB,EAAI,EAAInsB,KAEnBA,EAAI,EACCF,EAAIykG,GAAGp4E,GAAIrsB,EAAE97B,KAAMA,EAAGg8B,GAAKA,EAAIpxB,EAAEqoC,EAAGnX,EAAE97B,IAC3Cg8B,GAAK,GAAK,GAAKmsB,EAAA,MAEfv9C,EAAEqoC,EAAGnX,EAAEqsB,EAAI,KACLnsB,EAAI,EAAI,EAAIpxB,EAAEqoC,EAAG,KAAQjX,GAAKpxB,EAAEqoC,EAAG,MACpCjX,EAAI,EAAIpxB,EAAEqoC,EAAG,UACCjX,EAAlBpxB,EAAEqoC,EAAGnX,EAAEqsB,EAAI,IAAW,EAAIv9C,EAAEqoC,EAAGnX,EAAEqsB,EAAI,IAAY,EACtDnoD,EAAIsnB,EAAE,QACA0U,EAAI,EAAKh8B,EAAIsnB,EAAE,GACvBA,EAAI0wB,EAAIq1I,GAAG7zM,GAAA,GACXy5D,EAAIpuC,GACE1S,GAAK1X,EAAGw4D,GAAA,IAEZkV,EADErsB,EAAImX,EAAE9gD,EAERuyB,GADAyjC,EAAIlV,EAAEm8H,IAAM,IACFn8H,EAAEK,GAAKxX,IAAO,KACxBmX,EAAE9gD,EACJ8gD,EAAEm8H,IAAM1qJ,EACRuuB,EAAEm8H,IAAM,EACRn8H,EAAEK,IAAO6U,EAAI,EAAKzjC,IAAMoX,EACxB5pC,EAAEo1B,KAAO0U,EAAItX,GAAKA,GAAK3nB,GAAG,EAAIvjB,GAAK,UAE9B,YAEAi7K,GAAG5vJ,GAAA,IACNxzB,EAAIwzB,EAAE4uK,GAAG5uK,EAAE6uK,GAAK,GACpBriM,EAAEo5L,GAAK,EACPp5L,EAAE0+L,GAAK,EACPv2L,EAAEqrB,EAAEk0K,GAAI,EAAG,EAAGl0K,EAAEk0K,GAAGpiN,QACnBkuC,EAAEqpK,GAAK,WAoQA/Z,GAAGtvJ,EAAGD,GAAA,GACT,MAAQC,EAAG,OAAO,KAClB,MAAQD,EAAG,OAAO+vJ,GAAE9vJ,EAAG,EAAG,4CACzBA,EAAEoU,KAAOg7I,GAAGpvJ,EAAGD,GAAI,OAAO,KAC/BvzB,EAAEwzB,EAAEoU,IACA,MAAQrU,EAAE6xK,IAAM7xK,EAAE6xK,GAAG7xK,GAAI,CAC3BA,EAAEytK,KAAOxtK,EAAEuuC,EAAI,OACXpzC,EAAI4xL,GAAG/sL,EAAEuuC,GAAA,MACRvuC,EAAEuuC,GACDvuC,EAAE2vK,GAAK,EAAK3vK,EAAE4vK,GAAK,IACnB5vK,EAAE2vK,GAAM5vK,EAAE/K,EAAImG,GAAM,EACrB6E,EAAE4vK,GAAM7vK,EAAEvqB,EAAI2lB,GAAM,EACrB,EAAI6E,EAAE2vK,KAAO3vK,EAAE2vK,GAAK,GACpB,EAAI3vK,EAAE4vK,KAAO5vK,EAAE4vK,GAAK,IACxB5vK,EAAE6rK,GAAM9rK,EAAEozC,EAAI,GAAKh4C,GAAM,EACzB6E,EAAEqwK,GAAMtwK,EAAEkqK,GAAK,GAAK9uK,GAAM,EAC1B6E,EAAEqwK,GAAKrwK,EAAEoqK,KAAOpqK,EAAEqwK,GAAKrwK,EAAEoqK,IACzBpqK,EAAE6rK,GAAK7rK,EAAEy9K,KAAOz9K,EAAE6rK,GAAK7rK,EAAEy9K,IACrB,EAAIz9K,EAAEuuC,EAAG,KACP9rB,EAAIziB,EAAEs2K,GAAA,IACLn7K,EAAI,EAAG,EAAIA,IAAKA,EAAG,KAClBizC,EAAA,GACApuC,EAAEsrK,GAAGyE,GAAI,KACP54I,EAAIn3B,EAAEsrK,GAAGmF,GAAGt1K,GAChB6E,EAAEsrK,GAAG6E,KAAOh5I,GAAK1U,EAAEyuJ,GAAA,MACd/5I,EAAI1U,EAAEyuJ,GAAA,IACR9iI,EAAI,EAAG,GAAKA,IAAKA,EAAG,KACnBkV,EAAItjD,EAAEw2K,GAAGr7K,GAAGizC,GACdnX,EAAIE,EAAA,GACN1U,EAAEyyJ,KAAQj+I,GAAKxU,EAAEs1J,GAAG,GAAK3pI,IAAMnX,GAAKxU,EAAEu0J,GAAG,KAErC,GADJ//I,EAAI,EAAIA,EAAI,EAAI,GAAKA,EAAI,GAAKA,GACnB,KACLpX,EAAIoX,EAAA,EACJxU,EAAE8sJ,KACF1vJ,EAAI,EAAI4C,EAAE8sJ,GAAK1vJ,GAAK,EAAIA,GAAK,GAC3B,EAAI4C,EAAE8sJ,KAAO1vJ,EAAI,EAAI4C,EAAE8sJ,IAAA,EACzB1vJ,IAAMA,EAAI,GACdyjC,EAAEoxE,GAAK70G,EACPyjC,EAAEkwH,GAAK,EAAIv8I,EAAIpX,EACfyjC,EAAEuzH,GAAK,IAAM5/I,EAAI,EAAI,IAAMA,EAAI,EAAI,OAC9BqsB,EAAEkwH,GAAK,EACdlwH,EAAE0nH,GAAK58H,CAAA,GAIbjzC,EAAI,OACC20J,GAAE9vJ,EAAG,EAAG,sBAAwB7E,EAAI6E,EAAE3S,EAAA,GACxC8N,EAAI,GAAKA,EAAI,IACZA,EAAG,CACL6E,EAAEk2K,GAAK,IACHl2K,EAAEqqK,KAAOrqK,EAAE20K,GAAKyY,IACpBptL,EAAG,CACD7E,EAAI6E,EAAE20K,GAEJlyJ,EAAI,GADF5C,EAAI7f,EAAEoqK,IAAA,IAERzjI,EAAI,GAAK9mB,EACTqX,EAAIrX,EAAI,EACRr9B,EAAI,EAAIwd,EAAEuuC,EAAI1uB,GAAK,EAAI7f,EAAEqqK,GAAK,EAAI,GAAK,EACvCr1K,GAAK,GAAKgL,EAAEqqK,GAAK,EAAI,GAAKxqJ,EAAA,IAG5ByjC,EAAI7gC,EAAI,KAFR2rB,EAAM,GAAK,GAAKjzC,EAAI4xL,GAAG/sL,EAAEuuC,IAAO,EAAK5H,IACrCxP,EAAI,MAAQn3B,EAAE0qK,IAAM,EAAI1qK,EAAE0qK,GAAG54M,OAASkuC,EAAE60K,GAAGpyJ,EAAIziB,EAAE60K,GAAGlgM,EAAI,KAE/C2uE,EAAGnoD,EAAI,MACX,IACCmoD,EAAItjD,EAAEmxK,GAAI,IACZnxK,EAAEmxK,GAAK,EACPnxK,EAAEu0K,GAAKlnL,EAAEi2D,GACTtjD,EAAEw0K,GAAK,EACH,MAAQx0K,EAAEu0K,GAAI,CAChBp5K,EAAI20J,GAAE9vJ,EAAG,EAAG,gDACNA,CAAA,CAERA,EAAEmxK,GAAK7tH,CAAA,CAETA,EAAItjD,EAAEu0K,GACNt9I,EAAIj3B,EAAEw0K,GACNx0K,EAAEm0K,GAAK7wH,EACPtjD,EAAE61L,GAAK5+J,EACPA,GAAKxU,EACLziB,EAAEw7R,GAAKroP,EAAGxM,EAAG4oH,IACbvvJ,EAAE04K,GAAK,EACP14K,EAAE4uK,GAAKz7H,EAAGjc,EAAI,EAAG23H,IACjB7uJ,EAAE6uK,GAAK,EACP7uK,EAAEkqK,GAAK1nL,EAAI2wD,EAAG3wD,EAAGirK,IAAM,KACvBztJ,EAAEguC,EAAI,EACNhuC,EAAE0uC,EAAEiiI,GAAK,EACT3wK,EAAE0uC,EAAEw7H,GAAKlqK,EAAEkqK,GACXlqK,EAAE0uC,EAAEV,EAAIhuC,EAAEguC,EAAA,EACNhuC,EAAEqqK,KAAOrqK,EAAE0uC,EAAEV,GAAKnuB,GACtBrzC,GAAA,GACAwzB,EAAEizK,GAAK3vH,EACPtjD,EAAEmzK,GAAKl8I,EACPA,GAAK,IACLj3B,EAAEmqK,GAAKh3H,EAAGn+C,EAAG06J,IACb1vJ,EAAEsjK,GAAK,EACPtjK,EAAE0uC,EAAEy7H,GAAKnqK,EAAEmqK,GACXnqK,EAAE0uC,EAAE40H,GAAKtjK,EAAEsjK,GAAA,GACNtjK,EAAEqqK,KAAOrqK,EAAE0uC,EAAE40H,IAAMzjJ,GACxB7f,EAAEmuC,EAAI,GAAKtuB,EACX7f,EAAEkvC,EAAI,EAAIrvB,EAEVA,GADA8mB,EAAIomJ,GAAG/sL,EAAEuuC,IACDvuC,EAAEmuC,EACVxH,EAAKA,EAAI,EAAK3mC,EAAEkvC,EAChBlvC,EAAEykK,GAAKnhH,EACPtjD,EAAEgjK,GAAK/rI,EAAIpX,EACX7f,EAAE8pK,GAAK9pK,EAAEykK,GACTzkK,EAAEqjK,GAAKrjK,EAAEgjK,GAAK,GAAK7nK,EAAI6E,EAAEmuC,EAAIxH,EAC7B3mC,EAAE4qK,GAAK5qK,EAAE8pK,GACT9pK,EAAE6qK,GAAK7qK,EAAEqjK,GAAK,EAAIloK,EAAI6E,EAAEkvC,EAAIvI,EAC5B3mC,EAAEk2K,GAAK,EACPj/I,GAAKmX,EACLpuC,EAAEotK,GAAKj2I,EAAImsB,EAAI,KACftjD,EAAEqtK,GAAKl2I,EAAIF,EAAI,KACfzqD,EAAEyqD,EAAIE,GAAKn3B,EAAEw0K,GAAKx0K,EAAEmxK,IACpBvhB,GAAG5vJ,GACHrrB,EAAEqrB,EAAEm0K,GAAIn0K,EAAE61L,GAAI,EAAGpzK,GACjBtnB,EAAI,MAGJA,EAAG,IACL4E,EAAEupK,GAAK,EACPvpK,EAAEliB,EAAImiB,EAAEykK,GACR1kK,EAAEwvC,EAAIvvC,EAAEgjK,GACRjjK,EAAEk3B,EAAIj3B,EAAE8pK,GACR/pK,EAAEmiB,EAAIliB,EAAEqjK,GACRtjK,EAAE6iK,GAAK5iK,EAAE4qK,GACT7qK,EAAE86K,GAAK76K,EAAE6qK,GACT9qK,EAAEopK,GAAKnpK,EAAEmuC,EACTpuC,EAAEq1K,GAAKp1K,EAAEkvC,EACTnvC,EAAEyiB,EAAI,KACNziB,EAAEmpJ,EAAI,GACDwyI,GAAI,KACFvgS,GAAK,IAAK,KAAOA,IAAKA,EAAGwgS,GAAG,IAAMxgS,GAAK,EAAIA,GAAKA,EAAIA,EAAA,IACpDA,GAAK,KAAM,MAAQA,IAAKA,EAC3BygS,GAAG,KAAOzgS,IAAM,IAAMA,GAAK,IAAM,IAAMA,EAAI,IAAMA,EAAA,IAC9CA,GAAK,IAAK,KAAOA,IAAKA,EACzB0gS,GAAG,IAAM1gS,IAAM,GAAKA,GAAK,GAAK,GAAKA,EAAI,GAAKA,EAAA,IACzCA,GAAK,IAAK,KAAOA,IAAKA,EACzB2gS,GAAG,IAAM3gS,GAAK,EAAIA,EAAI,EAAI,IAAMA,EAAI,IAAMA,EAC5CugS,GAAK,EAEPK,GAAK/xI,GACLtxI,GAAK4wI,GACL0yI,GAAKxyI,GACLyyI,GAAKxyI,GACLyyI,GAAKryI,GACLsyI,GAAKzyI,GACL+5G,GAAKn3G,GACL9sK,GAAK+sK,GACL6vI,GAAKhwI,GACLiwI,GAAKvwI,GACLwwI,GAAK1wI,GACL2wI,GAAK/vI,GACLgwI,GAAK5tL,GACL6tL,GAAKnnQ,GACLonQ,GAAKvwI,GACLwwI,GAAK5wI,GACL6wI,GAAKlxI,GACLmxI,GAAK5wI,GACL+8B,GAAE,GAAK/9B,GACP+9B,GAAE,GAAKp/B,GACPo/B,GAAE,GAAKz9B,GACPy9B,GAAE,GAAKv9B,GACPu9B,GAAE,GAAKr+B,GACPq+B,GAAE,GAAKl+B,GACPk+B,GAAE,GAAKl3F,GACPk3F,GAAE,GAAKx+B,GACPw+B,GAAE,GAAKx9B,GACPw9B,GAAE,GAAK59B,GACPk+B,GAAE,GAAKj/B,GACPi/B,GAAE,GAAKv/B,GACPu/B,GAAE,GAAK3/B,GACP2/B,GAAE,GAAK/+B,GACP++B,GAAE,GAAK5+B,GACP4+B,GAAE,GAAKl/B,GACPk/B,GAAE,GAAK7+B,GACPm+B,GAAG,GAAK/8B,GACR+8B,GAAG,GAAK3+B,GACR2+B,GAAG,GAAKh+B,GACRg+B,GAAG,GAAK58B,GACR48B,GAAG,GAAK79B,GACR69B,GAAG,GAAK/9B,GACR+9B,GAAG,GAAKj9B,GACRxwJ,EAAI,OACCA,EAAI,EAEbA,IAAMA,EAAA,SA5bE6E,EAAGD,GAAA,IACRC,EAAEohB,EAAI,EAAGphB,EAAEohB,EAAIphB,EAAE6rK,KAAM7rK,EAAEohB,EAAG,KAI7B+xB,EAHEh4C,EAAI6E,EAAE40K,GAAG50K,EAAEohB,EAAIphB,EAAEwxK,IACnB/uJ,EAAIziB,EAAExd,EACN4rD,EAAIpuC,EAAA,IAEDmzC,EAAI,EAAGA,EAAI/E,EAAEg8H,KAAMj3H,EAAG,KACrBhc,EAAI1U,EACJ6gC,EAAIlV,EACJnX,EAAIqsB,EAAE6wH,GACRt0J,EAAIyjC,EAAEuyI,GAAK,EAAI1iJ,EACfxM,EAAI2c,EAAE4wH,GACNh9I,EAAIosB,EAAE6mH,GAAG7mH,EAAEggH,GAAKnwH,GAAA,GAClBmQ,EAAEgoH,GAAGwE,GACA54I,EAAEy6I,GAAK5rK,EAAEoxB,EAAGmsB,EAAE+nH,GAAG4B,GAAG,IACjB,EAAIlnK,EAAEoxB,EAAGmsB,EAAE+nH,GAAG4B,GAAG,IACjBlnK,EAAEoxB,EAAGmsB,EAAE+nH,GAAG4B,GAAG,IAChB/1I,EAAEy6I,GAAK,EACZruH,EAAEyvH,KAAO77I,EAAE8gJ,GAAKjyK,EAAEoxB,EAAGmsB,EAAEg1H,KACvBphJ,EAAEq1I,IAAMxmK,EAAEoxB,EAAG,KAAO,EAChBD,EAAEq1I,GAAI,KACJ/pL,EAAI00C,EAAE25I,GACR77K,EAAI,MACDsuD,EAAI,EAAG,EAAIA,IAAKA,EAAG,KAElBh2D,EADAzP,EAAI8oD,EAAE,EAAI2c,GAAA,IAETh2D,EAAI,EAAG,EAAIA,IAAKA,EAAG,CACtBzP,EAAI8qM,GAAG1xJ,EAAEpX,EAAIvyB,IAAIzP,GAAA,IACZ,IAAI2wD,EAAIi7I,GAAG1jL,EAAEoxB,EAAGt5C,EAAE,KAAM,EAAI2wD,GAC/BA,EAAIi7I,GAAG,EAAIj7I,EAAIzoC,EAAEoxB,EAAGt5C,EAAE2wD,KACxB3wD,GAAK2wD,EACLvX,EAAEpX,EAAIvyB,GAAKzP,CAAA,CAEbqa,EAAE1V,EAAGwS,EAAGiiC,EAAGpX,EAAG,GACd7qB,GAAK,EACL2xC,EAAE,EAAI2c,GAAKzlE,CAAA,OAGZA,EAAIkoB,EAAEoxB,EAAG,KAAQpxB,EAAEoxB,EAAG,KAAO,EAAI,EAAKpxB,EAAEoxB,EAAG,KAAO,EAAI,EACpDD,EAAE25I,GAAG,GAAKhzL,EACXlJ,EAAEsiD,EAAGpX,EAAGhiC,EAAG,GACXlJ,EAAEgyD,EAAG,EAAG9oD,EAAG,GACfq5C,EAAEqhJ,GAAKxyK,EAAEoxB,EAAG,KAAQpxB,EAAEoxB,EAAG,KAAQpxB,EAAEoxB,EAAG,KAAO,EAAI,EAAK,EAAK,KAEzDiX,EAAE5rD,EAAEuoL,GAAI,OAAOjb,GAAE9vJ,EAAG,EAAG,iDACpBA,EAAEqpK,GAAKrpK,EAAEoqK,KAAMpqK,EAAEqpK,GAAI,IAE1Bj7H,EAAIjzC,EACJg8B,GAFA1U,EAAIziB,GAEE4uK,GAAGnsJ,EAAEosJ,GAAK,GAChB53I,EAAIxU,EAAEmsJ,GAAGnsJ,EAAEosJ,GAAKpsJ,EAAE4mJ,IAClBl2H,EAAI1wB,EAAE0nJ,GAAG1nJ,EAAE6gJ,GAAK7gJ,EAAE4mJ,IACbxpJ,EAAI4C,EAAEswJ,GAAK5/H,EAAE6kI,GAAK,EACpB7gJ,EAAEyuI,GAAK3uI,EAAE2uI,GAAK,EACbzyH,EAAEo5H,KAAOp1I,EAAE+zI,GAAKj0I,EAAEi0I,GAAK,GACtB/3H,EAAEuhI,GAAK,EACPvhI,EAAEshI,GAAK,EACPthI,EAAEuxH,GAAK,MACP,KACCxiJ,EACFqsB,EAKW,GAJXpX,EAAIF,EACJA,EAAImX,EACJvuB,EAAI4C,EAAE4oJ,GAAG0K,GACTpvI,EAAIlkB,EAAE0nJ,GAAG1nJ,EAAE6gJ,GAAK7gJ,EAAE4mJ,IAClBnyI,EAAIzU,EAAEgrJ,GAAG9mI,EAAEgrI,IACbruH,EAAI3c,EAAEwvI,GACN3zL,EAAI,EACJwS,EAAIytB,EAAEmsJ,GAAGnsJ,EAAEosJ,GAAK,GAChBhxL,EAAIyP,EAAI,EACR3Y,EAAE2uE,EAAG9gE,EAAG,EAAG,KACPmkD,EAAE4lI,GAAA,IACAz9G,EAAI,EACJlxE,EAAIiiC,EAAE,OACL,CACL2uB,EAAInhD,EAAE,QACFklC,EAAI4E,EAAE+zI,GAAKl2K,EAAEk2K,GAAA,GACjB34I,EAAIi3J,GAAGvyJ,EAAGpX,EAAE,GAAI0S,EAAG2E,EAAEg5I,GAAI,EAAG1hI,EAAG,GAC/BrX,EAAE+zI,GAAKl2K,EAAEk2K,IAAM,EAAI34I,GAAK,EACpB,EAAIA,EAAGwpQ,GAAGvtP,EAAG,EAAG8U,EAAG9gE,OAClB,KACC5M,EAAK44D,EAAE,GAAK,GAAM,MACjBA,EAAI,EAAG,IAAMA,EAAGA,GAAK,GAAI8U,EAAE9gE,EAAIgsD,GAAK54D,CAAA,CAE3Ck5E,EAAI,EACJlxE,EAAIiiC,EAAE,OAEJ+mB,EAAW,GAAPzP,EAAEyuI,GACNn3H,EAAW,GAAPz5C,EAAE4wK,GAAA,IACLp3H,EAAI,EAAG,EAAIA,IAAKA,EAAG,KAClBhsB,EAAQ,EAAJisB,EAAA,IACH74D,EAAI24D,EAAI,EAAG,EAAI34D,IAAKA,EAIpBgxD,EAAKA,GAAK,GADVpkB,GADA+P,EAAIi3J,GAAGvyJ,EAAGr5C,EADZ20C,EAAI/P,GAAS,EAAJokB,GACS1P,EAAEm+I,GAAIvmH,EAAGxL,EAAG9gE,IACpBssE,IACa,EACrBvgB,EAAKA,GAAK,GAAM,EAAIhc,EAAI,EAAI,EAAIA,EAAI,EAAI,GAAK+wB,EAAE9gE,EAAI,IACnDA,GAAK,GACVokD,IAAM,EACN6H,EAAKA,GAAK,EAAMjsB,GAAK,EACrBl1B,GAAMA,GAAK,EAAKihD,KAAO,MAEzB3wD,EAAIgpD,EACJkoB,EAAIrgB,GAAK,EACJvsB,EAAI,EAAG,EAAIA,EAAGA,GAAK,EAAG,KACzBqsB,EAAI,EACJ3H,EAAIzP,EAAEyuI,IAAO,EAAI1jJ,EACjBusB,EAAIz5C,EAAE4wK,IAAO,EAAI1jJ,EACZssB,EAAI,EAAG,EAAIA,IAAKA,EAAG,KACtBhsB,EAAQ,EAAJisB,EACC74D,EAAI,EAAG,EAAIA,IAAKA,EAClB28C,EAAI/P,GAAS,EAAJokB,GAGPA,EAAKA,GAAK,GADVpkB,EAAI,GADJ+P,EAAIi3J,GAAGvyJ,EAAGpX,EAAE,GAAI0S,EAAG2E,EAAEi+I,GAAI,EAAG7xH,EAAG9gE,MAEV,EACrB+rD,EAAKA,GAAK,GAAM,EAAIhc,EAAI,EAAI,EAAIA,EAAI,EAAI,GAAK+wB,EAAE9gE,EAAI,IACnDA,GAAK,GACVokD,IAAM,EACN6H,EAAKA,GAAK,EAAMjsB,GAAK,EAEvB3kC,GAAK0wD,GAAM,EAAIrsB,EACftkC,GAAMgpD,GAAK,GAAM1kB,EACjB4sC,IAAU,IAAJrgB,IAAYvsB,CAAA,CAEpBiV,EAAEyuI,GAAKhoL,EACPoX,EAAE4wK,GAAK92G,EACPnoB,EAAE+tI,GAAKpnL,EACPq5C,EAAE8tI,GAAK52L,EACP8oD,EAAE+9H,GAAS,MAAJ7mL,EAAY,EAAIq5C,EAAEwtI,GACzB7kJ,IAAMvyB,EAAIzP,EAAA,MAER4kC,EAAE8rB,IACF9rB,EAAEynJ,GAAGznJ,EAAEurB,EAAIvrB,EAAE4mJ,IAAM5mJ,EAAE+zJ,GAAGrjI,EAAEw+H,IAAIx+H,EAAEo5H,IACjC9pJ,EAAEynJ,GAAGznJ,EAAEurB,EAAIvrB,EAAE4mJ,IAAI2B,KAAOnrJ,GACvBuuB,EAAE28H,GAAI,OAAOjb,GAAE9vJ,EAAG,EAAG,yCAE3B4vJ,GAAG5vJ,GAEHyiB,EAAI1iB,EACJquC,EAAI,EACJ+E,GAHAh4C,EAAI6E,GAGE0uC,EACNvX,EAAI,EAAIh8B,EAAEozC,GAAKpzC,EAAEimB,GAAKjmB,EAAEy0K,IAAMz0K,EAAEimB,GAAKjmB,EAAE0wK,GACnC,GAAK1wK,EAAEkvK,GACTrqK,EAAG,IACAmzC,EAAE/xB,EAAIjmB,EAAEimB,EAAK+xB,EAAEsgI,GAAKt8I,EAAI08H,GAAG14J,EAAGg4C,GAAK/E,EAAI,EAExC+E,GADA5E,EAAIpzC,EAAEuzC,GACAiiI,GAENx5I,GADAt5C,EAAIkvM,GAAG5xL,EAAEozC,IACDpzC,EAAEgzC,EACVlX,EAAKp5C,EAAI,EAAKsd,EAAE+zC,EAChBV,EAAI,GAAK2E,EAAIh4C,EAAEgzC,EACfv4D,EAAI,EAAIu9D,EAAIh4C,EAAE+zC,EACdrvB,EAAI1kB,EAAEspK,GACN99H,EAAIxrC,EAAE6nK,GAAK7rI,EAAIqX,EACftX,EAAI/7B,EAAE2uK,GACNxmH,EAAInoD,EAAEkoK,GAAKpsI,EAAIrhD,EACf4M,EAAI2Y,EAAEyvK,GACN51K,EAAImG,EAAE0vK,GAAK5zI,EAAIrhD,EAEf64D,EAAI,IADJ7H,EAAI2H,EAAEntB,GAEN9zB,EAAIs5C,GAAKzrC,EAAE0wK,GAAK,KACX1wK,EAAEkvK,IAAMxW,GAAG14J,EAAGozC,GACfA,EAAEklI,GACJ,IAAYjxJ,GAAP+P,EAAIp3B,GAASuzC,EAAEttB,EAAG50C,EAAE+lD,EAAEmc,EAAE+kI,IAAKllI,EAAIhc,EAAEo9I,GAAIphI,EAAIhc,EAAE89I,KAAM9hI,EAAG,CAEzDugB,EAAIvgB,EACJ3wD,EAAI4kC,EAAA,IAEF1D,GADEtpC,GAHAu5E,EAAIx8B,GAGEmc,GACFiiI,GACRzuJ,EAAI6sC,EAAE5gB,EAAA,IACF34D,EAAIA,EAAE00L,GAAG10L,EAAEw4D,EAAI8gB,GACjBvf,EAAIwf,EAAE01G,GACNv1H,EAAI6f,EAAEi0G,GAAK,GAAKlkJ,EAAIoD,EAAI,GAAK4sC,EAC7B1tC,EAAI5rC,EAAEk/I,GACN3lF,EAAIv5D,EAAEg+L,GAAA,GACJ,GAAKzkI,EACP,GAAKviE,EAAE,GAAKuiE,GAAI,GAAKggB,EAAExgB,EACrB,EAAIugB,GAAK6tO,GAAGptP,EAAGL,EAAGhtB,EAAG6sB,EAAI,GACvBv5D,EAAEw1L,IAAM6xH,GAAGttP,EAAGL,EAAGhtB,EAAG6sB,GACpB,EAAInxD,GAAK8+S,GAAGntP,EAAGL,EAAGhtB,EAAG6sB,EAAI,GACzBv5D,EAAEw1L,IAAM4xH,GAAGrtP,EAAGL,EAAGhtB,EAAG6sB,OACnB,KACCT,EAAIygB,EAAE7f,EACRR,EAAIqgB,EAAE+6G,GACN37H,EAAI4gB,EAAEs0G,GAAK,EAAIvkJ,EAAIwvB,EAAI,EAAIwgB,EAC3BrgC,EAAIsgC,EAAE67G,GACN77G,EAAIA,EAAE87G,GAAK,EAAI/rJ,EAAIwvB,EAAI,EAAIwgB,EAC3BhwC,EAAItpC,EAAEqhM,GAAA,EACJ/nH,IACDtvE,GAAG+vD,EAAGL,EAAGhtB,EAAG6sB,EAAI,EAAG3tB,EAAGtC,GACvBu9Q,GAAG3tP,EAAGP,EAAG1f,EAAGsgC,EAAGzgB,EAAGS,EAAI,EAAG3tB,EAAGtC,IAC9BtpC,EAAEw1L,KAAOuxH,GAAGhtP,EAAGL,EAAGhtB,EAAG6sB,EAAG3tB,EAAGtC,GAAI29Q,GAAG/tP,EAAGP,EAAG1f,EAAGsgC,EAAGzgB,EAAGS,EAAG3tB,EAAGtC,IAAA,EACnDlhC,IACD6lR,GAAGl0N,EAAGL,EAAGhtB,EAAG6sB,EAAI,EAAG3tB,EAAGtC,GACvBs9Q,GAAG1tP,EAAGP,EAAG1f,EAAGsgC,EAAGzgB,EAAGS,EAAI,EAAG3tB,EAAGtC,IAC9BtpC,EAAEw1L,KAAOsxH,GAAG/sP,EAAGL,EAAGhtB,EAAG6sB,EAAG3tB,EAAGtC,GAAI09Q,GAAG9tP,EAAGP,EAAG1f,EAAGsgC,EAAGzgB,EAAGS,EAAG3tB,EAAGtC,GAAA,KAG/D3jB,EAAEupK,IAAMjwM,MAAM,kBACV,MAAQguD,EAAEg5Q,IAAK,IACjBltP,EAAI,GAAK3H,EACTA,EAAI,IAAMA,EAAI,GACd6H,GACMhsB,EAAE5kC,EAAIsd,EAAEspK,GACThiJ,EAAE8sB,EAAIp0C,EAAE6nK,GAAKx0H,EACb/rB,EAAEwU,EAAI97B,EAAE2uK,GACRrnJ,EAAEP,EAAI/mB,EAAEkoK,GAAKztL,EACb6sC,EAAEmgJ,GAAKznK,EAAEyvK,GACTnoJ,EAAE4T,EAAIl7B,EAAE0vK,GAAKj1L,IACZ24D,GAAK1wD,EACN4kC,EAAE5kC,EAAIgiC,EACN4C,EAAE8sB,EAAI5I,EACNlkB,EAAEwU,EAAIC,EACNzU,EAAEP,EAAIohC,EACN7gC,EAAEmgJ,GAAKpgL,EACPigC,EAAE4T,EAAIrhC,GACX1H,IAAMs5C,GAAK/oD,GACX+oD,EAAInkB,EAAE0wB,IAAMvM,EAAInkB,EAAE0wB,GAClB1wB,EAAED,EAAI,KACNC,EAAEymI,EAAI,KAEJ,MAAQ/tJ,EAAEuvK,IACV,EAAIvvK,EAAEuvK,GAAG54M,QACTy8E,EAAI3H,IACFnkB,EAAEymI,EAAI4H,GAAG31J,EAAGsnB,EAAG8rB,EAAG3H,EAAI2H,GACvB9rB,EAAED,EAAIrnB,EAAEiyK,GACT,MAAQ3qJ,EAAED,GAAK,GAAKC,EAAED,EAAE1wD,QACxB,CACAs8E,EAAI0hH,GAAE30J,EAAG,EAAG,sCACN6E,CAAA,CAERuuC,EAAI9rB,EAAEjtC,IACFqI,EAAI4kC,EAAEjtC,EAAI+4D,EACXA,EAAI9rB,EAAEjtC,EACPhJ,IAAQ,EAAJqR,IACH4kC,EAAE8sB,GAAKp0C,EAAEgzC,EAAItwD,EACb4kC,EAAEP,GAAK/mB,EAAE+zC,GAAKrxD,GAAK,GACnB4kC,EAAE4T,GAAKl7B,EAAE+zC,GAAKrxD,GAAK,GACpB,MAAQ4kC,EAAED,IAAMC,EAAEymI,GAAKzmI,EAAE9uD,MAAQkqB,IACnC0wD,EAAI3H,IACAnkB,EAAE8sB,GAAK9sB,EAAEztB,EACVytB,EAAEP,GAAKO,EAAEztB,GAAK,EACdytB,EAAE4T,GAAK5T,EAAEztB,GAAK,EACf,MAAQytB,EAAED,IAAMC,EAAEymI,GAAKzmI,EAAEztB,GACxBytB,EAAE6mJ,GAAK/6H,EAAI9rB,EAAEjtC,EACbitC,EAAEssC,EAAItsC,EAAEwnJ,GAAKxnJ,EAAEztB,EACfytB,EAAEgM,EAAImY,EAAI2H,EACVH,EAAI3rB,EAAEg5Q,IAAIh5Q,GAAA,CAEf0wB,EAAI,GAAKh4C,EAAEw5K,IACTrnL,IACC4K,EAAEiD,EAAEspK,GAAItpK,EAAE6nK,GAAK7rI,EAAGtX,EAAG8mB,EAAI,GAAKxrC,EAAEgzC,EAAGhX,GACpCj/B,EAAEiD,EAAE2uK,GAAI3uK,EAAEkoK,GAAKpsI,EAAGC,EAAGosB,EAAI,EAAInoD,EAAE+zC,EAAGjY,GAClC/+B,EAAEiD,EAAEyvK,GAAIzvK,EAAE0vK,GAAK5zI,EAAGz0C,EAAGwS,EAAI,EAAImG,EAAE+zC,EAAGjY,GAAA,KAEnCmX,EAAG,OAAO0hH,GAAE9vJ,EAAG,EAAG,0BAElB,EA4LC,CAAOA,EAAGD,IAAA,MACRA,EAAEwlF,IAAMxlF,EAAEwlF,GAAGxlF,GACrB5E,GAAK,SAEFA,GACL6E,EAAEoU,GAAK,EACAjZ,GAFQ,WAIRiuJ,GAAGppJ,EAAGxzB,EAAGuzB,EAAG7H,EAAGvjB,GACtBA,EAAIqrB,EAAExzB,EAAIuzB,EAAI,GAAK7H,IAAMvjB,GAAK,GAC9BqrB,EAAExzB,EAAIuzB,EAAI,GAAK7H,IAAU,IAALvjB,EAAY,EAAIA,EAAI,EAAI,IAAOA,CAAA,UAE5Cw0K,GAAGnpJ,EAAGxzB,EAAGuzB,EAAG7H,EAAGvjB,EAAG0Y,GACzB+7J,GAAGppJ,EAAGxzB,EAAG,EAAGuzB,EAAG7H,EAAIvjB,GACnBy0K,GAAGppJ,EAAGxzB,EAAG,EAAGuzB,EAAG7H,EAAI7K,GACnB+7J,GAAGppJ,EAAGxzB,EAAG,EAAGuzB,EAAG7H,EAAI7K,GACnB+7J,GAAGppJ,EAAGxzB,EAAG,EAAGuzB,EAAG7H,EAAIvjB,EAAA,UAEZ00K,GAAGrpJ,GAAA,OACD,MAAQA,GAAM,IAAMA,CAAA,UAEtBupJ,GAAGvpJ,EAAGxzB,EAAGuzB,EAAG7H,GAAA,IAEjBvjB,EADEw+D,EAAI,EAEJh4C,EAAI9N,EAAE,QACL1Y,EAAI,EAAG,EAAIA,IAAKA,EAAG,KAClB8tC,EAAIziB,EAAExzB,EAAI,GAAKwzB,EAAExzB,EAAI,GACrB4hE,EAAIpuC,EAAExzB,EAAI,GAAKwzB,EAAExzB,EAAI,GACrB2qD,GAAM,MAAQn3B,EAAExzB,EAAI,IAAO,IAAM68K,GAAGrpJ,EAAExzB,EAAI,KAC1C82E,EAAI+lG,GAAGrpJ,EAAExzB,EAAI,KAAQ,MAAQwzB,EAAExzB,EAAI,KAAQ,IAC/C2uB,EAAEg4C,EAAI,GAAK1wB,EAAI6gC,EACfnoD,EAAEg4C,EAAI,GAAK/E,EAAIjX,EACfh8B,EAAEg4C,EAAI,GAAK/E,EAAIjX,EACfh8B,EAAEg4C,EAAI,GAAK1wB,EAAI6gC,EACfnQ,GAAK,EACL3mE,GAAA,KAEGmI,EAAIw+D,EAAI,EAAG,EAAIx+D,IAAKA,EAEpB8tC,GADFziB,EAAI7E,EAAEg4C,EAAI,GAAK,GACLh4C,EAAEg4C,EAAI,GACd/E,EAAIpuC,EAAI7E,EAAEg4C,EAAI,GACdhc,GAAM,MAAQh8B,EAAEg4C,EAAI,IAAO,IAAMk2G,GAAGluJ,EAAEg4C,EAAI,KAE3Ci2G,GAAGrpJ,EAAG7H,EAAG,EAAG,EAAGuqB,GADd6gC,EAAI+lG,GAAGluJ,EAAEg4C,EAAI,KAAQ,MAAQh4C,EAAEg4C,EAAI,KAAQ,MAE5Ci2G,GAAGrpJ,EAAG7H,EAAG,EAAG,EAAGk2C,EAAIjX,GACnBiyH,GAAGrpJ,EAAG7H,EAAG,EAAG,EAAGk2C,EAAIjX,GACnBiyH,GAAGrpJ,EAAG7H,EAAG,EAAG,EAAGuqB,EAAI6gC,GACnBnQ,IACCj7C,GAAK,YAEHwxJ,GAAG1pJ,EAAGxzB,EAAGuzB,EAAG7H,GAAA,IACfvjB,EAAIqrB,EAAExzB,EAAI,GAAK,EACjB6gB,EAAK,MAAQ2S,EAAExzB,EAAI,IAAO,GAC1B2mE,EAAIk2G,GAAGrpJ,EAAExzB,EAAI,IACb2uB,EAAK,MAAQ6E,EAAExzB,EAAI,IAAO,GAE5B28K,GAAGppJ,EAAG7H,EAAG,EAAGvjB,EAAIw+D,EADhBnzC,EAAIqpJ,GAAGrpJ,EAAExzB,EAAI,IACS2uB,GACtBguJ,GAAGppJ,EAAG7H,EAAG,EAAGvjB,EAAI0Y,EAAG2S,EAAG7E,GACtBguJ,GAAGppJ,EAAG7H,EAAG,EAAGvjB,EAAI0Y,EAAG2S,EAAG7E,GACtBguJ,GAAGppJ,EAAG7H,EAAG,EAAGvjB,EAAIw+D,EAAGnzC,EAAG7E,EAAA,UAEfmuJ,GAAGtpJ,EAAGxzB,EAAGuzB,EAAG7H,EAAGvjB,GACtB40K,GAAGvpJ,EAAGxzB,EAAGuzB,EAAG7H,GACZvjB,GAAK40K,GAAGvpJ,EAAGxzB,EAAI,GAAIuzB,EAAG7H,EAAI,YAEnBsxJ,GAAGxpJ,EAAGxzB,EAAGuzB,EAAG7H,GACnBwgB,GAAG1Y,EAAGxzB,EAAI,EAAGuzB,EAAG7H,EAAG,GACnBwgB,GAAG1Y,EAAGxzB,EAAI,GAAIuzB,EAAG7H,EAAI,IAAK,YAEnBuxJ,GAAGzpJ,EAAGxzB,EAAGuzB,EAAG7H,GAAA,IAEfvjB,EAAA,IADJqrB,EAAIA,EAAExzB,EAAI,GAAK,EAEVmI,EAAI,EAAG,EAAIA,IAAKA,EAAA,IAAQnI,EAAI,EAAG,EAAIA,IAAKA,EAAG48K,GAAGrpJ,EAAG7H,EAAG1rB,EAAGmI,EAAGqrB,EAAA,UAExD6pJ,GAAG7pJ,EAAGxzB,EAAGuzB,EAAG7H,GACnB8H,EAAExzB,EAAI,IAAMyvT,GAAGj8R,EAAGxzB,EAAI,EAAGuzB,EAAG7H,GAC5B8H,EAAExzB,EAAI,KAAOyvT,GAAGj8R,EAAGxzB,EAAI,GAAIuzB,EAAG7H,EAAI,GAClC8H,EAAExzB,EAAI,KAAOyvT,GAAGj8R,EAAGxzB,EAAI,GAAIuzB,EAAG7H,EAAI,KAClC8H,EAAExzB,EAAI,KAAOyvT,GAAGj8R,EAAGxzB,EAAI,GAAIuzB,EAAG7H,EAAI,IAAM,YAEjC8xJ,GAAGhqJ,EAAGxzB,EAAGuzB,EAAG7H,GAAA,IAEjBvjB,EADEw+D,EAAI9lD,EAAE,QAEL1Y,EAAI,EAAG,EAAIA,IAAKA,EAAG,KAClBwmB,EAAI6E,EAAExzB,EAAI,EAAImI,GAAKqrB,EAAExzB,EAAI,GAAKmI,GAC9B8tC,EAAIziB,EAAExzB,EAAI,EAAImI,GAAKqrB,EAAExzB,EAAI,EAAImI,GAC7By5D,EAAIpuC,EAAExzB,EAAI,EAAImI,GAAKqrB,EAAExzB,EAAI,EAAImI,GAC7BwiD,EAAIn3B,EAAExzB,EAAI,EAAImI,GAAKqrB,EAAExzB,EAAI,GAAKmI,GAClCw+D,EAAE,EAAIx+D,GAAKwmB,EAAIsnB,EACf0wB,EAAE,EAAIx+D,GAAKwmB,EAAIsnB,EACf0wB,EAAE,EAAIx+D,GAAKwiD,EAAIiX,EACf+E,EAAE,GAAKx+D,GAAKwiD,EAAIiX,CAAA,KAEbz5D,EAAI,EAAG,EAAIA,IAAKA,EAEhBwmB,GADF6E,EAAImzC,EAAE,EAAI,EAAIx+D,GAAK,GACTw+D,EAAE,EAAI,EAAIx+D,GAClB8tC,EAAI0wB,EAAE,EAAI,EAAIx+D,GAAKw+D,EAAE,EAAI,EAAIx+D,GAC7By5D,EAAI+E,EAAE,EAAI,EAAIx+D,GAAKw+D,EAAE,EAAI,EAAIx+D,GAC7BwiD,EAAIn3B,EAAImzC,EAAE,EAAI,EAAIx+D,GAClBorB,EAAE7H,EAAI,GAAMiD,EAAIsnB,GAAM,EACtB1iB,EAAE7H,EAAI,IAAOi/B,EAAIiX,GAAM,EACvBruC,EAAE7H,EAAI,IAAOiD,EAAIsnB,GAAM,EACvB1iB,EAAE7H,EAAI,IAAOi/B,EAAIiX,GAAM,EACvBl2C,GAAK,YAEHgyJ,GAAGlqJ,EAAGxzB,EAAGuzB,GAAA,IAId7H,EAHEvjB,EAAInI,EAAI,GACV6gB,EAAIyvS,GACJ3pP,EAAI,IAAMnzC,EAAErrB,EAAI,OAEbujB,EAAI,EAAGA,EAAI6H,IAAK7H,EAAG,KAGpBiD,EAFEsnB,EAAIp1B,EACN+gD,EAAI+E,EAAInzC,EAAExzB,EAAI,OAEX2uB,EAAI,EAAGA,EAAI4E,IAAK5E,EAAG6E,EAAExzB,EAAI2uB,GAAKsnB,EAAE2rB,EAAIpuC,EAAErrB,EAAIwmB,IAC/C3uB,GAAK,aAGAo9K,GAAG5pJ,EAAGxzB,GACb09K,GAAGlqJ,EAAGxzB,EAAG,YAEFy9K,GAAGjqJ,EAAGxzB,GACb09K,GAAGlqJ,EAAGxzB,EAAG,YAEFu9K,GAAG/pJ,EAAGxzB,GACb09K,GAAGlqJ,EAAGxzB,EAAG,aAEFm9K,GAAG3pJ,EAAGxzB,GAAA,IACTuzB,EAAA,IACCA,EAAI,EAAG,GAAKA,IAAKA,EAAG7H,EAAE8H,EAAGxzB,EAAI,GAAKuzB,EAAGC,EAAGxzB,EAAI,GAAI,aAE9C+9K,GAAGvqJ,EAAGxzB,GAAA,IACTuzB,EAAA,IACCA,EAAI,GAAI,EAAIA,IAAKA,EAAGprB,EAAEqrB,EAAGxzB,EAAGwzB,EAAExzB,EAAI,GAAI,IAAMA,GAAK,YAE/C29K,GAAGnqJ,EAAGxzB,EAAGuzB,GAAA,IACZ7H,EAAA,IACCA,EAAI,EAAG,GAAKA,IAAKA,EAAGvjB,EAAEnI,EAAGuzB,EAAI,GAAK7H,EAAG8H,EAAG,aAEtCqqJ,GAAGrqJ,EAAGxzB,GAAA,IAEXuzB,EADE7H,EAAI,OAEH6H,EAAI,EAAG,GAAKA,IAAKA,EAAG7H,GAAK8H,EAAExzB,EAAI,EAAI,GAAKuzB,GAAKC,EAAExzB,EAAIuzB,EAAI,IAC5DoqJ,GAAGjyJ,GAAK,EAAG8H,EAAGxzB,EAAA,UAEPk+K,GAAG1qJ,EAAGxzB,GAAA,IAEXuzB,EADE7H,EAAI,MAEH6H,EAAI,EAAG,GAAKA,IAAKA,EAAG7H,GAAK8H,EAAExzB,EAAI,EAAI,GAAKuzB,GAC7CoqJ,GAAGjyJ,GAAK,EAAG8H,EAAGxzB,EAAA,UAEP49K,GAAGpqJ,EAAGxzB,GAAA,IAEXuzB,EADE7H,EAAI,MAEH6H,EAAI,EAAG,GAAKA,IAAKA,EAAG7H,GAAK8H,EAAExzB,EAAIuzB,EAAI,IACxCoqJ,GAAGjyJ,GAAK,EAAG8H,EAAGxzB,EAAA,UAEPi+K,GAAGzqJ,EAAGxzB,GACb29K,GAAG,IAAKnqJ,EAAGxzB,EAAA,UAEJw+K,GAAEhrJ,EAAGxzB,EAAGuzB,GAAA,OACPC,EAAI,EAAIxzB,EAAIuzB,EAAI,GAAM,WAEvBwrJ,GAAGvrJ,EAAGxzB,GAAA,IAQXuzB,EAPEprB,EAAInI,EAAI,GAKoB,IAJ9BmI,EAAI,IAAIutB,WAAW,CACjB8oJ,GAAEhrJ,EAAErrB,EAAI,GAAIqrB,EAAErrB,EAAI,GAAIqrB,EAAErrB,EAAI,IAC5Bq2K,GAAEhrJ,EAAErrB,EAAI,GAAIqrB,EAAErrB,EAAI,GAAIqrB,EAAErrB,EAAI,IAC5Bq2K,GAAEhrJ,EAAErrB,EAAI,GAAIqrB,EAAErrB,EAAI,GAAIqrB,EAAErrB,EAAI,IAC5Bq2K,GAAEhrJ,EAAErrB,EAAI,GAAIqrB,EAAErrB,EAAI,GAAIqrB,EAAErrB,EAAI,MAG3BorB,EAAI,EAAG,EAAIA,IAAKA,EAAG7H,EAAE8H,EAAGxzB,EAAI,GAAKuzB,EAAGprB,EAAG,EAAGA,EAAE7iB,OAAA,UAE1C25L,GAAGzrJ,EAAGxzB,GAAA,IACTuzB,EAAIC,EAAExzB,EAAI,GACZ0rB,EAAI8H,EAAExzB,EAAI,EAAI,IACdmI,EAAIqrB,EAAExzB,EAAI,EAAI,IACd6gB,EAAI2S,EAAExzB,EAAI,EAAI,IAChBiiE,EAAGzuC,EAAGxzB,EAAI,EAAG,SAAWw+K,GAAEhrJ,EAAExzB,EAAI,EAAI,IAAKuzB,EAAG7H,IAC5Cu2C,EAAGzuC,EAAGxzB,EAAI,GAAI,SAAWw+K,GAAEjrJ,EAAG7H,EAAGvjB,IACjC85D,EAAGzuC,EAAGxzB,EAAI,GAAI,SAAWw+K,GAAE9yJ,EAAGvjB,EAAG0Y,IACjCohD,EAAGzuC,EAAGxzB,EAAI,GAAI,SAAWw+K,GAAEr2K,EAAG0Y,EAAGA,GAAA,UAE1B49J,GAAGjrJ,EAAGxzB,GAAA,IAEXuzB,EADE7H,EAAI,MAEH6H,EAAI,EAAG,EAAIA,IAAKA,EAAG7H,GAAK8H,EAAExzB,EAAIuzB,EAAI,IAAMC,EAAExzB,EAAI,EAAI,GAAKuzB,GAAA,IAC5D7H,IAAM,EACD6H,EAAI,EAAG,EAAIA,IAAKA,EAAGprB,EAAEqrB,EAAGxzB,EAAI,GAAKuzB,EAAG7H,EAAG,YAErCyyJ,GAAG3qJ,EAAGxzB,GAAA,IACTuzB,EAAIC,EAAExzB,EAAI,EAAI,GAChB0rB,EAAI8H,EAAExzB,EAAI,EAAI,IACdmI,EAAIqrB,EAAExzB,EAAI,EAAI,IACd6gB,EAAI2S,EAAExzB,EAAI,EAAI,IACd2mE,EAAInzC,EAAExzB,EAAI,EAAI,IACd2uB,EAAI6E,EAAExzB,EAAI,EAAI,IACdi2C,EAAIziB,EAAExzB,EAAI,EAAI,IACd4hE,EAAIpuC,EAAExzB,EAAI,EAAI,IAChBwzB,EAAExzB,EAAI,EAAI,IAAMw+K,GAAE9yJ,EAAGvjB,EAAGqrB,EAAExzB,EAAI,EAAI,KAClCwzB,EAAExzB,EAAI,EAAI,IAAMwzB,EAAExzB,EAAI,EAAI,IAAMw+K,GAAEjrJ,EAAG7H,EAAGvjB,GACxCqrB,EAAExzB,EAAI,EAAI,IAAMwzB,EAAExzB,EAAI,EAAI,IAAMwzB,EAAExzB,EAAI,EAAI,IAAMw+K,GAAE39J,EAAG0S,EAAG7H,GACxD8H,EAAExzB,EAAI,EAAI,IAAMwzB,EAAExzB,EAAI,EAAI,IAAMwzB,EAAExzB,EAAI,EAAI,IAAMwzB,EAAExzB,EAAI,EAAI,GAAKw+K,GAAE73G,EAAG9lD,EAAG0S,GACvEC,EAAExzB,EAAI,EAAI,IAAMwzB,EAAExzB,EAAI,EAAI,IAAMwzB,EAAExzB,EAAI,EAAI,GAAKw+K,GAAE7vJ,EAAGg4C,EAAG9lD,GACvD2S,EAAExzB,EAAI,EAAI,IAAMwzB,EAAExzB,EAAI,EAAI,GAAKw+K,GAAEvoI,EAAGtnB,EAAGg4C,GACvCnzC,EAAExzB,EAAI,EAAI,GAAKw+K,GAAE58G,EAAG3rB,EAAGtnB,EAAA,UAEhB22F,GAAG9xF,EAAGxzB,GAAA,IACTuzB,EAAIC,EAAExzB,EAAI,EAAI,IAChB0rB,EAAI8H,EAAExzB,EAAI,EAAI,IACdmI,EAAIqrB,EAAExzB,EAAI,EAAI,IACd6gB,EAAI2S,EAAExzB,EAAI,EAAI,IACd2mE,EAAInzC,EAAExzB,EAAI,EAAI,IACd2uB,EAAI6E,EAAExzB,EAAI,EAAI,IACdi2C,EAAIziB,EAAExzB,EAAI,EAAI,IAChBwzB,EAAExzB,EAAI,EAAI,GAAKw+K,GAAEhrJ,EAAExzB,EAAI,EAAI,IAAKuzB,EAAG7H,GACnC8H,EAAExzB,EAAI,EAAI,GAAKwzB,EAAExzB,EAAI,EAAI,IAAMw+K,GAAEjrJ,EAAG7H,EAAGvjB,GACvCqrB,EAAExzB,EAAI,EAAI,GAAKwzB,EAAExzB,EAAI,EAAI,IAAMwzB,EAAExzB,EAAI,EAAI,IAAMw+K,GAAE9yJ,EAAGvjB,EAAG0Y,GACvD2S,EAAExzB,EAAI,EAAI,GAAKwzB,EAAExzB,EAAI,EAAI,IAAMwzB,EAAExzB,EAAI,EAAI,IAAMwzB,EAAExzB,EAAI,EAAI,IAAMw+K,GAAEr2K,EAAG0Y,EAAG8lD,GACvEnzC,EAAExzB,EAAI,EAAI,IAAMwzB,EAAExzB,EAAI,EAAI,IAAMwzB,EAAExzB,EAAI,EAAI,IAAMw+K,GAAE39J,EAAG8lD,EAAGh4C,GACxD6E,EAAExzB,EAAI,EAAI,IAAMwzB,EAAExzB,EAAI,EAAI,IAAMw+K,GAAE73G,EAAGh4C,EAAGsnB,GACxCziB,EAAExzB,EAAI,EAAI,IAAMw+K,GAAE7vJ,EAAGsnB,EAAGA,EAAA,UAEjBqoI,GAAG9qJ,EAAGxzB,GAAA,IACTuzB,EAAIC,EAAExzB,EAAI,EAAI,GAChB0rB,EAAI8H,EAAExzB,EAAI,EAAI,IACdmI,EAAIqrB,EAAExzB,EAAI,EAAI,IACd6gB,EAAI2S,EAAExzB,EAAI,EAAI,IACd2mE,EAAInzC,EAAExzB,EAAI,EAAI,IACd2uB,EAAI6E,EAAExzB,EAAI,EAAI,IACdi2C,EAAIziB,EAAExzB,EAAI,EAAI,IACd4hE,EAAIpuC,EAAExzB,EAAI,EAAI,IAChBwzB,EAAExzB,EAAI,EAAI,GAAKwzB,EAAExzB,EAAI,EAAI,IAAO6gB,EAAI8lD,EAAI,GAAM,EAC9CnzC,EAAExzB,EAAI,EAAI,GAAKwzB,EAAExzB,EAAI,EAAI,IAAO2mE,EAAIh4C,EAAI,GAAM,EAC9C6E,EAAExzB,EAAI,EAAI,GAAKwzB,EAAExzB,EAAI,EAAI,IAAO2uB,EAAIsnB,EAAI,GAAM,EAC9CziB,EAAExzB,EAAI,EAAI,GAAMi2C,EAAI2rB,EAAI,GAAM,EAC9BpuC,EAAExzB,EAAI,EAAI,IAAMw+K,GAAEr2K,EAAGujB,EAAG6H,GACxBC,EAAExzB,EAAI,EAAI,IAAMw+K,GAAE9yJ,EAAG6H,EAAG1S,GACxB2S,EAAExzB,EAAI,EAAI,IAAMwzB,EAAExzB,EAAI,EAAI,IAAMw+K,GAAEjrJ,EAAG1S,EAAG8lD,GACxCnzC,EAAExzB,EAAI,EAAI,IAAMwzB,EAAExzB,EAAI,EAAI,IAAMw+K,GAAE39J,EAAG8lD,EAAGh4C,GACxC6E,EAAExzB,EAAI,EAAI,IAAMwzB,EAAExzB,EAAI,EAAI,IAAMw+K,GAAE73G,EAAGh4C,EAAGsnB,GACxCziB,EAAExzB,EAAI,EAAI,IAAMw+K,GAAE7vJ,EAAGsnB,EAAG2rB,EAAA,UAEjBo8G,GAAGxqJ,EAAGxzB,GAAA,IACTuzB,EAAIC,EAAExzB,EAAI,EAAI,IAChB0rB,EAAI8H,EAAExzB,EAAI,EAAI,IACdmI,EAAIqrB,EAAExzB,EAAI,EAAI,IACd6gB,EAAI2S,EAAExzB,EAAI,EAAI,IACd2mE,EAAInzC,EAAExzB,EAAI,EAAI,IACd2uB,EAAI6E,EAAExzB,EAAI,EAAI,IACdi2C,EAAIziB,EAAExzB,EAAI,EAAI,IACd4hE,EAAIpuC,EAAExzB,EAAI,EAAI,IAChBwzB,EAAExzB,EAAI,EAAI,GAAMuzB,EAAI7H,EAAI,GAAM,EAC9B8H,EAAExzB,EAAI,EAAI,GAAKwzB,EAAExzB,EAAI,EAAI,IAAO0rB,EAAIvjB,EAAI,GAAM,EAC9CqrB,EAAExzB,EAAI,EAAI,GAAKwzB,EAAExzB,EAAI,EAAI,IAAOmI,EAAI0Y,EAAI,GAAM,EAC9C2S,EAAExzB,EAAI,EAAI,GAAKwzB,EAAExzB,EAAI,EAAI,IAAO6gB,EAAI8lD,EAAI,GAAM,EAC9CnzC,EAAExzB,EAAI,EAAI,IAAMw+K,GAAEjrJ,EAAG7H,EAAGvjB,GACxBqrB,EAAExzB,EAAI,EAAI,IAAMwzB,EAAExzB,EAAI,EAAI,IAAMw+K,GAAE9yJ,EAAGvjB,EAAG0Y,GACxC2S,EAAExzB,EAAI,EAAI,IAAMwzB,EAAExzB,EAAI,EAAI,IAAMw+K,GAAEr2K,EAAG0Y,EAAG8lD,GACxCnzC,EAAExzB,EAAI,EAAI,IAAMwzB,EAAExzB,EAAI,EAAI,IAAMw+K,GAAE39J,EAAG8lD,EAAGh4C,GACxC6E,EAAExzB,EAAI,EAAI,IAAMw+K,GAAE73G,EAAGh4C,EAAGsnB,GACxBziB,EAAExzB,EAAI,EAAI,IAAMw+K,GAAE7vJ,EAAGsnB,EAAG2rB,EAAA,UAEjBg9G,GAAGprJ,EAAGxzB,GAAA,IACTuzB,EAAIC,EAAExzB,EAAI,EAAI,GAChB0rB,EAAI8H,EAAExzB,EAAI,EAAI,IACdmI,EAAIqrB,EAAExzB,EAAI,EAAI,IACd6gB,EAAI2S,EAAExzB,EAAI,EAAI,IAChBwzB,EAAExzB,EAAI,EAAI,GAAMuzB,EAAI7H,EAAI,GAAM,EAC9B8H,EAAExzB,EAAI,EAAI,GAAKwzB,EAAExzB,EAAI,EAAI,IAAO0rB,EAAIvjB,EAAI,GAAM,EAC9CqrB,EAAExzB,EAAI,EAAI,IAAMwzB,EAAExzB,EAAI,EAAI,IAAOmI,EAAI0Y,EAAI,GAAM,EAC/C2S,EAAExzB,EAAI,EAAI,GAAKw+K,GAAEjrJ,EAAG7H,EAAGvjB,GACvBqrB,EAAExzB,EAAI,EAAI,GAAKwzB,EAAExzB,EAAI,EAAI,IAAMw+K,GAAE9yJ,EAAGvjB,EAAG0Y,GACvC2S,EAAExzB,EAAI,EAAI,IAAMwzB,EAAExzB,EAAI,EAAI,IAAMw+K,GAAEr2K,EAAG0Y,EAAGA,GACxC2S,EAAExzB,EAAI,EAAI,IAAMwzB,EAAExzB,EAAI,EAAI,IAAMwzB,EAAExzB,EAAI,EAAI,IAAMwzB,EAAExzB,EAAI,EAAI,IAAMwzB,EAC9DxzB,EAAI,EAAI,IACNwzB,EAAExzB,EAAI,EAAI,IAAM6gB,CAAA,UAEbm+J,GAAGxrJ,EAAGxzB,GAAA,IACTuzB,EAAIC,EAAExzB,EAAI,EAAI,GAChB0rB,EAAI8H,EAAExzB,EAAI,EAAI,IACdmI,EAAIqrB,EAAExzB,EAAI,EAAI,IACd6gB,EAAI2S,EAAExzB,EAAI,EAAI,IACd2mE,EAAInzC,EAAExzB,EAAI,EAAI,IACd2uB,EAAI6E,EAAExzB,EAAI,EAAI,IACdi2C,EAAIziB,EAAExzB,EAAI,EAAI,IACd4hE,EAAIpuC,EAAExzB,EAAI,EAAI,IAChBwzB,EAAExzB,EAAI,EAAI,GAAKwzB,EAAExzB,EAAI,EAAI,IAAOuzB,EAAIozC,EAAI,GAAM,EAC9CnzC,EAAExzB,EAAI,EAAI,IAAMwzB,EAAExzB,EAAI,EAAI,IAAO0rB,EAAI6H,EAAI,GAAM,EAC/CC,EAAExzB,EAAI,EAAI,IAAMwzB,EAAExzB,EAAI,EAAI,IAAOmI,EAAIujB,EAAI,GAAM,EAC/C8H,EAAExzB,EAAI,EAAI,IAAO6gB,EAAI1Y,EAAI,GAAM,EAC/BqrB,EAAExzB,EAAI,EAAI,GAAKw+K,GAAE7vJ,EAAGsnB,EAAG2rB,GACvBpuC,EAAExzB,EAAI,EAAI,GAAKw+K,GAAE73G,EAAGh4C,EAAGsnB,GACvBziB,EAAExzB,EAAI,EAAI,GAAKwzB,EAAExzB,EAAI,EAAI,IAAMw+K,GAAEjrJ,EAAGozC,EAAGh4C,GACvC6E,EAAExzB,EAAI,EAAI,IAAMwzB,EAAExzB,EAAI,EAAI,IAAMw+K,GAAE9yJ,EAAG6H,EAAGozC,GACxCnzC,EAAExzB,EAAI,EAAI,IAAMwzB,EAAExzB,EAAI,EAAI,IAAMw+K,GAAEr2K,EAAGujB,EAAG6H,GACxCC,EAAExzB,EAAI,EAAI,IAAMw+K,GAAE39J,EAAG1Y,EAAGujB,EAAA,UAEjB0yJ,GAAG5qJ,EAAGxzB,GAAA,IACTuzB,EAAA,IACCA,EAAI,EAAG,EAAIA,IAAKA,EAAG7H,EAAE8H,EAAGxzB,EAAI,GAAKuzB,EAAGC,EAAGxzB,EAAI,GAAI,YAE7Cw/K,GAAGhsJ,EAAGxzB,GAAA,IACTuzB,EAAA,IACCA,EAAI,EAAG,EAAIA,IAAKA,EAAGprB,EAAEqrB,EAAGxzB,EAAGwzB,EAAExzB,EAAI,GAAI,GAAKA,GAAK,YAE7C2+K,GAAGnrJ,EAAGxzB,EAAGuzB,GAAA,IACZ7H,EAAA,IACCA,EAAI,EAAG,EAAIA,IAAKA,EAAGvjB,EAAEnI,EAAGuzB,EAAI,GAAK7H,EAAG8H,EAAG,YAErC6rJ,GAAG7rJ,EAAGxzB,GAAA,IAEXuzB,EADE7H,EAAI,MAEH6H,EAAI,EAAG,EAAIA,IAAKA,EAAG7H,GAAK8H,EAAExzB,EAAIuzB,EAAI,IAAMC,EAAExzB,EAAI,EAAI,GAAKuzB,GAC5DorJ,GAAGjzJ,GAAK,EAAG8H,EAAGxzB,EAAA,UAEPq+K,GAAG7qJ,EAAGxzB,GAAA,IAEXuzB,EADE7H,EAAI,MAEH6H,EAAI,EAAG,EAAIA,IAAKA,EAAG7H,GAAK8H,EAAExzB,EAAIuzB,EAAI,IACvCorJ,GAAGjzJ,GAAK,EAAG8H,EAAGxzB,EAAA,UAEPu+K,GAAG/qJ,EAAGxzB,GAAA,IAEXuzB,EADE7H,EAAI,MAEH6H,EAAI,EAAG,EAAIA,IAAKA,EAAG7H,GAAK8H,EAAExzB,EAAI,EAAI,GAAKuzB,GAC5CorJ,GAAGjzJ,GAAK,EAAG8H,EAAGxzB,EAAA,UAEPm/K,GAAG3rJ,EAAGxzB,GACb2+K,GAAG,IAAKnrJ,EAAGxzB,EAAA,UAEJ89K,GAAGtqJ,EAAGxzB,EAAGuzB,GAAA,IACZ7H,EAAI8H,EAAExzB,EAAIuzB,GACZprB,EAAIqrB,EAAExzB,EAAI,GACV6gB,EAAI,GAAK1Y,EAAIujB,GAAK6kS,GAAG,KAAO/8R,EAAExzB,EAAI,EAAIuzB,GAAKC,EAAExzB,EAAIuzB,IACjDozC,EAAI20O,GAAG,KAAQz6R,EAAI,GAAM,IAC3B2S,EAAExzB,EAAIuzB,GAAK+8R,GAAE,IAAM5kS,EAAI4vR,GAAG,KAAQz6R,EAAI,GAAM,KAC5C2S,EAAExzB,EAAI,GAAKswT,GAAE,IAAMnoT,EAAIw+D,EAAA,UAEhBm4G,GAAGtrJ,EAAGxzB,EAAGuzB,EAAG7H,GAAA,IACfvjB,EAAIqrB,EAAExzB,EAAI,GACZ6gB,EAAI2S,EAAExzB,EAAIuzB,GAAA,OACLi9R,GAAE,IAAMh9R,EAAExzB,EAAI,EAAIuzB,GAAKC,EAAExzB,EAAIuzB,IAAM7H,GAAK8kS,GAAE,IAAM3vS,EAAI1Y,GAAKujB,CAAA,UAEzDmzJ,GAAGrrJ,EAAGxzB,EAAGuzB,EAAG7H,GAAA,OAEjB,EAAI8kS,GAAE,IAAMh9R,EAAExzB,EAAIuzB,GAAKC,EAAExzB,EAAI,IAAMwwT,GAAE,IAAMh9R,EAAExzB,EAAI,EAAIuzB,GAAKC,EAAExzB,EAAIuzB,KAAO7H,CAAA,UAGlEg0J,GAAGlsJ,EAAGxzB,EAAGuzB,EAAG7H,EAAGvjB,GAAA,IAClB0Y,EAAI2S,EAAExzB,EAAI,EAAIuzB,GAChBozC,EAAInzC,EAAExzB,EAAI,EAAIuzB,GACd5E,EAAI6E,EAAExzB,EAAIuzB,GACV0iB,EAAIziB,EAAExzB,EAAI,GACV4hE,EAAIpuC,EAAExzB,EAAIuzB,GACVo3B,EAAIn3B,EAAExzB,EAAI,EAAIuzB,GACdujD,EAAItjD,EAAExzB,EAAI,EAAIuzB,GAAA,OACT,EAAIi9R,GAAE,IAAM7hS,EAAIsnB,GAAKu6Q,GAAE,IAAM7pP,EAAI/E,GAAKl2C,EACzC,EACA8kS,GAAE,IAAMh9R,EAAExzB,EAAI,EAAIuzB,GAAK1S,IAAM1Y,GAC3BqoT,GAAE,IAAM3vS,EAAI8lD,IAAMx+D,GAClBqoT,GAAE,IAAM7pP,EAAIh4C,IAAMxmB,GAClBqoT,GAAE,IAAM15O,EAAInsB,IAAMxiD,GAClBqoT,GAAE,IAAM7lQ,EAAIiX,IAAMz5D,GAClBqoT,GAAE,IAAM5uP,EAAI3rB,IAAM9tC,CAAA,UAEjBw3K,GAAGnsJ,EAAGxzB,EAAGuzB,EAAG7H,GAAA,IACfvjB,EAAI,EAAIujB,EAAI,MACXA,EAAI,EAAG,GAAKA,IAAKA,EAAGmzJ,GAAGrrJ,EAAGxzB,EAAI0rB,EAAG6H,EAAGprB,IAAM21K,GAAGtqJ,EAAGxzB,EAAI0rB,EAAG6H,EAAA,UAErDgsJ,GAAG/rJ,EAAGxzB,EAAGuzB,EAAG7H,GAAA,IACfvjB,EAAI,EAAIujB,EAAI,MACXA,EAAI,EAAG,GAAKA,IAAKA,EAAGmzJ,GAAGrrJ,EAAGxzB,EAAI0rB,EAAI6H,EAAG,EAAGprB,IAAM21K,GAAGtqJ,EAAGxzB,EAAI0rB,EAAI6H,EAAG,YAE7D2rJ,GAAG1rJ,EAAGxzB,EAAGuzB,EAAG7H,GAAA,IACfvjB,EAAA,IACCA,EAAI,EAAG,EAAIA,IAAKA,EAAiBw3K,GAAGnsJ,EAAhBxzB,GAAK,EAAIuzB,EAAaA,EAAG7H,EAAA,UAE3C+zJ,GAAGjsJ,EAAGxzB,EAAGuzB,EAAG7H,GAAA,IACfvjB,EAAA,IACCA,EAAI,EAAG,EAAIA,IAAKA,EAAao3K,GAAG/rJ,EAAZxzB,GAAK,EAAauzB,EAAG7H,EAAA,UAEvCm0J,GAAGrsJ,EAAGxzB,EAAGuzB,EAAG7H,EAAGvjB,EAAG0Y,EAAG8lD,EAAGh4C,GAAA,IAC1B9N,EAAI,EAAIA,EAAI,EAAG,EAAI1Y,KAAO,IACzBu3K,GAAGlsJ,EAAGxzB,EAAGuzB,EAAG1S,EAAG8lD,GACjB,GAAIm4G,GAAGtrJ,EAAGxzB,EAAGuzB,EAAG5E,GAAImvJ,GAAGtqJ,EAAGxzB,EAAGuzB,OACxB,KACC0iB,EAAIziB,EACNouC,EAAI5hE,EACJ2qD,EAAIp3B,EACJujD,EAAI7gC,EAAE2rB,EAAI,EAAIjX,GACdF,EAAIxU,EAAE2rB,EAAIjX,GACVtX,EAAI4C,EAAE2rB,EAAI,GACVzH,EAAIlkB,EAAE2rB,EAAIjX,GACVD,EAAIzU,EAAE2rB,EAAI,EAAIjX,GAEd30C,EAAK,IADL8K,EAAIyvS,GAAG,KAAO,GAAKl9Q,EAAIoX,GAAK8lQ,GAAG,KAAOz5O,EAAI3c,KAC5B,IAAO,EACrB3xC,EAAK,GAAK1H,EAAI,IAAO,EACrBA,EAAK,EAAIA,EAAI,IAAO,EACtBm1B,EAAE2rB,EAAI,EAAIjX,GAAK2lQ,GAAE,IAAMr6Q,EAAE2rB,EAAI,EAAIjX,GAAK7pC,GACtCm1B,EAAE2rB,EAAI,EAAIjX,GAAK2lQ,GAAE,IAAMx5O,EAAItuD,GAC3BytB,EAAE2rB,EAAIjX,GAAK2lQ,GAAE,IAAM7lQ,EAAIz0C,GACvBigC,EAAE2rB,EAAI,GAAK0uP,GAAE,IAAMj9Q,EAAIr9B,GACvBigC,EAAE2rB,EAAIjX,GAAK2lQ,GAAE,IAAMn2P,EAAI3xC,GACvBytB,EAAE2rB,EAAI,EAAIjX,GAAK2lQ,GAAE,IAAM5lQ,EAAI5pC,EAAA,CAE/B9gB,GAAK0rB,CAAA,WAGAgzJ,GAAGlrJ,EAAGxzB,EAAGuzB,EAAG7H,EAAGvjB,EAAG0Y,EAAG8lD,EAAGh4C,GAAA,IAC1B9N,EAAI,EAAIA,EAAI,EAAG,EAAI1Y,KAAO,IACzBu3K,GAAGlsJ,EAAGxzB,EAAGuzB,EAAG1S,EAAG8lD,GACjB,GAAIm4G,GAAGtrJ,EAAGxzB,EAAGuzB,EAAG5E,GAAImvJ,GAAGtqJ,EAAGxzB,EAAGuzB,OACxB,KACC0iB,EAAIziB,EACNouC,EAAI5hE,EACJ2qD,EAAIp3B,EACJujD,EAAI7gC,EAAE2rB,EAAIjX,GACVF,EAAIxU,EAAE2rB,EAAI,GACVvuB,EAAI4C,EAAE2rB,EAAIjX,GAEVwP,EAAImhP,GAAG,KAAY,GADnB5wP,EAAI,GAAKD,EAAIqsB,KACY,IACzBpsB,EAAI4wP,GAAG,KAAQ5wP,EAAI,GAAM,IACzB10C,EAAKmkD,EAAI,GAAM,EACjBlkB,EAAE2rB,EAAI,EAAIjX,GAAK2lQ,GAAE,IAAMr6Q,EAAE2rB,EAAI,EAAIjX,GAAK30C,GACtCigC,EAAE2rB,EAAIjX,GAAK2lQ,GAAE,IAAMx5O,EAAIpsB,GACvBzU,EAAE2rB,EAAI,GAAK0uP,GAAE,IAAM7lQ,EAAI0P,GACvBlkB,EAAE2rB,EAAIjX,GAAK2lQ,GAAE,IAAMj9Q,EAAIr9B,EAAA,CAE3BhW,GAAK0rB,CAAA,WAGAo0J,GAAGtsJ,EAAGxzB,EAAGuzB,EAAG7H,EAAGvjB,EAAG0Y,GACzBg/J,GAAGrsJ,EAAGxzB,EAAGuzB,EAAG,EAAG,GAAI7H,EAAGvjB,EAAG0Y,EAAA,UAElBk/J,GAAGvsJ,EAAGxzB,EAAGuzB,EAAG7H,EAAGvjB,EAAG0Y,GACzBg/J,GAAGrsJ,EAAGxzB,EAAG,EAAGuzB,EAAG,GAAI7H,EAAGvjB,EAAG0Y,EAAA,UAElBu+J,GAAG5rJ,EAAGxzB,EAAGuzB,EAAG7H,EAAGvjB,EAAG0Y,GAAA,IACrB8lD,EAAA,IACCA,EAAI,EAAG,EAAIA,IAAKA,EAAiB+3G,GAAGlrJ,EAAhBxzB,GAAK,EAAIuzB,EAAaA,EAAG,EAAG,GAAI7H,EAAGvjB,EAAG0Y,EAAA,UAExDm/J,GAAGxsJ,EAAGxzB,EAAGuzB,EAAG7H,EAAGvjB,EAAG0Y,GAAA,IACrB8lD,EAAA,IACCA,EAAI,EAAG,EAAIA,IAAKA,EAAa+3G,GAAGlrJ,EAAZxzB,GAAK,EAAa,EAAGuzB,EAAG,GAAI7H,EAAGvjB,EAAG0Y,EAAA,UAEpD++J,GAAGpsJ,EAAGxzB,EAAGuzB,EAAG7H,EAAGvjB,EAAG0Y,EAAG8lD,EAAGh4C,GAC/BkxJ,GAAGrsJ,EAAGxzB,EAAGmI,EAAG,EAAG,EAAG0Y,EAAG8lD,EAAGh4C,GACxBkxJ,GAAGtsJ,EAAG7H,EAAGvjB,EAAG,EAAG,EAAG0Y,EAAG8lD,EAAGh4C,EAAA,UAEjB2wJ,GAAG9rJ,EAAGxzB,EAAGuzB,EAAG7H,EAAGvjB,EAAG0Y,EAAG8lD,EAAGh4C,GAC/BkxJ,GAAGrsJ,EAAGxzB,EAAG,EAAGmI,EAAG,EAAG0Y,EAAG8lD,EAAGh4C,GACxBkxJ,GAAGtsJ,EAAG7H,EAAG,EAAGvjB,EAAG,EAAG0Y,EAAG8lD,EAAGh4C,EAAA,UAEjByzG,GAAG5uG,EAAGxzB,EAAGuzB,EAAG7H,EAAGvjB,EAAG0Y,EAAG8lD,EAAGh4C,GAC/B+vJ,GAAGlrJ,EAAGxzB,EAAI,EAAImI,EAAGA,EAAG,EAAG,EAAG0Y,EAAG8lD,EAAGh4C,GAChC+vJ,GAAGnrJ,EAAG7H,EAAI,EAAIvjB,EAAGA,EAAG,EAAG,EAAG0Y,EAAG8lD,EAAGh4C,EAAA,UAEzBm6B,GAAGt1B,EAAGxzB,EAAGuzB,EAAG7H,EAAGvjB,EAAG0Y,EAAG8lD,EAAGh4C,GAC/B+vJ,GAAGlrJ,EAAGxzB,EAAI,EAAG,EAAGmI,EAAG,EAAG0Y,EAAG8lD,EAAGh4C,GAC5B+vJ,GAAGnrJ,EAAG7H,EAAI,EAAG,EAAGvjB,EAAG,EAAG0Y,EAAG8lD,EAAGh4C,EAAA,UAErBg1J,KAAA,KACFkuB,GAAK,IAAIvxB,GAAA,KACTslB,GAAK,QACLL,GAAK,QACLgD,GAAK,QACLT,GAAK1iK,KAAKojK,GAAKpjK,KAAKqgK,GAAKrgK,KAAK0gK,GAAK,OACnCnH,GAAK,IAAIhkD,GAAA,KACT9e,OAAS,OACTioE,GAAK,kBACLC,GAAK,uBACLuJ,GAAK,yBAEH1pB,KAAA,KACFhwL,KAAO,QACP+oB,OAASyoB,KAAKglK,GAAKhlK,KAAKw3J,GAAKx3J,KAAK48B,EAAI,OACtCo1H,GAAK,QACLua,GAAKvsK,KAAK6hB,GAAK7hB,KAAKk5J,GAAKl5J,KAAK+5J,GAAK/5J,KAAKg1B,EAAI,WAE1CgqH,KAAA,KACFsyD,GAAKtxM,KAAK64J,GAAK74J,KAAKtkB,EAAIskB,KAAK8gK,GAAK,OAClC//I,EAAI,QACJ6b,EAAI,WAEFtZ,KAAA,KACF80I,GAAK,OACLiC,GAAK,IAAI7qJ,EAAA,KACTkuJ,GAAK,IAAIluJ,EAAA,KACT01J,GAAKllK,KAAKoiK,GAAKpiK,KAAKyiL,GAAK,OACzBtgB,GAAK,QACLzC,GAAK,OACLnF,GAAK,IAAItsJ,EAAA,KACTo0J,GAAK,IAAI3wH,CAAA,UAEPqtG,KAAA,KACF6e,GAAK59J,KAAKvkB,EAAI,OACdi2D,EAAI,IAAIusG,GAAA,KACRuV,GAAK,IAAItY,GAAA,KACTv9E,EAAI,QACJ+6F,GAAK,OACLsB,GAAK,QACLI,GAAK,OACLxpL,EAAI,IAAI0/B,EAAA,KACR4uJ,GAAK,OACL2G,GAAK,IAAIv1J,EAAA,KACT+oJ,GAAKr5J,KAAKsC,EAAItC,KAAKkN,EAAIlN,KAAKj9B,EAAIi9B,KAAK6Q,EAAI7Q,KAAK8lK,GAAK,OACnDv8K,EAAI,IAAI+5B,GAAA,KACRowD,GAAK,OACLktF,GAAKr/H,EAAG,EAAGy9G,IAAA,KACXqkB,GAAK,WAEHr/I,KAAA,KACFk/I,GAAKljK,KAAKo9C,EAAIp9C,KAAKwsK,GAAKxsK,KAAKj9B,EAAIi9B,KAAK6Q,EAAI,OAC1C6gC,EAAI,IAAIusG,GAAA,KACRj0L,GAAK,OACLwpM,GAAK,QACL0J,GAAK,OACLoI,GAAK,UACLC,GAAK,WAEH/hJ,GAAGp1B,EAAGxzB,EAAGuzB,EAAG7H,EAAGvjB,EAAG0Y,EAAG8lD,GAAA,IAC5BnzC,EAAI,MAAQA,EAAI,EAAIA,EAAExzB,EAAI,GACrBA,EAAI,EAAGA,EAAI2mE,IAAK3mE,EAAImI,EAAE0Y,EAAI7gB,GAAMwzB,EAAID,EAAE7H,EAAI1rB,GAAM,IAAOwzB,EAAIrrB,EAAE0Y,EAAI7gB,EAAA,UAE/DkkL,GAAG1wJ,EAAGxzB,EAAGuzB,EAAG7H,EAAGvjB,EAAG0Y,EAAG8lD,GAAA,IAGtBh4C,EAAA,GAFF,MAAQ6E,EAAGo1B,GAAG,KAAM,KAAMr1B,EAAG7H,EAAGvjB,EAAG0Y,EAAG8lD,QAAA,IAGnCh4C,EAAI,EAAGA,EAAIg4C,IAAKh4C,EAAGxmB,EAAE0Y,EAAI8N,GAAM6E,EAAExzB,EAAI2uB,GAAK4E,EAAE7H,EAAIiD,GAAM,aAGtDq6B,GAAGx1B,EAAGxzB,EAAGuzB,EAAG7H,EAAGvjB,EAAG0Y,EAAG8lD,GAAA,GACxB,MAAQnzC,EAAGo1B,GAAG,KAAM,KAAMr1B,EAAG7H,EAAGvjB,EAAG0Y,EAAG8lD,OACrC,KAIDh4C,EAHEsnB,EAAIziB,EAAExzB,EAAI,GACZ4hE,EAAI3rB,EACJ0U,EAAI1U,EAAA,IAEDtnB,EAAI,EAAGA,EAAIg4C,IAAKh4C,EAEhBizC,EAAIjX,GADN1U,EAAIziB,EAAExzB,EAAI2uB,IACIizC,EACZjX,EAAKp3B,EAAE7H,EAAIiD,KAAW,IAALizC,EAAY,EAAIA,EAAI,EAAI,IAAOA,GAAM,IACtDA,EAAI3rB,EACJ9tC,EAAE0Y,EAAI8N,GAAKg8B,CAAA,WAGX25H,GAAG9wJ,EAAGD,EAAGprB,EAAGw+D,GAAA,IACfh4C,EAAI4E,EAAEpsC,MACR8uD,EAAI1iB,EAAEozC,EAAA,GACR3mE,EAAE,MAAQwzB,GAAK,MAAQD,GACnB,EAAIprB,GAAK,GAAKw+D,GAAKx+D,EAAIw+D,EAAI1wB,EAAG,OAAO,SACpCziB,EAAEq0K,GAAI,IACL,MAAQr0K,EAAEwzB,GAAI,KAEZ4a,EAAA,GADJpuC,EAAEwzB,GAAK,IAAIoC,IAEVwY,EAAI,MAAQpuC,EAAEwzB,MACX4a,EAAIruC,EAAEpsC,MAAQosC,EAAEozC,EAClB3mE,EAAE,GAAKwzB,EAAEowK,GAAGt+M,QACXkuC,EAAEowK,GAAK/iL,EAAE+gD,GACTpuC,EAAE02K,GAAK,EACR,MAAQ12K,EAAEowK,GACLhiI,EAAI,GACHpuC,EAAEotK,GAAKptK,EAAEowK,GAAMpwK,EAAEqtK,GAAKrtK,EAAE02K,GAAM12K,EAAEszK,GAAK,KAAQllI,EAAI,GACtDA,GAAKA,IACHA,EAAG,CACNA,EAAIpuC,EAAEwzB,GAAA,IACF2D,EAAIn3B,EAAE0qK,GACRpnH,EAAItjD,EAAE4mC,EACN3P,EAAIj3B,EAAEozK,GACNvzJ,EAAI7f,EAAEotK,GACNzmI,EAAI3mC,EAAEqtK,GACNn2I,EAAIosB,EAAI,EACR9gE,EAAIy0C,EAAI,EACR3pC,EAAI8gD,EAAEkV,EAAA,GACR92E,EAAE,MAAQ2qD,GAAK,MAAQtX,GAAK,MAAQ9f,GACpCwpL,GAAG,GAAK,KACRA,GAAG,GAAKn0J,GACRm0J,GAAG,GAAK74B,GACR64B,GAAG,GAAK/zJ,GACR4Y,EAAEg3H,GAAKvlJ,EACPuuB,EAAE0gI,GAAKnoI,EACPyH,EAAE3rB,EAAI1iB,EAAEpsC,MACRy6E,EAAEz5D,EAAIorB,EAAE5iB,OACR3Q,EAAE,EAAI4hE,EAAE3rB,GAAK,EAAI2rB,EAAEz5D,GACf,GAAKsiD,EAAGl3B,EAAI,OACX,GACDquC,EAAEgwI,GAAuB,EAAjBjnJ,EAAEmsB,EAAI,GACflV,EAAE4gB,EAAK73B,EAAEmsB,EAAI,IAAM,EAAK,EACxBlV,EAAE0mI,GAAM39I,EAAEmsB,EAAI,IAAM,EAAK,EACzBA,EAAKnsB,EAAEmsB,EAAI,IAAM,EAAK,EACvB,EAAIlV,EAAEgwI,IAAM,EAAIhwI,EAAEgwI,IAAM,GAAKhwI,EAAE4gB,GAAK,EAAI5gB,EAAE0mI,IAAMxxH,EAEhDvjD,EAAI,OACD,GACDzS,EAAEmuS,IAAMx9Q,GACT3wB,EAAEskL,GAAKzkB,GACP7/J,EAAEi4F,GAAK0nE,GACP3/J,EAAEi8K,GAAKn7H,EACP9gD,EAAE35B,MAAQosC,EAAEpsC,MACZ25B,EAAEnQ,OAAS4iB,EAAE5iB,OACbmQ,EAAEk9K,GAAKzqK,EAAEyqK,GACTl9K,EAAE0H,EAAI+K,EAAE/K,EACR1H,EAAE28K,GAAKlqK,EAAEkqK,GACT38K,EAAE9X,EAAIuqB,EAAEvqB,EACR8X,EAAE6lD,EAAIpzC,EAAEozC,EACT/E,EAAEgwI,GAEFp+K,EAAG,CACDxzB,EAAE,GAAK4hE,EAAEgwI,IAAMr+K,EAAI8tJ,KACnBrhL,EAAG,OAAS,IACN,MAAQuzB,EAAG,CACbA,EAAI,QACEC,CAAA,IAERxzB,EAAE,MAAQ4hE,GACVA,EAAE4nJ,GAAKj2L,EACPA,EAAE0iB,EAAI2rB,EAAE3rB,EACR1iB,EAAEprB,EAAIy5D,EAAEz5D,EACRorB,EAAEujD,EAAIlV,EAAEkV,EACRvjD,EAAEujD,EAAEimH,GAAKn7H,EACTruC,EAAEujD,EAAE3vF,MAAQy6E,EAAE3rB,EACd1iB,EAAEujD,EAAEnmE,OAASixD,EAAEz5D,EACforB,EAAE1S,EAAI,EACN2H,EAAG+K,EAAEvd,EAAG20C,EAAGD,EAAG10C,IACTmsK,GAAGvgH,EAAE3rB,EAAG2rB,EAAEz5D,EAAG,EAAGorB,EAAG,MAAO,MAAMvzB,EAAA,MAChCuzB,EAAEulF,IAAM,GAAKvlF,EAAEyyK,GAAG,GAAGE,IAAM1jB,GAAGjvJ,EAAE5E,IAC/BizC,EAAExyE,GAAK,EACRu7D,EAAIp3B,EAAE0iB,EAAI1iB,EAAEprB,EACZorB,EAAE6rK,GAAK,KACP7rK,EAAEisK,GAAK,EACPjsK,EAAEwvE,EAAIliF,EAAE8pC,GACRp3B,EAAEuqK,GAAK,EACR,MAAQvqK,EAAEwvE,GAAMxvE,EAAE1S,EAAI,EAAK0S,EAAI,GAAOA,EAAI,IACxCquC,EAAExyE,GAAK,EAAKmkC,EAAIgvJ,GAAGhvJ,EAAGquC,EAAE3rB,KACzB1iB,EAAG,MAAMvzB,EACduzB,EAAI,QACEC,CAAA,CAERouC,EAAE4nJ,GAAK,KACPj2L,EAAI,OAEHA,EAAIvd,GAAK4rD,EAAE3rB,EAAI2rB,EAAEz5D,EACtBy5D,GAAKruC,CAAA,IAEHquC,EAAG,OAAO,QACTpuC,EAAEwzB,GAAGshJ,GAAM90K,EAAE2qK,GAAK,EAAMx3H,EAAI1wB,EAAI9tC,CAAA,CAEvCnI,EAAE,MAAQwzB,EAAEwzB,IACZhnD,EAAEmI,EAAIw+D,GAAK1wB,GACXziB,EAAG,IAEDD,GADAo3B,EAAIn3B,EAAEwzB,IACA/Q,EACNA,EAAI0U,EAAEmsB,EAAEnQ,EACJ,GAAKhc,EAAEinJ,GAAI,IACblnJ,EAAIl3B,EAAEszK,GACN9wL,EAAIwd,EAAE21K,GACNroL,EAAI0S,EAAE0qK,GACNpnH,EAAItjD,EAAE4mC,EAAI,EAAIjyD,EAAIorB,EAClBk3B,EAAIj3B,EAAEotK,GACNvtJ,EAAI7f,EAAEqtK,GAAK14L,EAAIorB,EACfvzB,EAAE82E,GAAKtjD,EAAE4mC,EAAI5mC,EAAEozK,IACX,GAAKj8I,EAAE63B,EACT,IAAKxiF,EAAE,MAAQ+8M,GAAGpyJ,EAAE63B,IAAK5gB,EAAI,EAAGA,EAAI+E,IAAK/E,EACvCm7I,GAAGpyJ,EAAE63B,GAAG93B,EAAG10C,EAAG8K,EAAGg2D,EAAGrsB,EAAGpX,EAAG9f,GACvBm3B,EAAID,EACJz0C,EAAIq9B,EACJA,GAAK9f,EACLujD,GAAKvjD,OAEV,IAAKquC,EAAI,EAAGA,EAAI+E,IAAK/E,EACnBl2C,EAAE++B,EAAGpX,EAAGvyB,EAAGg2D,EAAGvjD,GAAKm3B,EAAID,EAAKz0C,EAAIq9B,EAAKA,GAAK9f,EAAKujD,GAAKvjD,EACxDC,EAAEszK,GAAKp8I,EACPl3B,EAAE21K,GAAKnzL,CAAA,KACF,IACLhW,EAAE,MAAQ2qD,EAAE6+J,IACZj2L,EAAIprB,EAAIw+D,EAER3mE,EAAE,OADF4hE,EAAIjX,EAAE6+J,KAENxpN,EAAEuzB,GAAKquC,EAAEz5D,GACLy5D,EAAEtvB,GAAK/e,EAAGA,EAAI,OACb,GAAKo3B,EAAEv7D,IAAMu1L,KAAMh6H,EAAEv7D,GAAK,CACzBu7D,EAAIiX,EAAEmhC,EACRr4C,EAAIkX,EAAEk8H,GACN9nL,EAAI4rD,EAAE3rB,EAAA,IACN5kC,EAAIuwD,EAAEz5D,EAMN65D,GALAlhD,EAAI,EACJg2D,EAAIlV,EAAEl6B,EAAI1xB,EACVy0C,EAAImX,EAAEl6B,EAAI1xB,EACVq9B,EAAIuuB,EAAE5rD,EACNmkD,EAAIyH,EAAEjzC,EACFizC,EAAEl6B,GACNgO,EAAI1/B,EAAI3E,EACR0wD,EAAI/rD,EAAIud,EACRniB,EAAI+oD,EAAE0tJ,GACNz+M,EAAI44D,EAAID,EAAIu/G,GAAGnnH,EAAG1P,EAAGqsB,GAAK,KAC5B92E,EAAEgiE,GAAKtsB,GACP11C,EAAEuzB,GAAKliB,GACPrR,EAAEwiL,GAAGroH,IACLn6D,EAAG,OAAS,OACFqzC,EAAEsX,GAAKqX,EAAID,GAAK,IACtBtX,EAAIr5C,IAAMhI,EAAIk4K,GAAGnnH,EAAG1P,EAAGqsB,IACvB92E,EAAE,MAAQoJ,GACV28C,EAAG1S,GAEC,KADJhiC,EAAImwK,GAAGp4K,EAAE68C,EAAE,GAAI78C,EAAEk5C,EAAE,GAAIjP,IAEpBsX,EAAED,EAAIsX,GAAK3wD,IACR2wD,IACAvX,GACGz0C,IAAOy0C,EAAI,IAAMqsB,GAAQvjD,KAAOujD,EAAI,KAAOoqG,GAAGt/G,EAAGkV,QACrD,MAAI,IAAMzlE,GAiBR,CACLyP,EAAI,QACE9gB,CAAA,CAlBFqR,EAAIwvK,GAAGxvK,EAAI,IAAKgiC,GAAA,IAMd+mB,EALF7gC,EAAIioJ,GAAGp4K,EAAE68C,EAAE,GAAI78C,EAAEk5C,EAAE,GAAIjP,GAAA,GAC3B0S,EAAG1S,KAGC2uB,IADJzoC,EAAIwnJ,GAAG/qK,EADPujB,EAAIsnJ,GAAGtnJ,EAAG8Z,MAEIqC,EAAIssB,GAAK3wD,GAGhB,CACLyP,EAAI,QACE9gB,CAAA,KAHDo6D,EAAI,EAAGA,EAAI/oD,IAAK+oD,EAAGzP,EAAED,EAAIsX,EAAI5H,GAAKzP,EAAED,EAAIsX,EAAI5H,EAAI7gC,GAAA,IAKvDyoC,GAAK3wD,EACAo5C,GAAKp5C,EAAGo5C,GAAKz0C,GACfy0C,GAAKz0C,IAAM8gE,GAAQvjD,KAAOujD,EAAI,KAAOoqG,GAAGt/G,EAAGkV,GAC9C9U,EAAID,GAAKtX,EAAIr5C,IAAMhI,EAAIk4K,GAAGnnH,EAAG1P,EAAGqsB,GAAA,CAKlC92E,EAAEqzC,EAAEsX,GAAK23B,EAAGjvC,GAAA,CAEd6tI,GAAGt/G,EAAGkV,EAAIvjD,EAAIA,EAAIujD,GAAA,MACZ92E,CAAA,EAEP8gB,GAAMuyB,EAAEsX,GAAKqX,EAAItsB,GAAO50B,EAAI,EAAK8gD,EAAE/gD,EAAIwyB,EAAEsX,EAAI,EAAI,GAAOiX,EAAEl6B,EAAIs6B,EAC/DzuC,EAAIzS,CAAA,MACCyS,EAAIy3F,GAAGppD,EAAGA,EAAEmhC,EAAGnhC,EAAEk8H,GAAIl8H,EAAE3rB,EAAG2rB,EAAEz5D,EAAGorB,EAAGkuJ,IAAA,IACpCluJ,EAAG,CACNozC,EAAI,QACEnzC,CAAA,EAGVrrB,EAAIw+D,GAAK1wB,IAAMziB,EAAEq0K,GAAK,GACtBlhI,EAAI,MAEDA,EAAG,OAAO,QAEbnzC,EAAEq0K,KACW,OAAXlhI,EAAInzC,EAAEwzB,MAAmB2f,EAAE6iJ,GAAK,MAAQh2L,EAAEwzB,GAAK,KAAO,EAAIxzB,EAAE2qK,IAE9D,OAAOl2M,MAAM,6BAA8B,YAExCurC,EAAEqtK,GAAK14L,EAAIwmB,CAAA,UAEX41J,GAAG/wJ,EAAGxzB,EAAGuzB,EAAG7H,EAAGvjB,EAAG0Y,GAAA,KAClB,EAAI1Y,KAAO,KAKdw+D,EAJEh4C,EAAI6E,EACNyiB,EAAIj2C,GAAKuzB,EAAI,EAAI,GACjBquC,EAAIpuC,EACJm3B,EAAI3qD,GAAKuzB,EAAI,EAAI,OAEdozC,EAAI,EAAGA,EAAIj7C,IAAKi7C,EAAG,KAClBmQ,EAAIlV,EAAEjX,EAAI,EAAIgc,GAAA,KACXmQ,IACHA,GAAK,MACNnoD,EAAEsnB,EAAI,EAAI0wB,EAAI,GAAMh4C,EAAEsnB,EAAI,EAAI0wB,EAAI,GAAKmQ,GAAM,GAC7CnoD,EAAEsnB,EAAI,EAAI0wB,EAAI,GAAMh4C,EAAEsnB,EAAI,EAAI0wB,EAAI,GAAKmQ,GAAM,GAC7CnoD,EAAEsnB,EAAI,EAAI0wB,EAAI,GAAMh4C,EAAEsnB,EAAI,EAAI0wB,EAAI,GAAKmQ,GAAM,IAElD92E,GAAK6gB,CAAA,WAGAgoC,GAAGr1B,EAAGxzB,EAAGuzB,EAAG7H,EAAGvjB,GAAA,KACf,EAAIujB,KAAO,KACZ7K,EAAA,IACCA,EAAI,EAAGA,EAAI0S,IAAK1S,EAAG,KAClB8lD,EAAInzC,EAAExzB,EAAI,EAAI6gB,EAAI,GAEpB8N,EAAQ,IADRizC,EAAIpuC,EAAExzB,EAAI,EAAI6gB,EAAI,IAElBo1B,EAAI,KAAOtnB,EACXizC,GAAW,IAAJA,EAAYA,GAAK,GAAM3rB,GAAM,GACtCziB,EAAExzB,EAAI,EAAI6gB,EAAI,IACH,IAAJ8lD,EAAYA,GAAK,GAAM1wB,GAAM,GAAM,KAC9B,GAAJ0wB,EAAWA,GAAK,GAAM1wB,GAAM,IAAO,EAAK,GAChDziB,EAAExzB,EAAI,EAAI6gB,EAAI,GAAU,IAAJ+gD,EAAWjzC,CAAA,CAEjC3uB,GAAKmI,CAAA,WAGAk8K,GAAG7wJ,EAAGxzB,EAAGuzB,EAAG7H,EAAGvjB,EAAG0Y,EAAG8lD,EAAGh4C,GAAA,IAE7BsnB,EACA2rB,EAFEjX,EAAI,QAGHiX,EAAI,EAAGA,EAAIz5D,IAAKy5D,EAAG,KACjB3rB,EAAI,EAAGA,EAAIvqB,IAAKuqB,EAAG,KAClB6gC,EAAItjD,EAAExzB,EAAIi2C,GACdp1B,EAAE8lD,EAAI,EAAI1wB,GAAK6gC,EACfnsB,GAAKmsB,CAAA,CAEP92E,GAAKuzB,EACLozC,GAAKh4C,CAAA,QAEA,KAAOg8B,CAAA,UAEPs6H,GAAGzxJ,EAAGxzB,EAAGuzB,EAAG7H,EAAGvjB,GAAA,IAClB0Y,EAAA,IACCA,EAAI,EAAGA,EAAI1Y,IAAK0Y,EAAG0S,EAAE7H,EAAI7K,GAAK2S,EAAExzB,EAAI6gB,IAAM,WAExC8jK,KACP8oI,GAAKlpI,GACL4pI,GAAKtlQ,GACL2kQ,GAAKnpI,GACL59G,GAAKw+G,EAAA,UAEEF,GAAGxxJ,EAAG7H,EAAGvjB,GAChBqrB,EAAKD,GAAK,SAASC,EAAGD,EAAG1S,EAAG8lD,EAAGh4C,EAAGsnB,EAAG2rB,EAAGjX,EAAGmsB,EAAGrsB,EAAGpX,EAAG8mB,EAAGzP,EAAG10C,EAAGwS,EAAG1H,EAAGzP,GAAA,IAC7D2wD,EACFtsB,EAAKrkC,EAAI,GAAM,EACb0wD,EAAIpzC,EAAEsnB,EAAI,GAAM2rB,EAAEjX,EAAI,IAAM,GAC5B23B,EAAIxL,EAAErsB,EAAI,GAAMpX,EAAE8mB,EAAI,IAAM,GAChCn6D,EAAE,MAAQwzB,GAAA,IACNpiB,EAAK,EAAI2wD,EAAIugB,EAAI,QAAW,MAChC52D,EAAE8H,EAAED,EAAI,GAAQ,IAAJniB,EAASA,GAAK,GAAIs5C,EAAG10C,GAAA,MACzB6K,IACJzP,EAAK,EAAIkxE,EAAIvgB,EAAI,QAAW,EAC9Br2C,EAAE7K,EAAE8lD,EAAI,GAAQ,IAAJv1D,EAASA,GAAK,GAAIoX,EAAG1H,IAC9BkhD,EAAI,EAAGA,GAAKtsB,IAAKssB,EAAG,KACnBjc,EAAIp3B,EAAEsnB,EAAI+rB,GAAMJ,EAAEjX,EAAIqX,IAAM,GAC5B54D,EAAI0tE,EAAErsB,EAAIuX,GAAM3uB,EAAE8mB,EAAI6H,IAAM,GAC5B5H,EAAI2H,EAAIhc,EAAIu8B,EAAIl5E,EAAI,OACpBmwB,EAAK6gC,EAAI,GAAKrU,EAAIu8B,IAAO,EAE7BlxE,EAAKmoB,EAAIwoC,GAAM,EACfA,GAFA3H,EAAKA,EAAI,GAAK2H,EAAI34D,IAAO,GAEhB28C,GAAM,EACfr6B,EAAE8H,EAAED,EAAI,EAAIyuC,EAAI,GAAQ,IAAJ5wD,EAASA,GAAK,GAAIs5C,EAAG10C,GAAK,EAAIgsD,EAAI,GAAK75D,GAC3DujB,EAAE8H,EAAED,EAAI,EAAIyuC,EAAI,GAAQ,IAAJD,EAASA,GAAK,GAAIrX,EAAG10C,GAAK,EAAIgsD,EAAI,GAAK75D,GAAA,MACnD0Y,IACJzP,EAAKgpD,EAAIkoB,GAAM,EAChBvgB,EAAKxoC,EAAInwB,GAAM,EAChBsiB,EAAE7K,EAAE8lD,EAAI,EAAI3E,EAAI,GAAQ,IAAJ5wD,EAASA,GAAK,GAAIoX,EAAG1H,GAAK,EAAIkhD,EAAI,GAAK75D,GAC3DujB,EAAE7K,EAAE8lD,EAAI,EAAI3E,EAAI,GAAQ,IAAJD,EAASA,GAAK,GAAIv5C,EAAG1H,GAAK,EAAIkhD,EAAI,GAAK75D,IAC7D45D,EAAIhc,EACJu8B,EAAIl5E,CAAA,CAEF,EAAJiI,IACID,EAAK,EAAI2wD,EAAIugB,EAAI,QAAW,EAC9B52D,EAAE8H,EAAED,EAAIliB,EAAI,GAAQ,IAAJD,EAASA,GAAK,GAAIs5C,EAAG10C,GAAK3E,EAAI,GAAKlJ,GACnD,MAAQ0Y,IACJzP,EAAK,EAAIkxE,EAAIvgB,EAAI,QAAW,EAC9Br2C,EAAE7K,EAAE8lD,EAAIt1D,EAAI,GAAQ,IAAJD,EAASA,GAAK,GAAIoX,EAAG1H,GAAKzP,EAAI,GAAKlJ,IAAA,WAGlDwgD,KACP60J,GAAEswG,IAAM5xG,GACRsB,GAAEkwG,IAAMjwG,GACRD,GAAEwwG,IAAMtwG,GACRF,GAAEmwG,IAAM1tG,GACRzC,GAAE+vG,IAAMxtG,GACRvC,GAAEowG,IAAMhwG,GACRJ,GAAE4wG,IAAM96Q,GACRkqK,GAAEuvG,IAAMtvG,GACRD,GAAEwvG,IAAM/sG,GACRzC,GAAEyvG,IAAMltG,GACRvC,GAAE0vG,IAAMtvG,EAAA,UAED94B,GAAGtxJ,GAAA,OACHA,GAAKsrL,GAAM,EAAItrL,EAAI,EAAI,IAAOA,GAAK+rL,EAAA,UAEnCp6B,GAAG3xJ,EAAGxzB,GAAA,OACN8kL,IAAK,MAAQtxJ,GAAM,IAAO,MAAQxzB,GAAM,GAAK,gBAE7C6lL,GAAGryJ,EAAGxzB,EAAGuzB,GAAA,OACTuxJ,IACH,MAAQtxJ,GAAM,IAAO,KAAOxzB,GAAM,IAAO,MAAQuzB,GAAM,GAAK,eAGzDo0J,GAAGn0J,EAAGxzB,GAAA,OACN8kL,IAAK,MAAQtxJ,GAAM,IAAO,MAAQxzB,GAAM,GAAK,gBAE7C+nL,GAAGv0J,EAAGxzB,EAAGuzB,EAAG7H,EAAGvjB,GACtBujB,EAAEvjB,EAAI,GAAKg9K,GAAG3xJ,EAAGD,GACjB7H,EAAEvjB,EAAI,GAAK09K,GAAGryJ,EAAGxzB,EAAGuzB,GACpB7H,EAAEvjB,EAAI,GAAKw/K,GAAGn0J,EAAGxzB,EAAA,UAEVwmL,GAAGhzJ,EAAGxzB,EAAGuzB,EAAG7H,EAAGvjB,GACtBujB,EAAEvjB,EAAI,GAAKw/K,GAAGn0J,EAAGxzB,GACjB0rB,EAAEvjB,EAAI,GAAK09K,GAAGryJ,EAAGxzB,EAAGuzB,GACpB7H,EAAEvjB,EAAI,GAAKg9K,GAAG3xJ,EAAGD,EAAA,UAEV6xJ,GAAG5xJ,EAAGxzB,EAAGuzB,EAAG7H,EAAGvjB,GAAA,IAClB0Y,EAAIglK,GAAGryJ,EAAGxzB,EAAGuzB,GACjBvzB,EAAM6gB,GAAK,EAAK,IAAQ8mK,GAAGn0J,EAAGxzB,IAAM,EACpC0rB,EAAEvjB,EAAI,GAAiB,IAAXg9K,GAAG3xJ,EAAGD,GAAa1S,GAAK,EACpC6K,EAAEvjB,EAAI,GAAKnI,CAAA,UAEJ8qH,GAAGt3F,EAAGxzB,EAAGuzB,EAAG7H,EAAGvjB,GAAA,IAClB0Y,EAAgB,IAAX8mK,GAAGn0J,EAAGxzB,GAAY,GAC3B0rB,EAAEvjB,EAAI,GAAiB,IAAXg9K,GAAG3xJ,EAAGD,GAAasyJ,GAAGryJ,EAAGxzB,EAAGuzB,IAAM,EAC9C7H,EAAEvjB,EAAI,GAAK0Y,CAAA,UAEJ8kK,GAAGnyJ,EAAGxzB,EAAGuzB,EAAG7H,EAAGvjB,GACtBujB,EAAEvjB,EAAI,GAAK,IACX4/K,GAAGv0J,EAAGxzB,EAAGuzB,EAAG7H,EAAGvjB,EAAI,YAEZ+8K,GAAG1xJ,EAAGxzB,EAAGuzB,EAAG7H,EAAGvjB,GACtBq+K,GAAGhzJ,EAAGxzB,EAAGuzB,EAAG7H,EAAGvjB,GACfujB,EAAEvjB,EAAI,GAAK,aAEJo/K,GAAG/zJ,EAAGxzB,EAAGuzB,EAAG7H,EAAGvjB,GACtB4/K,GAAGv0J,EAAGxzB,EAAGuzB,EAAG7H,EAAGvjB,GACfujB,EAAEvjB,EAAI,GAAK,aAEJ86K,GAAGzvJ,EAAGxzB,GAAA,OACN,EAAIwzB,EAAI,EAAIA,EAAIxzB,EAAIA,EAAIwzB,CAAA,UAExBs0J,GAAG9nL,EAAGuzB,EAAG7H,GAChB8H,EAAKxzB,GAAK,SAASwzB,EAAGxzB,EAAGmI,EAAG0Y,EAAG8lD,EAAGh4C,EAAGsnB,EAAG2rB,EAAGjX,GAAA,IACpC,IAAImsB,EAAIlV,IAAU,EAALjX,GAAUj/B,EAAGk2C,GAAKkV,GAClCvjD,EAAEC,EAAExzB,EAAI,GAAImI,EAAE0Y,EAAI,GAAI8lD,EAAEh4C,EAAI,GAAIsnB,EAAG2rB,GACjCruC,EAAEC,EAAExzB,EAAI,GAAImI,EAAE0Y,EAAI,GAAI8lD,EAAEh4C,EAAI,GAAIsnB,EAAG2rB,EAAIl2C,GACtC1rB,GAAK,IACJ6gB,IACA8N,EACDizC,GAAK,EAAIl2C,EACV,EAAJi/B,GAASp3B,EAAEC,EAAExzB,EAAI,GAAImI,EAAE0Y,EAAI,GAAI8lD,EAAEh4C,EAAI,GAAIsnB,EAAG2rB,EAAA,WAGvC2jH,GAAG/xJ,EAAGxzB,EAAGuzB,GAAA,OACT,GAAKA,EAAK,GAAKC,EAAK,GAAKxzB,EAAI,EAAI,EAAK,GAAKA,EAAI,EAAI,EAAKuzB,CAAA,UAExD64J,GAAG54J,EAAGxzB,EAAGuzB,EAAG7H,EAAGvjB,GAAA,OACdqrB,IAAM,SACP,EACH0Y,GAAGlsC,EAAGuzB,EAAG7H,EAAGvjB,EAAG,cAEZ,EACHwnT,GAAG3vT,EAAGuzB,EAAG7H,EAAGvjB,GAAA,WAET,EACHsnT,GAAGzvT,EAAGuzB,EAAG7H,EAAGvjB,GAAA,UAGTk/K,GAAG7zJ,EAAGxzB,GAAA,IACTuzB,EACF1S,EACA8lD,EAAI3mE,EAAE40C,EACNjmB,EAAI3uB,EAAEmkM,GACNluJ,EAAIziB,EAAEizK,GACN7kI,EAAIpuC,EAAEmzK,GAAK,GACXh8I,EAAIn3B,EAAEizK,GACN3vH,EAAItjD,EAAEmzK,GAAK,IACXl8I,EAAIj3B,EAAEizK,GACNpzJ,EAAI7f,EAAEmzK,GAAK,QACRpzK,EAAI,EAAG,GAAKA,IAAKA,EAAG0iB,EAAE2rB,EAAI,GAAKruC,EAAI,GAAK,QACxCA,EAAI,EAAG,EAAIA,IAAKA,EAClBo3B,EAAEmsB,EAAI,GAAKvjD,EAAI,GAAK,IAAOk3B,EAAEpX,EAAI,GAAK9f,EAAI,GAAK,UAC9CozC,EACC1wB,EAAE2rB,EAAI,EAAI,IAAMjX,EAAEmsB,EAAI,EAAI,IAAMrsB,EAAEpX,EAAI,EAAI,IAAM,KAChDlrC,EAAE8tC,EAAG2rB,EAAI,GAAK,EAAG,IAAK,IACvBz5D,EAAEwiD,EAAGmsB,EAAI,GAAK,EAAG,IAAK,GACtB3uE,EAAEsiD,EAAGpX,EAAI,GAAK,EAAG,IAAK,IACrBxyB,EAAI,EAAGA,EAAI2S,EAAEoqK,KAAM/8K,EAAG,KACrBs5C,EAAIn6D,EAAE29L,GAAG39L,EAAE82L,GAAKj2K,GAAA,GAChB,EAAIA,EAAG,KACJ0S,GAAK,EAAG,GAAKA,IAAKA,EAAG7H,EAAEuqB,EAAG2rB,EAAI,GAAKruC,EAAI,EAAG0iB,EAAG2rB,EAAI,GAAKruC,EAAI,GAAI,OAC9DA,GAAK,EAAG,EAAIA,IAAKA,EACpB7H,EAAEi/B,EAAGmsB,EAAI,GAAKvjD,EAAI,EAAGo3B,EAAGmsB,EAAI,GAAKvjD,EAAI,EAAG,GACtC7H,EAAE++B,EAAGpX,EAAI,GAAK9f,EAAI,EAAGk3B,EAAGpX,EAAI,GAAK9f,EAAI,EAAG,OAE1Cm3B,EAAIl3B,EAAEw7R,GACRh5S,EAAIwd,EAAE04K,GAAKrrL,EACX2H,EAAI2xC,EAAEwvI,GACN7oL,EAAIq5C,EAAE+tI,GAAA,KACJvhI,IACDj7C,EAAEuqB,EAAG2rB,EAAI,GAAIlX,EAAE10C,GAAG3E,EAAG,EAAG,IACzBqa,EAAEi/B,EAAGmsB,EAAI,GAAIpsB,EAAE10C,GAAGy0C,EAAG,EAAG,GACxB/+B,EAAE++B,EAAGpX,EAAI,GAAIqX,EAAE10C,GAAGogL,GAAI,EAAG,IACvBj8H,EAAE4lI,GAAI,KACJ1uL,EAAI4kC,EACJ+rB,EAAIJ,EAAI,GAAK,SACb+E,IACD9lD,GAAK2S,EAAEoqK,GAAK,EACTz1L,EAAEkJ,EAAG2wD,EAAGtX,EAAE10C,GAAG3E,EAAE,IAAK,GACpBqa,EAAEra,EAAG2wD,EAAGtX,EAAE10C,EAAI,GAAG3E,EAAG,EAAG,IACxBkiB,EAAI,EAAG,EAAIA,EAAGA,IACjBliB,EAAE2wD,EAAI,IAAMzuC,GAAKliB,EAAE2wD,EAAI,IAAMzuC,GAAKliB,EAAE2wD,EAAI,IAAMzuC,GAAKliB,EAAE2wD,EAAI,EAAIzuC,GAAA,IAC1DA,EAAI,EAAG,GAAKA,IAAKA,EAAGzS,IAAM,EAC5BzP,EAAI4kC,EAAK+rB,EAAIJ,EAAI48I,GAAGjrL,GAAKipL,GAAEriJ,EAAEkqI,GAAG9wK,IAAIliB,EAAG2wD,GAAIoqH,GAAGtrK,EAAG0H,EAAG,IAAM+K,EAAGliB,EAAG2wD,EAAA,MAC9D,GAAM3wD,EAAIk0K,GAAG1kK,EAAG8lD,EAAGxM,EAAEkqI,GAAG,IAAMyY,GAAEzrM,GAAG4kC,EAAG2rB,GAAI,GAAK9gD,EACpD,IAAKyS,EAAI,EAAG,GAAKA,IAAKA,EAAGzS,IAAM,EAAGsrK,GAAGtrK,EAAG0H,EAAG,IAAM+K,EAAG0iB,EAAG2rB,EAAI48I,GAAGjrL,IAAA,IAChEA,EAAI4mC,EAAE8tI,GACN52L,EAAIk0K,GAAG1kK,EAAG8lD,EAAGxM,EAAE4xI,IACfqQ,GAAG/qM,GAAGs5C,EAAGmsB,GACTslI,GAAG/qM,GAAGo5C,EAAGpX,GAETvyB,EAAI0H,EACJnX,EAAIs5C,EACJqX,EAAI8U,EACA,KAJJ3c,EAAI5mC,EAAK,KAIO,IAAJ4mC,EAAUq1P,GAAG1uS,EAAG,IAAKzP,EAAG2wD,GAAK0tP,GAAG5uS,EAAG,IAAKzP,EAAG2wD,IAEvD7H,EAAI1P,EACJ3pC,EAAIuyB,EACA,KAHJ9f,IAAM,KAGU,IAAJA,EAAUi8R,GAAGhnS,EAAG,IAAK2xC,EAAGr5C,GAAK4uS,GAAGlnS,EAAG,IAAK2xC,EAAGr5C,IACvD6lD,EAAInzC,EAAEy9K,GAAK,IACRvlL,EAAEg/B,EAAE10C,GAAG3E,EAAG,EAAG4kC,EAAG2rB,EAAI,IAAK,IAC1Bl2C,EAAEg/B,EAAE10C,GAAGy0C,EAAG,EAAGE,EAAGmsB,EAAI,IAAK,GACzBprD,EAAEg/B,EAAE10C,GAAGogL,GAAI,EAAG3rI,EAAGpX,EAAI,IAAK,IAC5B9f,EAAI,EAAI5E,EAAI6E,EAAEkvC,EACdhY,EAAIl3B,EAAEykK,GACNjiL,EAAIwd,EAAEgjK,GAAK,GAAK31K,EAAI,GAAK8N,EAAI6E,EAAEmuC,EAC/Bn5C,EAAIgL,EAAE8pK,GACNnjI,EAAI3mC,EAAEqjK,GAAK,EAAIh2K,EAAI0S,EACnBzS,EAAI0S,EAAE4qK,GACN/sL,EAAImiB,EAAE6qK,GAAK,EAAIx9K,EAAI0S,EACdA,EAAI,EAAG,GAAKA,IAAKA,EAAG7H,EAAEg/B,EAAG10C,EAAIud,EAAIC,EAAEmuC,EAAG1rB,EAAG2rB,EAAI,GAAKruC,EAAG,QACrDA,EAAI,EAAG,EAAIA,IAAKA,EACnB7H,EAAElD,EAAG2xC,EAAI5mC,EAAIC,EAAEkvC,EAAG/X,EAAGmsB,EAAI,GAAKvjD,EAAG,GAC/B7H,EAAE5K,EAAGzP,EAAIkiB,EAAIC,EAAEkvC,EAAGjY,EAAGpX,EAAI,GAAK9f,EAAG,aAGhC04J,GAAGz4J,EAAG9H,EAAGvjB,EAAG0Y,EAAG8lD,EAAGh4C,EAAGsnB,EAAG2rB,EAAGjX,GAAA,IAC9BmsB,EAAI,CAAC,GACPrsB,EAAI,CAAC,GACLpX,EAAI,EACJ8mB,EAAI,MAAQxP,EAAIA,EAAEy/I,GAAK,EACvB1/I,EAAI,MAAQC,EAAIA,EAAI,IAAIi5H,GAAA,GACtB,MAAQpwJ,GAAK,GAAKrrB,EAAG,OAAO,EAChCuiD,EAAE92D,KAAO4/B,EACTk3B,EAAEsX,EAAIt2C,EACNg/B,EAAEkyI,GAAKz0L,EACPujB,EAAI,CAACA,GACLvjB,EAAI,CAACA,GACLuiD,EAAEzD,GAAK,CAACyD,EAAEzD,IACVzzB,EAAG,KACGxd,EAAI0V,EACJ5K,EAAI3Y,EACJkJ,EAAIq5C,EAAEzD,GAAA,GACVjnD,EAAE,MAAQwzB,GACVxzB,EAAE,MAAQ8gB,GACV9gB,EAAE,MAAQqR,GACVA,EAAE,GAAK,EACH,IAAMyP,EAAE,KAAOyS,EAAGC,EAAGxd,EAAE,GAAI,QAAS,IAClCud,EAAGC,EAAGxd,EAAE,GAAK,EAAG,QAAS,CAC3B3E,EAAI,QACEmiB,CAAA,KAEJwuC,EAAIh5D,EAAGwqB,EAAGxd,EAAE,GAAK,MACjB,GAAKgsD,GAAK,WAAaA,EAAG,CAC5B3wD,EAAI,QACEmiB,CAAA,IAEJ2mC,GAAK6H,EAAIlhD,EAAE,GAAK,EAAG,CACrBzP,EAAI,QACEmiB,CAAA,CAERniB,EAAE,GAAK2wD,EACPhsD,EAAE,IAAM,GACR8K,EAAE,IAAM,GAEVzP,EAAI,KAEF,GAAKA,EAAG,OAAOA,EAAA,IACnB2wD,EAAI,EAAItX,EAAEzD,GAAG,GACR9+C,EAAIA,EAAE,KAAQ,CAGjBqrB,EAAG,KACGuuC,EAAIvuC,EACR1S,EAAI4K,EACJra,EAAIlJ,EAAA,IAEFm6E,EAAIxL,EACJ1lE,EAAIq5C,EACJ1E,EATJ/vC,EAAI,CAAC,OAMCujB,EALN8Z,EAAI,CAACA,IASD,GAAK,EACH,EAAIhiC,EAAE,GAAIA,EAAI,MACb,KACEkiB,EAAGwuC,EAAGjhD,EAAE,GAAI,QAAS,IACpB,IAAM9X,EAAG+4D,EAAGjhD,EAAE,GAAK,GAAI,CACzBzP,EAAI,QACEmiB,CAAA,IAEJ,GAAKniB,EAAE,GAAI,CACbA,EAAI,QACEmiB,CAAA,KAEJpqB,EAAIJ,EAAG+4D,EAAGjhD,EAAE,GAAK,GACjBs5C,EAAI,EAAI9nB,EAAGyvB,EAAGjhD,EAAE,GAAK,OAErB,YAAcs5C,GADlB2H,EAAI,EAAIzvB,EAAGyvB,EAAGjhD,EAAE,GAAK,KACI,CACvBzP,EAAI,QACEmiB,CAAA,OAEAuyB,IAAMA,EAAE,GAAK38C,GAAA,MACbk5E,IAAMA,EAAE,GAAKloB,GAAA,MACbhpD,IAAMA,EAAE,GAAK2wD,GACrBjhD,EAAE,IAAM,GACRzP,EAAE,IAAM,GACRkoB,EAAE,GAAK,EAETloB,EAAI,MAGRgiC,EAAIA,EAAE,GACNr9B,EAAIA,EAAE,GACF,GAAK3E,EAAG,OAAOA,EAAA,GACnByP,KAAW,EAAJ9K,IACFgsD,GAAK3uB,EAAG,OAAO,WACZ1kB,IAAMA,EAAE,MAAY,GAAJ3Y,IAAA,MAChBigC,IAAMA,EAAE,GAAKn1B,GAAA,MACb8gD,IAAMA,EAAE,GAAK,GACrB3rB,EAAI6gC,EAAE,GACN9gE,EAAIy0C,EAAE,GACFpX,GAAKvyB,GAAK,MAAQ6pC,EAAG,CACvBt5C,EAAI,WAGF,EAAIlJ,EAAG,CACTkJ,EAAI,WAGD2wD,GAAK3uB,IAAQ2uB,IAAM3uB,IAAM9f,EAAGC,EAAG9H,EAAE,GAAI,QAAU,CAClDvjB,EAAI,CAACA,GACLuiD,EAAE0sI,GAAK,CAAC1sI,EAAE0sI,IACV1sI,EAAE0P,EAAI,CAAC1P,EAAE0P,GACT1P,EAAEy0I,GAAK,CAACz0I,EAAEy0I,IACV3rK,EAAG,CACDpqB,EAAIoqB,EACJniB,EAAIqa,EACJs2C,EAAI75D,EAAA,IACAoxB,EAAImxB,EAAEzD,GACRq7B,EAAI53B,EAAE0sI,GACNhmL,EAAIs5C,EAAE0P,EACNrU,EAAI2E,EAAEy0I,GACR/kI,EAAI,GACJp6D,EAAE,MAAQoJ,GACVpJ,EAAE,MAAQgiE,GACVD,EAAI1wD,EAAE,OACF4wD,EAAID,EAAE,OACVhiE,EAAE,MAAQsiF,GACVtiF,EAAE,MAAQ+lD,GACVu8B,EAAE,GAAK,KACPlxE,EAAE,GAAK,KACF20C,EAAE,GAAK,IAAO,IACjB10C,EAAE,GAAK0wD,EACPC,EAAE,GAAKC,EACH,EAAIA,EAAG,CACT5wD,EAAI,QACEmiB,CAAA,KAEJwiB,EAAIhtC,EAAGI,EAAG24D,EAAI,MACd,WAAa/rB,EAAG,CAClB3kC,EAAI,QACEmiB,CAAA,KAEJuvC,EAAK,EAAI/sB,EAAI,GAAM,KACvBokB,GAAK2I,EACD,EAAIxpC,GAAK6gC,EAAI7gC,EAAG,CAClBloB,EAAI,QACEmiB,CAAA,KAEHD,EAAGnqB,EAAG24D,EAAG,UAAYxuC,EAAGnqB,EAAG24D,EAAG,QAAS,CAC1C1wD,EAAI,QACEmiB,CAAA,IAEJyuC,EAAE,GAAKc,EAAG,CACZ1xD,EAAI,QACEmiB,CAAA,CAERD,EAAGnqB,EAAG24D,EAAG,UAAaugB,EAAE,GAAKl5E,EAAKgI,EAAE,GAAK2wD,EAAI,EAAKhc,EAAE,GAAK/P,GACzD+rB,GAAKgB,EACLd,GAAKc,CAAA,KAGT56D,EAAIA,EAAE,GACNuiD,EAAE0sI,GAAK1sI,EAAE0sI,GAAG,GACZ1sI,EAAE0P,EAAI1P,EAAE0P,EAAE,GACV1P,EAAEy0I,GAAKz0I,EAAEy0I,GAAG,GACR,GAAK9tL,EAAG,MAEdlJ,EAAI,CAACA,GACLuiD,EAAE4zI,GAAK,CAAC5zI,EAAE4zI,IACV5zI,EAAEinJ,GAAK,CAACjnJ,EAAEinJ,IACVn+K,EAAG,GACC+F,EAAI/F,EACLniB,EAAIqa,EACJs2C,EAAI75D,EACJm6E,EAAI53B,EAAEzD,GAAG,GACT71C,EAAIs5C,EAAE4zI,GACNv4I,EAAI2E,EAAEinJ,GACNvoM,EAAIiI,EAAE,GACN0wD,GAAKxuC,EAAGgG,EAAGnwB,EAAG,QACdgxD,GAAK7mC,EAAGgG,EAAGnwB,EAAG,QACfpJ,EAAE,MAAQu5B,GACVv5B,EAAE,MAAQgiE,GACVhiE,EAAE,MAAQoR,GACVpR,EAAE,MAAQ+lD,GACV,EAAIic,EAAE,GAEN3wD,EAAI,MACD,IACC0wD,GAAK3H,EAAG,IACV7gC,EAAIvwB,EAAGuwB,EAAGnwB,EAAI,GACV,IAAMk5E,GAAK/oD,EAAI+oD,EAAI,GAAI,CACzBjxE,EAAI,QACEmiB,CAAA,IAEJ2mC,GAAK5gC,EAAIyoC,EAAE,GAAK,EAAG,CACrB3wD,EAAI,QACEmiB,CAAA,CAERpiB,EAAE,GAAKmoB,EACPloB,EAAE,IAAM,EACR2wD,EAAE,IAAM,EACRjc,EAAE,GAAKqU,CAAA,MAENrU,EAAE,GAAK,GAAKic,EAAE,IAAM,IAAMzoC,EAAEnwB,EAAI,MAAQmwB,EAAEnwB,EAAI,IAAM,GAClDgI,EAAE,GAAK4wD,EAAE,GACd3wD,EAAI,KAENlJ,EAAIA,EAAE,GACNuiD,EAAE4zI,GAAK5zI,EAAE4zI,GAAG,GACZ5zI,EAAEinJ,GAAKjnJ,EAAEinJ,GAAG,GACZjmL,EAAIA,EAAE,GACF,GAAKra,EAAG,SACR,WAAaq5C,EAAE4zI,GAAI,OAAO,WACtB18H,GAAK9gD,IAAM8gD,EAAE,GAAKlX,EAAEinJ,GAAK,EAAI,GACrC17J,EAAI,CAACA,GACLjgC,EAAI,CAACA,GACD00C,EAAEinJ,GAAI,IACJ,EAAIxpM,EAAG,CACTkJ,EAAI,QAGNuwD,EAAI3rB,EACJkkB,EAAInkD,EACJ8K,EAAI6N,EAAA,MACI6E,GAAK,EAAIrrB,EACZqrB,EAAI,EACL,GAAKrrB,GAAK,IAAMqrB,EAAE9H,EAAI,MAAQ8H,EAAE9H,EAAI,IAAM,IACxCs2C,EAAI,CAAC,GACNzoC,EAAI,CAAC,GACL+oD,EAAI,CAAC,GAEN95D,EADCpX,EAAI,IAAIskC,EACHliB,EAAG9H,EAAGvjB,GACZmuH,GAAGllH,EAAG4wD,EAAGzoC,EAAG+oD,IACP,MAAQ1gB,IAAMA,EAAE,GAAKI,EAAE,IACxB,MAAQ7H,IAAMA,EAAE,GAAK5gC,EAAE,IACvB,MAAQzY,IAAMA,EAAE,GAAKwhE,EAAE,IACtB9uD,EAAI,GACJA,EAAI,GACRA,EAAI,MACJ,IACD,GAAKrrB,EAAG,CACVkJ,EAAI,QAGNuwD,EAAI5rD,EAAA,MACIwd,GAAK,GAAKrrB,IAAMo7K,GAAG/vJ,EAAG9H,EAAI,EAAGvjB,EAAI,GACpCqrB,EAAI,GACH2mC,EAAI3mC,EAAE9H,EAAI,GAAM8H,EAAE9H,EAAI,IAAM,EAAM8H,EAAE9H,EAAI,IAAM,GAC/C5K,EAAmC,OAA7B0S,EAAE9H,EAAI,IAAM,EAAK8H,EAAE9H,EAAI,IAC7B8H,EAAmC,OAA7BA,EAAE9H,EAAI,IAAM,EAAK8H,EAAE9H,EAAI,IAC1B,EAAJyuC,GACA,GAAMA,GAAK,EAAK,MACbA,GAAK,EAAK,IACbA,GAAK,GAAKzP,EAAE4zI,KACXx9K,IACA0S,EACIA,EAAI,GACJyiB,IAAMA,EAAE,GAAKn1B,GAAI8gD,IAAMA,EAAE,GAAKpuC,GAAKA,EAAI,QAE7CA,EAAG,OAAO,KACfyiB,EAAIA,EAAE,GACNjgC,EAAIA,EAAE,GACFq9B,IAAMyjC,EAAE,IAAM7gC,GAAKwU,EAAE,IAAMz0C,GAAI,OAAO,QAClC20C,IACJA,EAAE,GAAKD,EACRC,EAAEhuC,OAAS+O,EAAIi/B,EAAEqX,EAClBhiE,EAAE,WAAa0rB,EAAIi/B,EAAEqX,GACrBhiE,EAAE2qD,EAAEhuC,QAAUguC,EAAEiyI,GAAKz0L,IAAA,aAGlB,GAAKkJ,GAAM,GAAKA,GAAKgiC,GAAK,MAAQsX,GACpC,MAAQh8B,IAAMA,EAAE,IAAM,MAAQ+7B,EAAE0sI,IAAM,EAAI1sI,EAAE0sI,GAAG9xM,QAChD,MAAQu7B,IAAMA,EAAE,GAAKo1B,GACrB,MAAQ0wB,IAAMA,EAAE,GAAK3wD,GACrB,GACA3E,CAAA,UAEGm0K,GAAGhyJ,EAAGxzB,EAAGuzB,GAAA,IACZ7H,EAAI1rB,EAAE7Y,MACRghB,EAAInI,EAAE2Q,OACNkQ,EAAI,EACJ8lD,EAAI,EACJh4C,EAAIjD,EACJuqB,EAAI9tC,EAAA,GACNnI,EAAEg+L,GAAK,MAAQxqK,GAAK,EAAIA,EAAEwqK,GAExBh+L,EAAEg+L,KACArvK,EAAI6E,EAAEwlF,GACP/iE,EAAIziB,EAAEo2K,GACN/oL,EAAI2S,EAAEhL,EACNm+C,EAAInzC,EAAExqB,EACP,GAAKuqB,IAAO1S,IAAM,EAAK8lD,IAAM,GAC7B,EAAI9lD,GAAK,EAAI8lD,GAAK,GAAKh4C,GAAK,GAAKsnB,GAAKp1B,EAAI8N,EAAIjD,GAAKi7C,EAAI1wB,EAAI9tC,GAE3D,OAAO,KACTnI,EAAEwoB,EAAI3H,EACN7gB,EAAEgJ,EAAI29D,EACN3mE,EAAEy9L,GAAK58K,EAAI8N,EACX3uB,EAAE2mE,EAAIA,EAAI1wB,EACVj2C,EAAEuiF,EAAI5zD,EACN3uB,EAAEiiD,EAAIhM,EACNj2C,EAAE08L,GAAK,MAAQlpK,GAAK,EAAIA,EAAEkpK,GACtB18L,EAAE08L,GAAI,KAGHn6H,EAAG5zC,EAAGsnB,EAFX1iB,EAAI,CAACC,EAAEgtK,IACP3/K,EAAI,CAAC2S,EAAE+sK,KACc,OAAO,EAC5BvgM,EAAEwgM,GAAKjtK,EAAE,GACTvzB,EAAEugM,GAAK1/K,EAAE,UAEX7gB,EAAEghM,GAAK,MAAQxtK,GAAKA,EAAEwtK,GACtBhhM,EAAEgkM,GAAK,MAAQxwK,IAAMA,EAAE85R,GACvBttT,EAAE08L,KAAQ18L,EAAEghM,GAAKhhM,EAAEwgM,GAAM,EAAI90K,EAAK,GAAK1rB,EAAEugM,GAAM,EAAIp4L,EAAK,EAAKnI,EAAEgkM,GAAK,GAC7D,WAEApe,GAAGpyJ,GAAA,GACN,MAAQA,EAAG,OAAO,KAClB,GAAKA,EAAEuyB,EAAG,KACR/lD,EAAIwzB,EAAEi3B,EAAE4iQ,KACZrtT,EAAEogM,KAAO5sK,EAAE7iB,OAAS,GAAK3Q,EAAEsiF,EAC3BtiF,EAAEsiF,GAAKtiF,EAAEsiF,CAAA,MAERtiF,EAAIwzB,EAAEi3B,EAAEi2I,GACNltK,EAAIA,EAAE7iB,OACN3Q,EAAE+iE,IAAMvvC,EAAI,GAAKxzB,EAAE28L,GACnB38L,EAAE28L,IAAM38L,EAAE28L,GACV38L,EAAE01C,IAAOliB,EAAI,GAAM,GAAKxzB,EAAEqjM,GAC1BrjM,EAAEqjM,IAAMrjM,EAAEqjM,GACVrjM,EAAE6pD,IAAOr2B,EAAI,GAAM,GAAKxzB,EAAEyjM,GAC1BzjM,EAAEyjM,IAAMzjM,EAAEyjM,GACX,MAAQzjM,EAAEg2C,IAAOh2C,EAAE08K,IAAMlpJ,EAAI,GAAKxzB,EAAE2gM,GAAM3gM,EAAE2gM,IAAM3gM,EAAE2gM,IAAA,OACjD,WAEA3V,GAAGx3J,EAAGxzB,EAAGuzB,EAAG7H,GAAA,GACf,MAAQA,GAAK,GAAK8H,GAAK,GAAKxzB,EAAG,OAAO,KACtC,MAAQuzB,EAAG,IACTA,EAAEyqK,GAAI,KACJ71L,EAAIorB,EAAEylF,GACRryC,EAAIpzC,EAAEq2K,GACNj7K,GAAW,EAAP4E,EAAE/K,EACNytB,GAAW,EAAP1iB,EAAEvqB,EAAA,GACJ,EAAI2lB,GAAK,EAAIsnB,GAAK,GAAK9tC,GAAK,GAAKw+D,GAAKh4C,EAAIxmB,EAAIqrB,GAAKyiB,EAAI0wB,EAAI3mE,EAC7D,OAAO,EACTwzB,EAAIrrB,EACJnI,EAAI2mE,CAAA,IAEFpzC,EAAEmpK,GAAI,KAGHn6H,EAAG/uC,EAAGxzB,EAFXmI,EAAI,CAACorB,EAAEitK,IACP75H,EAAI,CAACpzC,EAAEgtK,KACc,OAAO,EAC5B/sK,EAAIrrB,EAAE,GACNnI,EAAI2mE,EAAE,IAGVj7C,EAAEvkC,MAAQqsC,EACV9H,EAAE/a,OAAS3Q,EACXwzB,EAAG,KACGouC,EAAIl2C,EAAEvkC,MACNwjE,EAAIj/B,EAAE/a,OAAA,GACV6iB,EAAI9H,EAAEq6B,EACF,GAAK6b,GAAK,GAAKjX,KAAOn3B,GAAKs6R,IAAM,GAAKt6R,GAAIA,EAAI,MAC7C,IACC,GAAK9H,EAAEmiL,IAAM,MAAQniL,EAAE0/K,GAAI,CACzBz8K,EAAKg4C,EAAIx+D,EAAInI,EAAI,MAEnB82E,GADA7gC,EAAI2rB,EAAI+7I,GAAGnqL,IACHm3B,EAAA,MACLn3B,IAEFmzC,GAAMhc,EAAI,GAAK,GADd3qD,GAAK4hE,EAAI,GAAK,GAEhB,IAAMpuC,IAAgB7E,GAATxmB,EAAIy5D,GAAajX,IAE5B,OADJA,EAAI9pC,EAAEi2D,EAAI,EAAInQ,EAAIh4C,IACH,CACb6E,EAAI,QACEA,CAAA,CAER9H,EAAE0/K,GAAKzgJ,EAAA,GACFn3B,IACCouC,EAAIl2C,EAAE++B,EAAE4iQ,MACPltH,GAAKx1I,EACPiX,EAAEw+H,GAAK,EACPx+H,EAAE0gB,EAAIrsC,EACN2rB,EAAEpsC,KAAOshD,KACRlV,EAAIl2C,EAAE++B,EAAEi2I,IACPrvL,EAAIs5C,EACNiX,EAAEmB,EAAI,EACNnB,EAAE+6H,GAAK1mJ,EACP2rB,EAAEqqI,GAAKn1H,EACPlV,EAAEnX,EAAIE,EACNiX,EAAElsB,EAAI,EAAIohC,EACVlV,EAAEyhI,GAAKrjM,EACP4hE,EAAEwrP,GAAKzmP,EACP/E,EAAEw0H,GAAKzrI,EACPiX,EAAE/X,EAAI,EAAIitB,EAAInQ,EACd/E,EAAE6hI,GAAKzjM,EACP4hE,EAAEurP,GAAKxmP,EACR,IAAMnzC,IAAOouC,EAAE5rB,EAAI2U,EAAKiX,EAAE86G,EAAI,EAAI5lG,EAAI,EAAInQ,GACzC/E,EAAEknI,GAAKn6K,EACPizC,EAAE++H,GAAKx4L,EAAA,IAEdnI,EAAI,EACJmI,EAAIujB,EAAEq6B,EACN4gB,EAAIj7C,EAAEvkC,MACNwnC,EAAIjD,EAAE/a,OACFxI,GAAK2lT,IAAM,GAAK3lT,EAAA,GACd,GAAKA,EACNqrB,EAAI9H,EAAE++B,EAAE4iQ,KAENrtT,IADAi2C,EAAI39B,KAAKC,IAAIib,EAAE8uD,KACL3zD,EAAI,GAAKg4C,GAAKnzC,EAAEgC,KAC1Bx1B,GAAKi2C,GAAK0wB,EAAIg3I,GAAGx1M,GACjBnI,GAAK,MAAQwzB,EAAE2sK,OACf,CACH3sK,EAAI9H,EAAE++B,EAAEi2I,GACRzqJ,GAAK0wB,EAAI,GAAK,EACdmQ,GAAKnoD,EAAI,GAAK,EACdizC,EAAItpD,KAAKC,IAAIib,EAAEmpK,IACXhyI,EAAIryC,KAAKC,IAAIib,EAAE6vK,IAAA,IACjB54I,EAAInyC,KAAKC,IAAIib,EAAEiwK,IACfpwJ,EAAI/6B,KAAKC,IAAIib,EAAEmtK,IACfxmI,EAAI9mB,GAAK1kB,EAAI,GAAKg4C,EACpB3mE,GAAK4hE,GAAKjzC,EAAI,GAAKg4C,GAAKnzC,EAAEy4K,GAC1BjsM,GAAK2qD,GAAKmsB,EAAI,GAAK7gC,GAAKziB,EAAE45R,GAE1BptT,GADAA,GAAKyqD,GAAKqsB,EAAI,GAAK7gC,GAAKziB,EAAE25R,IACjBvrP,GAAK+E,EAAMhc,GAAK1U,EAAMwU,GAAKxU,EACpCj2C,GAAK,MAAQwzB,EAAEniB,EACfrR,GAAK,MAAQwzB,EAAEi3B,EACfzqD,GAAK,MAAQwzB,EAAE4iK,GAAA,IACTjuL,IAAOnI,GAAKqzC,GAAKszB,EAAK3mE,GAAKm6D,GAAK3mC,EAAEs1K,GAAM9oM,GAAK,MAAQwzB,EAAEwiB,EAAA,MAE5Dh2C,EAAI,EACTwzB,EAAIxzB,EAAI,EAAI,UAGZ,GAAKwzB,GAAA,MACDD,GAAKA,EAAEw2K,KAAOv2K,EAAIoyJ,GAAGl6J,IADV8H,CAAA,KAIjBwxJ,GAAK,GACP0C,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,UAEFF,GAAK,GACLgF,GAAK,GACLtjI,GAAK,EACLijI,GAAK,CACH,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEJxqH,EAAE,aAAc,iBAChBnuC,EAAKi9R,WAAa,kBACT,YAETj9R,EAAKk9R,WAAa,SAASl9R,GAAA,OAClBA,CAAA,EAETA,EAAKm9R,WAAa,SAASn9R,EAAGxzB,EAAGuzB,GAAA,OACxBvzB,EAAEuzB,EAAI,IAEfC,EAAKo9R,WAAa,SAASp9R,EAAGxzB,EAAGuzB,GAAA,OACxBvzB,EAAEuzB,EAAI,IAEfC,EAAKq9R,WAAa,SAASr9R,EAAGxzB,EAAGuzB,G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AClCgrM,GACFpE,GACA6hI,GACAG,GACAG,GACAJ,GA+3BAsB,GAIArjR,GACAyjR,GACAH,GACAC,GACAC,GACAz4B,GACAjkR,GACA48S,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GAIA5C,GACAU,GACAX,GACA/mP,GAz5BA0oP,GAAKtuS,EAAE,KACPuuS,GAAKvuS,EAAE,MACPwuS,GAAKxuS,EAAE,KACPyuS,GAAKzuS,EAAE,KACPquS,GAAK,EACLqB,GAAKnB,GACL9T,GAAK+T,GACLiB,GAAIhB,GACJkB,GAAIrB,GACJrB,GAAK,EACLJ,GAAK,EACLM,GAAK,EACLL,GAAK,EACLJ,GAAK,EACLK,GAAK,EACLQ,GAAK,EACLrB,GAAK,EACLC,GAAK,EACLC,GAAK,EACLC,GAAK,GACL0B,GAAK,CAAC,EAAG,EAAG,GACZD,GAAK,CAAC,EAAG,EAAG,IACZF,GAAK,CAAC,IAAK,IAAK,IAAK,IAAK,IAC1BI,GAAK,CAAC,EAAG,EAAG,EAAG,EAAG,GAClBH,GAAK,CAAC,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,IACpEb,GAAK,CACH,GACA,EACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,EACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,EACA,IACA,IACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,IACA,GACA,GACA,EACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,IACA,GACA,IACA,IACA,GACA,GACA,GACA,IACA,IACA,GACA,IACA,GACA,IACA,IACA,GACA,KAEFW,GAAK,CACH,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEFlxG,GAAK,EACLf,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,KAEFa,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,KACL9tD,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,IAE1D8sD,GAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,IACxDiB,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,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAChD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEpD,CACE,CAAC,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEpD,CACE,CAAC,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEpD,CACE,CAAC,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEpD,CACE,CAAC,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAC/C,CAAC,IAAK,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAClD,CAAC,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAClD,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEnD,CACE,CAAC,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEnD,CACE,CAAC,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjD,CAAC,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAClD,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEnD,CACE,CAAC,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEpD,CACE,CAAC,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjD,CAAC,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAClD,CAAC,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEpD,CACE,CAAC,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEnD,CACE,CAAC,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEnD,CACE,CAAC,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAC/C,CAAC,IAAK,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjD,CAAC,IAAK,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGrD,CACE,CACE,CAAC,IAAK,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjD,CAAC,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAClD,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEnD,CACE,CAAC,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAChD,CAAC,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAClD,CAAC,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEpD,CACE,CAAC,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAChD,CAAC,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAClD,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEnD,CACE,CAAC,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAChD,CAAC,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAClD,CAAC,IAAK,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEnD,CACE,CAAC,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjD,CAAC,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAClD,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEnD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAClD,CAAC,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAClD,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEnD,CACE,CAAC,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEnD,CACE,CAAC,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAChD,CAAC,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAClD,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEnD,CACE,CAAC,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEpD,CACE,CAAC,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAChD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEnD,CACE,CAAC,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEpD,CACE,CAAC,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjD,CAAC,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAClD,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEnD,CACE,CAAC,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAC/C,CAAC,IAAK,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjD,CAAC,IAAK,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,QAIvDlB,GAAK,CACH,CACE,CAAC,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,KACvC,CAAC,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IACtC,CAAC,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,KACpC,CAAC,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,KACpC,CAAC,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,KACpC,CAAC,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IACnC,CAAC,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IACrC,CAAC,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IACrC,CAAC,GAAI,GAAI,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,KAClC,CAAC,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,KAEpC,CACE,CAAC,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,KACvC,CAAC,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IACtC,CAAC,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,KACpC,CAAC,GAAI,GAAI,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,KAClC,CAAC,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,KACnC,CAAC,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,KACpC,CAAC,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GACpC,CAAC,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IACnC,CAAC,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,KACpC,CAAC,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,KAEtC,CACE,CAAC,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,KACpC,CAAC,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IACpC,CAAC,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,KACnC,CAAC,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IACpC,CAAC,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IACnC,CAAC,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IACpC,CAAC,IAAK,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,IACjC,CAAC,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,KACpC,CAAC,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,KACpC,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,KAEnC,CACE,CAAC,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,KACtC,CAAC,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,KACrC,CAAC,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,KACtC,CAAC,GAAI,GAAI,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,KACnC,CAAC,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,KACpC,CAAC,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,EAAG,KACjC,CAAC,IAAK,GAAI,EAAG,GAAI,IAAK,EAAG,GAAI,GAAI,IACjC,CAAC,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,KACrC,CAAC,GAAI,GAAI,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,KACjC,CAAC,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,KAEtC,CACE,CAAC,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,KACpC,CAAC,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,KACnC,CAAC,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,KACnC,CAAC,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,KACpC,CAAC,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,KACnC,CAAC,GAAI,GAAI,GAAI,IAAK,EAAG,GAAI,GAAI,GAAI,KACjC,CAAC,GAAI,GAAI,GAAI,GAAI,IAAK,EAAG,GAAI,GAAI,IACjC,CAAC,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,KACpC,CAAC,GAAI,EAAG,EAAG,IAAK,GAAI,IAAK,GAAI,EAAG,KAChC,CAAC,GAAI,GAAI,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,KAEnC,CACE,CAAC,IAAK,GAAI,GAAI,IAAK,EAAG,GAAI,GAAI,IAAK,KACnC,CAAC,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAClC,CAAC,GAAI,GAAI,IAAK,IAAK,EAAG,GAAI,GAAI,IAAK,KACnC,CAAC,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,KACpC,CAAC,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,KACnC,CAAC,GAAI,EAAG,GAAI,IAAK,EAAG,GAAI,EAAG,IAAK,IAChC,CAAC,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IACpC,CAAC,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IACnC,CAAC,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,KACnC,CAAC,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,EAAG,GAAI,KAEpC,CACE,CAAC,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IACrC,CAAC,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IACrC,CAAC,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GACpC,CAAC,GAAI,GAAI,EAAG,GAAI,IAAK,GAAI,GAAI,GAAI,IACjC,CAAC,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,EAAG,IACjC,CAAC,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,KACnC,CAAC,IAAK,GAAI,EAAG,GAAI,IAAK,IAAK,IAAK,GAAI,GACpC,CAAC,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IACrC,CAAC,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IACpC,CAAC,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,EAAG,KAErC,CACE,CAAC,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,KACnC,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IACnC,CAAC,GAAI,GAAI,IAAK,GAAI,EAAG,GAAI,GAAI,IAAK,KAClC,CAAC,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAClC,CAAC,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GACrC,CAAC,GAAI,EAAG,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAClC,CAAC,GAAI,GAAI,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAClC,CAAC,GAAI,EAAG,GAAI,EAAG,GAAI,IAAK,GAAI,IAAK,GACjC,CAAC,GAAI,EAAG,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,KACpC,CAAC,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,KAErC,CACE,CAAC,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,KACrC,CAAC,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,KACpC,CAAC,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,KACrC,CAAC,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,KACnC,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,EAAG,EAAG,KAChC,CAAC,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,KACpC,CAAC,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IACnC,CAAC,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,KACpC,CAAC,GAAI,GAAI,EAAG,GAAI,IAAK,IAAK,EAAG,EAAG,KAChC,CAAC,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,MAEtC,CACE,CAAC,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IACpC,CAAC,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IACnC,CAAC,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACxC,CAAC,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,EAAG,IAClC,CAAC,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,KACpC,CAAC,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,KACnC,CAAC,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IACpC,CAAC,IAAK,GAAI,GAAI,GAAI,IAAK,EAAG,GAAI,IAAK,IACnC,CAAC,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,KACpC,CAAC,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,EAAG,MAGvCoB,GAAK,CACH,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,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,QAIzDb,GAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG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ACA,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,I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","sources":["UserContext.js","components/AddOn.js","components/BusFareSubTotal.js","components/BusFareTotal.js","components/CompleteBookingButton.js","components/ConfirmationEmail.js","components/ContentTitle.js","components/Function.js","components/LoadingScreenModal.js","components/LoginSignUpModal.js","components/LoyaltyDiscount.js","components/PassengerDetails.js","components/BusFareSummary.js","components/PrivateHireFareSummary.js","components/ProceedBusFare.js","components/SignInToCollectLoyalty.js","components/pages/Checkout.js","../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../node_modules/@popperjs/core/lib/utils/debounce.js","../node_modules/@popperjs/core/lib/createPopper.js","../node_modules/@popperjs/core/lib/utils/mergeByName.js","../node_modules/@popperjs/core/lib/dom-utils/contains.js","../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../node_modules/@popperjs/core/lib/enums.js","../node_modules/@popperjs/core/lib/modifiers/arrow.js","../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../node_modules/@popperjs/core/lib/modifiers/flip.js","../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../node_modules/@popperjs/core/lib/modifiers/hide.js","../node_modules/@popperjs/core/lib/modifiers/offset.js","../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../node_modules/@popperjs/core/lib/utils/getVariation.js","../node_modules/@popperjs/core/lib/utils/math.js","../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../node_modules/@popperjs/core/lib/utils/userAgent.js","../node_modules/@popperjs/core/lib/utils/within.js","../node_modules/@remix-run/router/history.ts","../node_modules/@remix-run/router/utils.ts","../node_modules/@remix-run/router/router.ts","../node_modules/@restart/hooks/esm/useCommittedRef.js","../node_modules/@restart/hooks/esm/useEventCallback.js","../node_modules/@restart/hooks/esm/useIsomorphicEffect.js","../node_modules/@restart/hooks/esm/useMergedRefs.js","../node_modules/@restart/ui/node_modules/@restart/hooks/esm/useResizeObserver.js","../node_modules/@restart/ui/esm/Anchor.js","../node_modules/@restart/ui/esm/Button.js","../node_modules/@restart/ui/esm/DataKey.js","../node_modules/@restart/ui/esm/DropdownContext.js","../node_modules/dequal/dist/index.mjs","../node_modules/@restart/ui/node_modules/@restart/hooks/esm/useSafeState.js","../node_modules/@restart/ui/esm/popper.js","../node_modules/@restart/ui/esm/usePopper.js","../node_modules/@restart/ui/esm/useClickOutside.js","../node_modules/@restart/ui/esm/mergeOptionsWithPopperConfig.js","../node_modules/@restart/ui/esm/DropdownMenu.js","../packages/@react-aria/ssr/src/SSRProvider.tsx","../node_modules/@restart/ui/esm/DropdownToggle.js","../node_modules/dom-helpers/esm/activeElement.js","../node_modules/@restart/ui/node_modules/@restart/hooks/esm/useWillUnmount.js","../node_modules/@restart/ui/node_modules/@restart/hooks/esm/useUpdatedRef.js","../node_modules/@restart/ui/esm/useWaitForDOMRef.js","../node_modules/@restart/ui/esm/NoopTransition.js","../node_modules/@restart/ui/esm/useRTGTransitionProps.js","../node_modules/@restart/ui/esm/RTGTransition.js","../node_modules/@restart/ui/esm/ImperativeTransition.js","../node_modules/@restart/ui/esm/Modal.js","../node_modules/@restart/ui/esm/ModalManager.js","../node_modules/@restart/ui/esm/getScrollbarWidth.js","../node_modules/@restart/ui/esm/NavContext.js","../node_modules/@restart/ui/esm/SelectableContext.js","../node_modules/@restart/ui/esm/useWindow.js","../node_modules/@restart/ui/esm/utils.js","../node_modules/@restart/ui/node_modules/@restart/hooks/esm/useCallbackRef.js","../node_modules/@restart/ui/node_modules/@restart/hooks/esm/useCommittedRef.js","../node_modules/@restart/ui/node_modules/@restart/hooks/esm/useEventCallback.js","../node_modules/@restart/ui/node_modules/@restart/hooks/esm/useEventListener.js","../node_modules/@restart/ui/node_modules/@restart/hooks/esm/useForceUpdate.js","../node_modules/@restart/ui/node_modules/@restart/hooks/esm/useIsomorphicEffect.js","../node_modules/@restart/ui/node_modules/@restart/hooks/esm/useMergedRefs.js","../node_modules/@restart/ui/node_modules/@restart/hooks/esm/useMounted.js","../node_modules/@restart/ui/node_modules/@restart/hooks/esm/usePrevious.js","../node_modules/bootstrap-daterangepicker/daterangepicker.js","../node_modules/crypto-js/aes.js","../node_modules/crypto-js/blowfish.js","../node_modules/crypto-js/cipher-core.js","../node_modules/crypto-js/core.js","../node_modules/crypto-js/enc-base64.js","../node_modules/crypto-js/enc-base64url.js","../node_modules/crypto-js/enc-utf16.js","../node_modules/crypto-js/evpkdf.js","../node_modules/crypto-js/format-hex.js","../node_modules/crypto-js/hmac.js","../node_modules/crypto-js/index.js","../node_modules/crypto-js/lib-typedarrays.js","../node_modules/crypto-js/md5.js","../node_modules/crypto-js/mode-cfb.js","../node_modules/crypto-js/mode-ctr-gladman.js","../node_modules/crypto-js/mode-ctr.js","../node_modules/crypto-js/mode-ecb.js","../node_modules/crypto-js/mode-ofb.js","../node_modules/crypto-js/pad-ansix923.js","../node_modules/crypto-js/pad-iso10126.js","../node_modules/crypto-js/pad-iso97971.js","../node_modules/crypto-js/pad-nopadding.js","../node_modules/crypto-js/pad-zeropadding.js","../node_modules/crypto-js/pbkdf2.js","../node_modules/crypto-js/rabbit-legacy.js","../node_modules/crypto-js/rabbit.js","../node_modules/crypto-js/rc4.js","../node_modules/crypto-js/ripemd160.js","../node_modules/crypto-js/sha1.js","../node_modules/crypto-js/sha224.js","../node_modules/crypto-js/sha256.js","../node_modules/crypto-js/sha3.js","../node_modules/crypto-js/sha384.js","../node_modules/crypto-js/sha512.js","../node_modules/crypto-js/tripledes.js","../node_modules/crypto-js/x64-core.js","../node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js","../node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js","../node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js","../node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/match/index.js","../node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js","../node_modules/date-fns/esm/locale/en-US/index.js","../node_modules/date-fns/esm/_lib/defaultLocale/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js","../node_modules/date-fns/esm/_lib/defaultOptions/index.js","../node_modules/date-fns/esm/_lib/format/longFormatters/index.js","../node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js","../node_modules/date-fns/esm/_lib/getUTCISOWeek/index.js","../node_modules/date-fns/esm/_lib/startOfUTCISOWeekYear/index.js","../node_modules/date-fns/esm/_lib/getUTCISOWeekYear/index.js","../node_modules/date-fns/esm/_lib/getUTCWeek/index.js","../node_modules/date-fns/esm/_lib/startOfUTCWeekYear/index.js","../node_modules/date-fns/esm/_lib/getUTCWeekYear/index.js","../node_modules/date-fns/esm/_lib/protectedTokens/index.js","../node_modules/date-fns/esm/_lib/requiredArgs/index.js","../node_modules/date-fns/esm/_lib/startOfUTCISOWeek/index.js","../node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js","../node_modules/date-fns/esm/_lib/toInteger/index.js","../node_modules/date-fns/esm/addDays/index.js","../node_modules/date-fns/esm/addHours/index.js","../node_modules/date-fns/esm/addMilliseconds/index.js","../node_modules/date-fns/esm/addMinutes/index.js","../node_modules/date-fns/esm/addMonths/index.js","../node_modules/date-fns/esm/addQuarters/index.js","../node_modules/date-fns/esm/addWeeks/index.js","../node_modules/date-fns/esm/addYears/index.js","../node_modules/date-fns/esm/constants/index.js","../node_modules/date-fns/esm/differenceInCalendarDays/index.js","../node_modules/date-fns/esm/differenceInCalendarMonths/index.js","../node_modules/date-fns/esm/differenceInCalendarYears/index.js","../node_modules/date-fns/esm/endOfDay/index.js","../node_modules/date-fns/esm/endOfMonth/index.js","../node_modules/date-fns/esm/endOfWeek/index.js","../node_modules/date-fns/esm/endOfYear/index.js","../node_modules/date-fns/esm/_lib/addLeadingZeros/index.js","../node_modules/date-fns/esm/_lib/format/lightFormatters/index.js","../node_modules/date-fns/esm/_lib/format/formatters/index.js","../node_modules/date-fns/esm/_lib/getUTCDayOfYear/index.js","../node_modules/date-fns/esm/format/index.js","../node_modules/date-fns/esm/getDate/index.js","../node_modules/date-fns/esm/getDay/index.js","../node_modules/date-fns/esm/getHours/index.js","../node_modules/date-fns/esm/startOfISOWeek/index.js","../node_modules/date-fns/esm/startOfISOWeekYear/index.js","../node_modules/date-fns/esm/getISOWeekYear/index.js","../node_modules/date-fns/esm/getISOWeek/index.js","../node_modules/date-fns/esm/getMinutes/index.js","../node_modules/date-fns/esm/getMonth/index.js","../node_modules/date-fns/esm/getQuarter/index.js","../node_modules/date-fns/esm/getSeconds/index.js","../node_modules/date-fns/esm/getTime/index.js","../node_modules/date-fns/esm/getYear/index.js","../node_modules/date-fns/esm/isAfter/index.js","../node_modules/date-fns/esm/isBefore/index.js","../node_modules/date-fns/esm/isDate/index.js","../node_modules/date-fns/esm/isEqual/index.js","../node_modules/date-fns/esm/isSameDay/index.js","../node_modules/date-fns/esm/isSameMonth/index.js","../node_modules/date-fns/esm/isSameQuarter/index.js","../node_modules/date-fns/esm/isSameYear/index.js","../node_modules/date-fns/esm/isValid/index.js","../node_modules/date-fns/esm/isWithinInterval/index.js","../node_modules/date-fns/esm/max/index.js","../node_modules/date-fns/esm/min/index.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/date-fns/esm/_lib/assign/index.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/date-fns/esm/parse/_lib/Setter.js","../node_modules/date-fns/esm/parse/_lib/Parser.js","../node_modules/date-fns/esm/parse/_lib/parsers/EraParser.js","../node_modules/date-fns/esm/parse/_lib/constants.js","../node_modules/date-fns/esm/parse/_lib/utils.js","../node_modules/date-fns/esm/parse/_lib/parsers/YearParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/LocalWeekYearParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/ISOWeekYearParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/ExtendedYearParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/QuarterParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/StandAloneQuarterParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/MonthParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/StandAloneMonthParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/LocalWeekParser.js","../node_modules/date-fns/esm/_lib/setUTCWeek/index.js","../node_modules/date-fns/esm/parse/_lib/parsers/ISOWeekParser.js","../node_modules/date-fns/esm/_lib/setUTCISOWeek/index.js","../node_modules/date-fns/esm/parse/_lib/parsers/DateParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/DayOfYearParser.js","../node_modules/date-fns/esm/_lib/setUTCDay/index.js","../node_modules/date-fns/esm/parse/_lib/parsers/DayParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/LocalDayParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/StandAloneLocalDayParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/ISODayParser.js","../node_modules/date-fns/esm/_lib/setUTCISODay/index.js","../node_modules/date-fns/esm/parse/_lib/parsers/AMPMParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/AMPMMidnightParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/DayPeriodParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/Hour1to12Parser.js","../node_modules/date-fns/esm/parse/_lib/parsers/Hour0to23Parser.js","../node_modules/date-fns/esm/parse/_lib/parsers/Hour0To11Parser.js","../node_modules/date-fns/esm/parse/_lib/parsers/Hour1To24Parser.js","../node_modules/date-fns/esm/parse/_lib/parsers/MinuteParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/SecondParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/FractionOfSecondParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/ISOTimezoneWithZParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/ISOTimezoneParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/TimestampSecondsParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/TimestampMillisecondsParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/index.js","../node_modules/date-fns/esm/parse/index.js","../node_modules/date-fns/esm/parseISO/index.js","../node_modules/date-fns/esm/set/index.js","../node_modules/date-fns/esm/setHours/index.js","../node_modules/date-fns/esm/setMinutes/index.js","../node_modules/date-fns/esm/setMonth/index.js","../node_modules/date-fns/esm/getDaysInMonth/index.js","../node_modules/date-fns/esm/setQuarter/index.js","../node_modules/date-fns/esm/setSeconds/index.js","../node_modules/date-fns/esm/setYear/index.js","../node_modules/date-fns/esm/startOfDay/index.js","../node_modules/date-fns/esm/startOfMonth/index.js","../node_modules/date-fns/esm/startOfQuarter/index.js","../node_modules/date-fns/esm/startOfWeek/index.js","../node_modules/date-fns/esm/startOfYear/index.js","../node_modules/date-fns/esm/subDays/index.js","../node_modules/date-fns/esm/subMilliseconds/index.js","../node_modules/date-fns/esm/subMonths/index.js","../node_modules/date-fns/esm/subQuarters/index.js","../node_modules/date-fns/esm/subWeeks/index.js","../node_modules/date-fns/esm/subYears/index.js","../node_modules/date-fns/esm/toDate/index.js","../node_modules/dom-helpers/esm/addEventListener.js","../node_modules/dom-helpers/esm/canUseDOM.js","../node_modules/dom-helpers/esm/contains.js","../node_modules/dom-helpers/esm/getComputedStyle.js","../node_modules/dom-helpers/esm/ownerWindow.js","../node_modules/dom-helpers/esm/hyphenate.js","../node_modules/dom-helpers/esm/hyphenateStyle.js","../node_modules/dom-helpers/esm/isTransform.js","../node_modules/dom-helpers/esm/css.js","../node_modules/dom-helpers/esm/listen.js","../node_modules/dom-helpers/esm/ownerDocument.js","../node_modules/dom-helpers/esm/querySelectorAll.js","../node_modules/dom-helpers/esm/removeEventListener.js","../node_modules/dom-helpers/esm/transitionEnd.js","../node_modules/dom-helpers/esm/triggerEvent.js","../node_modules/html2canvas/node_modules/tslib/tslib.es6.js","../node_modules/html2canvas/node_modules/src/Util.ts","../node_modules/src/css/layout/bounds.ts","../node_modules/html2canvas/node_modules/css-line-break/node_modules/src/Util.ts","../node_modules/html2canvas/node_modules/css-line-break/node_modules/utrie/node_modules/src/index.ts","../node_modules/html2canvas/node_modules/css-line-break/node_modules/src/Trie.ts","../node_modules/html2canvas/node_modules/src/linebreak-trie.ts","../node_modules/html2canvas/node_modules/src/LineBreak.ts","../node_modules/src/css/syntax/tokenizer.ts","../node_modules/src/css/syntax/parser.ts","../node_modules/src/css/types/length.ts","../node_modules/src/css/types/length-percentage.ts","../node_modules/src/css/types/angle.ts","../node_modules/src/css/types/color.ts","../node_modules/src/css/property-descriptors/background-clip.ts","../node_modules/src/css/property-descriptors/background-color.ts","../node_modules/src/css/types/functions/gradient.ts","../node_modules/src/css/types/functions/-prefix-linear-gradient.ts","../node_modules/src/css/types/functions/radial-gradient.ts","../node_modules/src/css/types/functions/-prefix-radial-gradient.ts","../node_modules/src/css/types/image.ts","../node_modules/src/css/property-descriptors/background-size.ts","../node_modules/src/css/types/functions/linear-gradient.ts","../node_modules/src/css/types/functions/-webkit-gradient.ts","../node_modules/src/css/property-descriptors/background-image.ts","../node_modules/src/css/property-descriptors/background-origin.ts","../node_modules/src/css/property-descriptors/background-position.ts","../node_modules/src/css/property-descriptors/background-repeat.ts","../node_modules/src/css/property-descriptors/line-break.ts","../node_modules/src/css/property-descriptors/border-color.ts","../node_modules/src/css/property-descriptors/border-radius.ts","../node_modules/src/css/property-descriptors/border-style.ts","../node_modules/src/css/property-descriptors/border-width.ts","../node_modules/src/css/property-descriptors/color.ts","../node_modules/src/css/property-descriptors/direction.ts","../node_modules/src/css/property-descriptors/display.ts","../node_modules/src/css/property-descriptors/float.ts","../node_modules/src/css/property-descriptors/letter-spacing.ts","../node_modules/src/css/property-descriptors/word-break.ts","../node_modules/src/css/property-descriptors/line-height.ts","../node_modules/src/css/property-descriptors/list-style-image.ts","../node_modules/src/css/property-descriptors/list-style-position.ts","../node_modules/src/css/property-descriptors/list-style-type.ts","../node_modules/src/css/property-descriptors/margin.ts","../node_modules/src/css/property-descriptors/overflow.ts","../node_modules/src/css/property-descriptors/overflow-wrap.ts","../node_modules/src/css/property-descriptors/padding.ts","../node_modules/src/css/property-descriptors/text-align.ts","../node_modules/src/css/property-descriptors/position.ts","../node_modules/src/css/property-descriptors/text-shadow.ts","../node_modules/src/css/property-descriptors/text-transform.ts","../node_modules/src/css/property-descriptors/transform.ts","../node_modules/src/css/property-descriptors/transform-origin.ts","../node_modules/src/css/property-descriptors/visibility.ts","../node_modules/html2canvas/node_modules/text-segmentation/node_modules/src/Util.ts","../node_modules/src/css/property-descriptors/z-index.ts","../node_modules/src/css/types/time.ts","../node_modules/src/css/property-descriptors/opacity.ts","../node_modules/src/css/property-descriptors/text-decoration-color.ts","../node_modules/src/css/property-descriptors/text-decoration-line.ts","../node_modules/src/css/property-descriptors/font-family.ts","../node_modules/src/css/property-descriptors/font-size.ts","../node_modules/src/css/property-descriptors/font-weight.ts","../node_modules/src/css/property-descriptors/font-variant.ts","../node_modules/src/css/property-descriptors/font-style.ts","../node_modules/src/core/bitwise.ts","../node_modules/src/css/property-descriptors/content.ts","../node_modules/src/css/property-descriptors/counter-increment.ts","../node_modules/src/css/property-descriptors/counter-reset.ts","../node_modules/src/css/property-descriptors/duration.ts","../node_modules/src/css/property-descriptors/quotes.ts","../node_modules/src/css/property-descriptors/box-shadow.ts","../node_modules/src/css/property-descriptors/paint-order.ts","../node_modules/src/css/property-descriptors/webkit-text-stroke-color.ts","../node_modules/src/css/property-descriptors/webkit-text-stroke-width.ts","../node_modules/src/css/index.ts","../node_modules/src/core/debugger.ts","../node_modules/src/dom/element-container.ts","../node_modules/html2canvas/node_modules/src/grapheme-break-trie.ts","../node_modules/html2canvas/node_modules/text-segmentation/node_modules/utrie/node_modules/src/index.ts","../node_modules/html2canvas/node_modules/text-segmentation/node_modules/src/Trie.ts","../node_modules/html2canvas/node_modules/src/GraphemeBreak.ts","../node_modules/src/dom/document-cloner.ts","../node_modules/src/core/features.ts","../node_modules/src/css/layout/text.ts","../node_modules/src/dom/text-container.ts","../node_modules/src/dom/replaced-elements/image-element-container.ts","../node_modules/src/dom/replaced-elements/canvas-element-container.ts","../node_modules/src/dom/replaced-elements/svg-element-container.ts","../node_modules/src/dom/elements/li-element-container.ts","../node_modules/src/dom/elements/ol-element-container.ts","../node_modules/src/dom/replaced-elements/input-element-container.ts","../node_modules/src/dom/elements/select-element-container.ts","../node_modules/src/dom/elements/textarea-element-container.ts","../node_modules/src/dom/replaced-elements/iframe-element-container.ts","../node_modules/src/dom/node-parser.ts","../node_modules/src/css/types/functions/counter.ts","../node_modules/src/render/bound-curves.ts","../node_modules/src/core/cache-storage.ts","../node_modules/src/render/vector.ts","../node_modules/src/render/bezier-curve.ts","../node_modules/src/render/effects.ts","../node_modules/src/render/path.ts","../node_modules/src/render/stacking-context.ts","../node_modules/src/render/border.ts","../node_modules/src/render/box-sizing.ts","../node_modules/src/render/background.ts","../node_modules/src/core/util.ts","../node_modules/src/render/font-metrics.ts","../node_modules/src/render/renderer.ts","../node_modules/src/render/canvas/canvas-renderer.ts","../node_modules/src/render/canvas/foreignobject-renderer.ts","../node_modules/src/core/logger.ts","../node_modules/src/core/context.ts","../node_modules/src/index.ts","../node_modules/invariant/browser.js","../node_modules/jquery/dist/jquery.js","../node_modules/lodash.max/index.js","../node_modules/lodash.memoize/index.js","../node_modules/lodash.min/index.js","../node_modules/moment/moment.js","../node_modules/object-assign/index.js","../node_modules/performance-now/src/performance-now.coffee","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/raf/index.js","../node_modules/react-bootstrap/esm/CloseButton.js","../node_modules/react-bootstrap/esm/AbstractModalHeader.js","../node_modules/dom-helpers/esm/removeClass.js","../node_modules/react-bootstrap/esm/BootstrapModalManager.js","../node_modules/dom-helpers/esm/addClass.js","../node_modules/dom-helpers/esm/hasClass.js","../node_modules/react-bootstrap/esm/Col.js","../node_modules/react-bootstrap/esm/Container.js","../node_modules/@restart/ui/node_modules/uncontrollable/lib/esm/index.js","../node_modules/@restart/ui/esm/DropdownItem.js","../node_modules/@restart/ui/esm/Dropdown.js","../node_modules/react-bootstrap/esm/DropdownDivider.js","../node_modules/react-bootstrap/esm/DropdownHeader.js","../node_modules/react-bootstrap/esm/DropdownItem.js","../node_modules/react-bootstrap/esm/DropdownItemText.js","../node_modules/react-bootstrap/esm/Dropdown.js","../node_modules/react-bootstrap/esm/DropdownContext.js","../node_modules/react-bootstrap/esm/DropdownMenu.js","../node_modules/react-bootstrap/esm/Button.js","../node_modules/react-bootstrap/esm/DropdownToggle.js","../node_modules/react-bootstrap/esm/Fade.js","../node_modules/react-bootstrap/esm/Feedback.js","../node_modules/react-bootstrap/esm/FormContext.js","../node_modules/react-bootstrap/esm/FormCheckInput.js","../node_modules/react-bootstrap/esm/FormCheckLabel.js","../node_modules/react-bootstrap/esm/FormCheck.js","../node_modules/react-bootstrap/esm/ElementChildren.js","../node_modules/react-bootstrap/esm/FormControl.js","../node_modules/react-bootstrap/esm/FormFloating.js","../node_modules/react-bootstrap/esm/FormGroup.js","../node_modules/react-bootstrap/esm/FormLabel.js","../node_modules/react-bootstrap/esm/FormRange.js","../node_modules/react-bootstrap/esm/FormSelect.js","../node_modules/react-bootstrap/esm/FormText.js","../node_modules/react-bootstrap/esm/Switch.js","../node_modules/react-bootstrap/esm/FloatingLabel.js","../node_modules/react-bootstrap/esm/Form.js","../node_modules/react-bootstrap/esm/InputGroupContext.js","../node_modules/dom-helpers/esm/scrollbarSize.js","../node_modules/@restart/hooks/esm/useWillUnmount.js","../node_modules/@restart/hooks/esm/useUpdatedRef.js","../node_modules/react-bootstrap/esm/ModalBody.js","../node_modules/react-bootstrap/esm/ModalDialog.js","../node_modules/react-bootstrap/esm/ModalFooter.js","../node_modules/react-bootstrap/esm/ModalHeader.js","../node_modules/react-bootstrap/esm/ModalTitle.js","../node_modules/react-bootstrap/esm/Modal.js","../node_modules/@restart/hooks/esm/useCallbackRef.js","../node_modules/react-bootstrap/esm/ModalContext.js","../node_modules/react-bootstrap/esm/NavbarContext.js","../node_modules/react-bootstrap/esm/Row.js","../node_modules/react-bootstrap/esm/ThemeProvider.js","../node_modules/react-bootstrap/esm/TransitionWrapper.js","../node_modules/react-bootstrap/esm/safeFindDOMNode.js","../node_modules/react-bootstrap/esm/divWithClassName.js","../node_modules/react-bootstrap/esm/transitionEndListener.js","../node_modules/react-bootstrap/esm/triggerBrowserReflow.js","../node_modules/react-bootstrap/esm/useWrappedRefWithWarning.js","../node_modules/react-datepicker/dist/react-datepicker.min.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/client.js","../node_modules/react-dom/index.js","../node_modules/react-fast-compare/index.js","../node_modules/react-items-carousel/dist/react-items-carousel.js","../node_modules/react-items-carousel/node_modules/performance-now/lib/performance-now.js","../node_modules/react-items-carousel/node_modules/react-motion/lib/Motion.js","../node_modules/react-items-carousel/node_modules/react-motion/lib/StaggeredMotion.js","../node_modules/react-items-carousel/node_modules/react-motion/lib/TransitionMotion.js","../node_modules/react-items-carousel/node_modules/react-motion/lib/mapToZero.js","../node_modules/react-items-carousel/node_modules/react-motion/lib/mergeDiff.js","../node_modules/react-items-carousel/node_modules/react-motion/lib/presets.js","../node_modules/react-items-carousel/node_modules/react-motion/lib/react-motion.js","../node_modules/react-items-carousel/node_modules/react-motion/lib/reorderKeys.js","../node_modules/react-items-carousel/node_modules/react-motion/lib/shouldStopAnimation.js","../node_modules/react-items-carousel/node_modules/react-motion/lib/spring.js","../node_modules/react-items-carousel/node_modules/react-motion/lib/stepper.js","../node_modules/react-items-carousel/node_modules/react-motion/lib/stripStyle.js","../node_modules/react-items-carousel/node_modules/react/cjs/react.production.min.js","../node_modules/react-items-carousel/node_modules/react/index.js","../node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","../node_modules/react-measure/dist/index.esm.js","../node_modules/react-onclickoutside/dist/react-onclickoutside.es.js","../node_modules/react-popper/lib/esm/Manager.js","../node_modules/react-popper/lib/esm/utils.js","../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../node_modules/@popperjs/core/lib/popper.js","../node_modules/react-popper/lib/esm/usePopper.js","../node_modules/react-popper/lib/esm/Popper.js","../node_modules/react-popper/lib/esm/Reference.js","../node_modules/react-router-dom/dom.ts","../node_modules/react-router-dom/index.tsx","../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-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/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/@emotion/unitless/dist/unitless.browser.esm.js","../node_modules/memoize-one/dist/memoize-one.esm.js","../node_modules/@emotion/is-prop-valid/dist/is-prop-valid.browser.esm.js","../node_modules/@emotion/memoize/dist/memoize.browser.esm.js","../node_modules/is-what/dist/index.esm.js","../node_modules/merge-anything/dist/index.esm.js","../node_modules/styled-components/src/models/StyleTags.js","../node_modules/styled-components/src/models/ThemeProvider.js","../node_modules/styled-components/src/models/GlobalStyle.js","../node_modules/styled-components/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/styled-components/node_modules/react-is/index.js","../node_modules/stylis-rule-sheet/index.js","../node_modules/stylis/stylis.js","../node_modules/uncontrollable/lib/esm/utils.js","../node_modules/uncontrollable/lib/esm/hook.js","../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","../node_modules/warning/warning.js","../node_modules/classnames/index.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/create fake namespace object","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/node module decorator","../webpack/runtime/publicPath","../webpack/runtime/jsonp chunk loading","../webpack/runtime/nonce","../node_modules/@restart/ui/esm/TabContext.js","../node_modules/@restart/ui/esm/NavItem.js","../node_modules/@restart/ui/esm/Nav.js","../node_modules/react-bootstrap/esm/CardHeaderContext.js","../node_modules/react-bootstrap/esm/NavItem.js","../node_modules/react-bootstrap/esm/NavLink.js","../node_modules/react-bootstrap/esm/Nav.js","../node_modules/react-bootstrap/esm/NavbarBrand.js","../node_modules/react-bootstrap/esm/createChainedFunction.js","../node_modules/react-bootstrap/esm/Collapse.js","../node_modules/react-bootstrap/esm/NavbarCollapse.js","../node_modules/react-bootstrap/esm/NavbarToggle.js","../node_modules/@restart/hooks/esm/useMediaQuery.js","../node_modules/@restart/hooks/esm/useBreakpoint.js","../node_modules/react-bootstrap/esm/OffcanvasBody.js","../node_modules/react-bootstrap/esm/OffcanvasToggling.js","../node_modules/react-bootstrap/esm/OffcanvasHeader.js","../node_modules/react-bootstrap/esm/OffcanvasTitle.js","../node_modules/react-bootstrap/esm/Offcanvas.js","../node_modules/react-bootstrap/esm/NavbarOffcanvas.js","../node_modules/react-bootstrap/esm/NavbarText.js","../node_modules/react-bootstrap/esm/Navbar.js","components/Navbar.js","components/Footer.js","components/MainLayout.js","../node_modules/react-bootstrap/esm/types.js","../node_modules/react-bootstrap/esm/DropdownButton.js","components/CardItem.js","components/Cards.js","components/Spacer.js","components/HeaderSection.js","../node_modules/merge-class-names/dist/esm/index.js","../node_modules/get-user-locale/dist/esm/index.js","../node_modules/@wojtekmaj/date-utils/dist/esm/index.js","../node_modules/react-calendar/dist/esm/shared/const.js","../node_modules/react-calendar/dist/esm/shared/dateFormatter.js","../node_modules/react-calendar/dist/esm/shared/dates.js","../node_modules/react-calendar/dist/esm/shared/propTypes.js","../node_modules/react-calendar/dist/esm/Calendar/Navigation.js","../node_modules/react-calendar/dist/esm/Flex.js","../node_modules/react-calendar/dist/esm/shared/utils.js","../node_modules/react-calendar/dist/esm/TileGroup.js","../node_modules/react-calendar/dist/esm/Tile.js","../node_modules/react-calendar/dist/esm/CenturyView/Decade.js","../node_modules/react-calendar/dist/esm/CenturyView/Decades.js","../node_modules/react-calendar/dist/esm/CenturyView.js","../node_modules/react-calendar/dist/esm/DecadeView/Year.js","../node_modules/react-calendar/dist/esm/DecadeView/Years.js","../node_modules/react-calendar/dist/esm/DecadeView.js","../node_modules/react-calendar/dist/esm/YearView/Month.js","../node_modules/react-calendar/dist/esm/YearView/Months.js","../node_modules/react-calendar/dist/esm/YearView.js","../node_modules/react-calendar/dist/esm/MonthView/Day.js","../node_modules/react-calendar/dist/esm/MonthView/Days.js","../node_modules/react-calendar/dist/esm/MonthView/Weekdays.js","../node_modules/react-calendar/dist/esm/MonthView/WeekNumber.js","../node_modules/react-calendar/dist/esm/MonthView/WeekNumbers.js","../node_modules/react-calendar/dist/esm/MonthView.js","../node_modules/react-calendar/dist/esm/Calendar.js","../node_modules/react-calendar/dist/esm/index.js","components/LinkButton.js","components/Booking.js","components/DestinationTravelItem.js","components/NewsLetter.js","components/ExperienceItem.js","components/Experience.js","components/pages/Home.js","components/pages/BusSchedule.js","components/CompletedBooking.js","components/UpcomingBooking.js","components/pages/ManageBooking.js","components/pages/loyalty.js","components/pages/About.js","components/BookingAddOn.js","../node_modules/react-bootstrap/esm/CardBody.js","../node_modules/react-bootstrap/esm/CardFooter.js","../node_modules/react-bootstrap/esm/CardHeader.js","../node_modules/react-bootstrap/esm/CardImg.js","../node_modules/react-bootstrap/esm/CardImgOverlay.js","../node_modules/react-bootstrap/esm/CardLink.js","../node_modules/react-bootstrap/esm/CardSubtitle.js","../node_modules/react-bootstrap/esm/CardText.js","../node_modules/react-bootstrap/esm/CardTitle.js","../node_modules/react-bootstrap/esm/Card.js","../node_modules/uuid/dist/esm-browser/rng.js","../node_modules/uuid/dist/esm-browser/regex.js","../node_modules/uuid/dist/esm-browser/validate.js","../node_modules/uuid/dist/esm-browser/stringify.js","../node_modules/uuid/dist/esm-browser/v4.js","components/AddOnCardModal.js","components/CloseButton.js","components/HealthCare.js","components/BookingAddOnCardGroup.js","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/utils.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/platform/browser/index.js","../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/classes/Blob.js","../node_modules/axios/lib/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/@babel/runtime/helpers/esm/OverloadYield.js","../node_modules/@babel/runtime/helpers/esm/wrapAsyncGenerator.js","../node_modules/@babel/runtime/helpers/esm/awaitAsyncGenerator.js","../node_modules/@babel/runtime/helpers/esm/asyncGeneratorDelegate.js","../node_modules/@babel/runtime/helpers/esm/asyncIterator.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","components/BookingAddOnDeals.js","components/BookingDetails.js","components/BookingHeader.js","components/pages/PaymentAck.js","components/MoreDetailsPopOutModal.js","components/SelectedOneWayTripModal.js","components/SelectedTripSummaryModal.js","components/SelectDepartureAndReturn.js","../node_modules/react-bootstrap-daterangepicker/src/index.tsx","components/SelectDepartureHeader.js","components/pages/PickDepart.js","components/Seat.js","components/Proceed_Departure.js","components/Proceed_Return.js","components/SelectSeatButton.js","components/SelectSeatErrorMsg.js","components/pages/SelectSeat.js","components/SelectedDeparture.js","components/pages/PickReturn.js","components/BookingSuccessful.js","components/pages/BookingStatus.js","components/LoyaltyPagination.js","components/AccountDetails.js","components/pages/MyAccount.js","components/ScrollToTop.js","components/pages/BookingHistory.js","components/pages/ResetPassword.js","../node_modules/fflate/esm/browser.js","../node_modules/jspdf/src/libs/globalObject.js","../node_modules/jspdf/src/libs/console.js","../node_modules/jspdf/src/libs/FileSaver.js","../node_modules/jspdf/src/libs/AtobBtoa.js","../node_modules/jspdf/src/libs/rgbcolor.js","../node_modules/jspdf/src/libs/md5.js","../node_modules/jspdf/src/libs/rc4.js","../node_modules/jspdf/src/libs/pdfsecurity.js","../node_modules/jspdf/src/libs/pdfname.js","../node_modules/jspdf/src/jspdf.js","../node_modules/jspdf/src/modules/acroform.js","../node_modules/jspdf/src/libs/fontFace.js","../node_modules/jspdf/src/modules/addimage.js","../node_modules/jspdf/src/modules/annotations.js","../node_modules/jspdf/src/modules/arabic.js","../node_modules/jspdf/src/modules/autoprint.js","../node_modules/jspdf/src/modules/canvas.js","../node_modules/jspdf/src/modules/cell.js","../node_modules/jspdf/src/modules/javascript.js","../node_modules/jspdf/src/modules/fileloading.js","../node_modules/jspdf/src/modules/context2d.js","../node_modules/jspdf/src/modules/filters.js","../node_modules/jspdf/src/modules/html.js","../node_modules/jspdf/src/modules/outline.js","../node_modules/jspdf/src/modules/jpeg_support.js","../node_modules/jspdf/src/libs/png.js","../node_modules/jspdf/src/modules/split_text_to_size.js","../node_modules/jspdf/src/libs/omggif.js","../node_modules/jspdf/src/libs/JPEGEncoder.js","../node_modules/jspdf/src/libs/BMPDecoder.js","../node_modules/jspdf/src/libs/WebPDecoder.js","../node_modules/jspdf/src/modules/png_support.js","../node_modules/jspdf/src/modules/gif_support.js","../node_modules/jspdf/src/modules/bmp_support.js","../node_modules/jspdf/src/modules/webp_support.js","../node_modules/jspdf/src/modules/rgba_support.js","../node_modules/jspdf/src/modules/setlanguage.js","../node_modules/jspdf/src/modules/standard_fonts_metrics.js","../node_modules/jspdf/src/modules/ttfsupport.js","../node_modules/jspdf/src/modules/svg.js","../node_modules/jspdf/src/modules/total_pages.js","../node_modules/jspdf/src/modules/viewerpreferences.js","../node_modules/jspdf/src/modules/xmp_metadata.js","../node_modules/jspdf/src/modules/utf8.js","../node_modules/jspdf/src/modules/vfs.js","../node_modules/jspdf/src/libs/bidiEngine.js","../node_modules/jspdf/src/libs/ttffont.js","components/pages/OrderSummary.js","App.js","index.js"],"sourcesContent":["import { createContext } from 'react';\n\nexport const UserContext = createContext(null);\n\nexport const OriginContext = createContext('Johor Bahru');\n\nexport const SelectSeatDepartContext = createContext([]);\n\nexport const SelectSeatReturnContext = createContext([]);\n\nexport const TotalBusFareContext = createContext(0);\n\nexport const BusFareDepartContext = createContext(0);\n\nexport const BusFareReturnContext = createContext(0);\n\nexport const BusFareAddOnContext = createContext([]);\n\nexport const LoyaltyDiscountContext = createContext(0);\n\nexport const LoyaltyIDContext = createContext(0);\n\nexport const ChildAmountContext = createContext(0);\n\nexport const DepartDataContext = createContext({});\n\nexport const ReturnDataContext = createContext({});\n\nexport const VoucherDiscountContext = createContext(0);\n\nexport const VoucherCodeContext = createContext(null);\nexport const VoucherCodeAirlineContext = createContext(null);\n\nexport const InsuranceAddonContext = createContext({\n plan: 'no_insurance',\n fee: 0,\n});\n\nexport const ValueMealAddonContext = createContext({ meal: '', fee: 0 });\n\nexport const HealthCareAddOnContext = createContext({\n item: '',\n fee: 0,\n isReturn: false,\n});\n","import React, { useContext, useEffect, useState } from 'react';\nimport Col from 'react-bootstrap/esm/Col';\nimport Row from 'react-bootstrap/esm/Row';\nimport {\n BusFareAddOnContext,\n HealthCareAddOnContext,\n InsuranceAddonContext,\n} from '../UserContext';\nimport {\n checkIsReschedule,\n deleteSelectedAddOnData,\n getAddOnTicketType,\n getSelectedAddOnData,\n getToken,\n setSelectedAddOnData,\n tokenIsValid,\n} from './Function';\nimport { useSearchParams } from 'react-router-dom';\n\nexport const AddOn = ({ page }) => {\n const SERVER_URL = 'https://expressapi.transitos.io/api/v1';\n const checkReschedule = checkIsReschedule();\n let origin_data = sessionStorage.getItem('Origin_data');\n if (origin_data != null) {\n origin_data = JSON.parse(origin_data);\n }\n // console.log(origin_data)\n let { BusFareAddOn, setBusFareAddOn } = useContext(BusFareAddOnContext);\n const [addOnData, setAddOnData] = useState(null);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(null);\n const [searchParams, setSearchParams] = useSearchParams();\n\n const { insuranceAddOn, setInsuranceAddOn } = useContext(\n InsuranceAddonContext\n );\n\n const { healthCareAddOn, setHealthCareAddOn } = useContext(\n HealthCareAddOnContext\n );\n const noOfPax = Number(searchParams.get('passenger') || 1);\n\n const sessionInsurance = sessionStorage.getItem('insuranceAddOn');\n const sessionHealthCare = sessionStorage.getItem('healthCareAddOn');\n\n const insuranceAddOnData = insuranceAddOn?.fee\n ? insuranceAddOn\n : sessionInsurance\n ? JSON.parse(sessionInsurance)\n : { plan: 'No Insurance', fee: 0 };\n\n const healthCareAddOnData = healthCareAddOn?.fee\n ? healthCareAddOn\n : sessionHealthCare\n ? JSON.parse(sessionHealthCare)\n : { item: '', fee: 0, isReturn: false };\n\n sessionStorage.setItem('insuranceAddOn', JSON.stringify(insuranceAddOnData));\n sessionStorage.setItem(\n 'healthCareAddOn',\n JSON.stringify(healthCareAddOnData)\n );\n\n let addonSession = localStorage.getItem('addOnSession');\n // console.log(getToken())\n useEffect(() => {\n // console.log(addonSession)\n if (addonSession != null) {\n addonSession = JSON.parse(addonSession);\n }\n const getAddOnData = async () => {\n try {\n const addOn_response = await fetch(\n `${SERVER_URL}/order/addon/${addonSession}`,\n {\n headers: {\n Authorization: getToken(),\n },\n }\n );\n if (!addOn_response.ok) {\n throw new Error(\n `This is an HTTP error: The status is ${addOn_response.status}`\n );\n } else {\n let addOn_Data = await addOn_response.json();\n setAddOnData(addOn_Data);\n if (\n addOn_Data != 'null' &&\n addOn_Data != null &&\n addOn_Data.length != 0\n ) {\n setSelectedAddOnData(addOn_Data);\n }\n setError(null);\n // console.log(addOn_Data)\n localStorage.removeItem('addOnSession');\n window.location.reload();\n }\n } catch (err) {\n setError(err.message);\n setAddOnData(null);\n // console.log(\"Error\")\n // console.log(err.message)\n } finally {\n setLoading(false);\n }\n };\n tokenIsValid();\n if (addonSession != null) {\n getAddOnData();\n }\n }, [getToken()]);\n useEffect(() => {\n if (loading === false) {\n localStorage.removeItem('addOnSession');\n }\n }, [addonSession]);\n // console.log(addOnData)\n // console.log(getSelectedAddOnData())\n // console.log((localStorage.getItem(\"selected_addon_data\")))\n const selectedAddOnData = getSelectedAddOnData();\n // console.log(selectedAddOnData);\n // console.log('add on: '+BusFareAddOn);\n\n function removeAddOn(index, sessionID, labelID) {\n tokenIsValid();\n var addOn_Data = getSelectedAddOnData();\n // console.log(addOn_Data)\n // console.log('delete: '+index)\n deleteSelectedAddOnData(index);\n localStorage.removeItem('addOnSession');\n //call api to chg status\n const update_addOn_api_url = `${SERVER_URL}/order/update/addon/status`;\n\n const update_addOn_requestOptions = {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: getToken(),\n },\n body: JSON.stringify({\n SessionID: sessionID,\n LabelID: labelID,\n Status: 'N',\n }),\n };\n // console.log(update_addOn_requestOptions)\n const updateStatus = async () => {\n try {\n const update_addOn_response = await fetch(\n update_addOn_api_url,\n update_addOn_requestOptions\n );\n if (!update_addOn_response.ok) {\n throw new Error(\n `This is an HTTP error: The status is ${update_addOn_response.status}`\n );\n } else {\n setError(null);\n // console.log(update_addOn_response);\n localStorage.removeItem('addOnSession');\n alert('Item Removed');\n window.location.reload();\n }\n } catch (err) {\n // console.log(err.message);\n alert(err.message);\n setError(err.message);\n }\n };\n updateStatus();\n }\n\n if (\n (selectedAddOnData !== null && selectedAddOnData.length !== 0) ||\n insuranceAddOnData.plan !== 'No Insurance' ||\n healthCareAddOnData.fee > 0\n ) {\n return (\n <>\n
\n \n \n
\n
\n

Add On

\n
\n
\n
\n \n
\n {selectedAddOnData !== null &&\n selectedAddOnData.length !== 0 &&\n selectedAddOnData.map(\n (\n {\n id,\n name,\n totalqty,\n traveldate,\n totalamt,\n details,\n sessionid,\n },\n index\n ) => (\n
\n \n \n \n \n \n \n \n {details.map(({ id, name, qty, subtotal }, index) => (\n \n \n \n \n \n ))}\n
\n

{name}

\n
\n removeAddOn(index, sessionid, id)}\n src='./images/ic_delete_addon.png'\n />\n
\n
{getAddOnTicketType(name)}
\n
\n
x {qty}
\n
\n
RM {subtotal != '' ? subtotal : 0}
\n
\n
\n
\n )\n )}\n\n
\n {insuranceAddOnData.plan !== 'No Insurance' ? (\n
\n \n Travel Protection\n \n \n \n \n \n \n
\n
{insuranceAddOnData.plan}
\n
\n
\n {insuranceAddOn.fee === 0\n ? 'Free'\n : insuranceAddOnData.fee.toFixed(2)}\n {noOfPax > 1 ? ` (${noOfPax} Passengers)` : ''}\n
\n
\n
\n ) : (\n ''\n )}\n\n {healthCareAddOnData.fee && healthCareAddOnData.fee > 0 ? (\n
\n \n \n Health Care\n \n {healthCareAddOnData.canDelete !== false ? (\n {\n setHealthCareAddOn({\n item: '',\n fee: 0,\n isReturn: false,\n });\n\n sessionStorage.setItem(\n 'healthCareAddOn',\n JSON.stringify({})\n );\n }}\n >\n \n
\n ) : (\n ''\n )}\n
\n \n \n \n \n \n
\n
{healthCareAddOnData.item}
\n
\n
\n {healthCareAddOnData.fee === 0\n ? 'Free'\n : `${(healthCareAddOnData.isReturn\n ? healthCareAddOnData.fee / 2\n : healthCareAddOnData.fee\n ).toFixed(2)} ${\n healthCareAddOnData.isReturn ? ' x2' : ''\n } ${noOfPax > 1 ? ` (${noOfPax} Passengers)` : ''}`}\n
\n
\n
\n ) : (\n ''\n )}\n \n \n \n );\n } else if (\n (checkReschedule == true &&\n origin_data.AddOnData != null &&\n origin_data.AddOnData.length != 0) ||\n insuranceAddOnData.plan !== 'No Insurance' ||\n healthCareAddOnData.fee > 0\n ) {\n return (\n <>\n
\n \n \n
\n
\n

Add On

\n
\n
\n
\n \n
\n {checkReschedule == true &&\n origin_data.AddOnData != null &&\n origin_data.AddOnData.length != 0 &&\n origin_data.AddOnData.map(({}, index) => (\n
\n \n \n {origin_data.AddOnData[index].map(\n (\n {\n details,\n imageurl,\n id,\n name,\n sessionid,\n totalamt,\n totalqty,\n traveldate,\n },\n index\n ) => (\n <>\n \n \n \n \n \n {details.map(({ id, name, qty, subtotal }, index) => (\n \n \n \n \n \n ))}\n \n )\n )}\n
\n

{name}

\n
\n
{getAddOnTicketType(name)}
\n
\n
x {qty}
\n
\n
RM {subtotal != '' ? subtotal : 0}
\n
\n
\n
\n ))}\n\n
\n {insuranceAddOnData.plan !== 'No Insurance' ? (\n
\n \n Travel Protection\n \n \n \n \n \n \n
\n
{insuranceAddOnData.plan}
\n
\n
\n {insuranceAddOnData.fee.toFixed(2)}\n {noOfPax > 1 ? ` (${noOfPax} Passengers)` : ''}\n
\n
\n
\n ) : (\n ''\n )}\n\n {healthCareAddOnData.fee !== undefined &&\n healthCareAddOnData.fee > 0 ? (\n
\n \n \n Health Care\n \n {healthCareAddOnData.canDelete ? (\n {\n setHealthCareAddOn({\n item: '',\n fee: 0,\n isReturn: false,\n });\n\n sessionStorage.setItem(\n 'healthCareAddOn',\n JSON.stringify({})\n );\n }}\n >\n \n
\n ) : (\n ''\n )}\n
\n \n \n \n \n \n
\n
{healthCareAddOnData.item}
\n
\n
\n {`${(healthCareAddOnData.isReturn\n ? healthCareAddOnData.fee / 2\n : healthCareAddOnData.fee\n ).toFixed(2)} ${\n healthCareAddOnData.isReturn ? ' x2' : ''\n } ${noOfPax > 1 ? ` (${noOfPax} Passengers)` : ''}`}\n
\n
\n
\n ) : (\n ''\n )}\n \n \n \n );\n }\n};\n","import React, { useContext } from 'react';\nimport {\n BusFareDepartContext,\n BusFareReturnContext,\n HealthCareAddOnContext,\n InsuranceAddonContext,\n VoucherDiscountContext,\n} from '../UserContext';\nimport './BusFareSubTotal.css';\nimport { checkIsReschedule, getSelectedAddOnData } from './Function';\n\nexport const BusFareSubTotal = ({\n page,\n bus_fare_price,\n loyalty_discount_amount,\n activities_price,\n ground_transport_price = 0,\n}) => {\n const addOnData = getSelectedAddOnData();\n // let {BusFareAddOn, setBusFareAddOn} = useContext(BusFareAddOnContext);\n const { BusFareDepart, setBusFareDepart } = useContext(BusFareDepartContext);\n const { BusFareReturn, setBusFareReturn } = useContext(BusFareReturnContext);\n const { VoucherDiscount, setVoucherDiscount } = useContext(\n VoucherDiscountContext\n );\n const { insuranceAddOn, setInsuranceAddOn } = useContext(\n InsuranceAddonContext\n );\n\n const { healthCareAddOn, setHealthCareAddOn } = useContext(\n HealthCareAddOnContext\n );\n\n const sessionInsurance = sessionStorage.getItem('insuranceAddOn');\n const sessionHealthCare = sessionStorage.getItem('healthCareAddOn');\n // const { selectedDepartSeat, setDepartSeat } = useContext(SelectSeatDepartContext);\n const checkReschedule = checkIsReschedule();\n\n // console.log(`selectedDepartSeat=${selectedDepartSeat}`);\n let selected_depart_seat = JSON.parse(\n sessionStorage.getItem('selectedDepartSeat')\n );\n const depart_data_multi_modal = JSON.parse(\n sessionStorage.getItem('departDataMultiModal')\n );\n const BusFareAddOn = JSON.parse(sessionStorage.getItem('addOn'));\n let TotalBusFare = BusFareDepart + BusFareReturn;\n\n if (page == 'payment') {\n TotalBusFare = parseInt(sessionStorage.getItem('busFare'));\n loyalty_discount_amount = JSON.parse(localStorage.getItem('loyalty'));\n // console.log(TotalBusFare);\n } else {\n localStorage.setItem('loyalty', JSON.stringify(loyalty_discount_amount));\n }\n // console.log(BusFareAddOn)\n let total_addOn =\n 0 +\n (insuranceAddOn?.fee || JSON.parse(sessionInsurance)?.fee || 0) +\n (healthCareAddOn?.fee || JSON.parse(sessionHealthCare)?.fee || 0);\n if (addOnData != null && addOnData.length != 0) {\n addOnData.forEach(element => {\n element.details.forEach(sub => {\n if (sub.subtotal != '') {\n total_addOn += parseFloat(sub.subtotal);\n }\n // console.log(\"--------------\")\n // console.log(sub.qty)\n // console.log(sub.subtotal)\n // console.log(total_addOn)\n });\n });\n } else if (checkReschedule == true) {\n var origin_data = sessionStorage.getItem('Origin_data');\n if (origin_data != null) {\n origin_data = JSON.parse(origin_data);\n }\n if (origin_data.AddOnData != null && origin_data.AddOnData.length != 0) {\n origin_data.AddOnData.forEach(element => {\n element.forEach(el => {\n total_addOn += parseFloat(el.totalamt);\n });\n });\n }\n }\n // console.log(total_addOn)\n // console.log(BusFareAddOn)\n if (VoucherDiscount > TotalBusFare) {\n setVoucherDiscount(TotalBusFare);\n }\n return (\n <>\n
\n
\n \n {depart_data_multi_modal && (\n \n \n {/* */}\n \n \n )}\n\n \n \n \n \n\n {checkReschedule ? (\n \n \n \n \n ) : (\n ''\n )}\n {loyalty_discount_amount != 0 ? (\n \n \n \n \n ) : (\n ''\n )}\n {VoucherDiscount != 0 ? (\n \n \n \n \n ) : (\n ''\n )}\n\n {total_addOn != 0 ? (\n \n \n \n \n ) : (\n ''\n )}\n {/* {ground_transport_price != null ? (\n \n \n \n \n ) : (\"\")} */}\n
\n
Shuttle Bus
\n

RM {(depart_data_multi_modal.fare * selected_depart_seat.length).toFixed(2)}

\n

FREE

\n
\n
Bus Fare
\n
\n

RM {checkReschedule ? 0 : TotalBusFare.toFixed(2)}

\n
\n
Admin Charge
\n
\n

RM {sessionStorage.getItem('rescheduleAmount')}

\n
\n
- Loyalty Discount
\n
\n

-RM {loyalty_discount_amount}

\n
\n
- Promo Code Discount
\n
\n

-RM {VoucherDiscount}

\n
\n
Activities
\n
\n

RM {total_addOn}

\n
Ground Transport

RM 0

\n
\n
\n \n );\n};\n","import React, { useContext, useState, useEffect } from 'react';\nimport {\n BusFareDepartContext,\n BusFareReturnContext,\n LoyaltyDiscountContext,\n TotalBusFareContext,\n VoucherCodeContext,\n VoucherDiscountContext,\n SelectSeatDepartContext,\n InsuranceAddonContext,\n HealthCareAddOnContext,\n} from '../UserContext';\nimport {\n checkIsReschedule,\n getSelectedAddOnData,\n getToken,\n tokenIsValid,\n} from './Function';\n\nexport const BusFareTotal = ({ page }) => {\n let { TotalBusFare, setTotalBusFare } = useContext(TotalBusFareContext);\n const { BusFareAddOn, setBusFareAddOn } = useState(0);\n const { BusFareDepart, setBusFareDepart } = useContext(BusFareDepartContext);\n const { BusFareReturn, setBusFareReturn } = useContext(BusFareReturnContext);\n let { TotalLoyalty, setLoyalty } = useContext(LoyaltyDiscountContext);\n const { VoucherCode, setVoucherCode } = useContext(VoucherCodeContext);\n const { VoucherDiscount, setVoucherDiscount } = useContext(\n VoucherDiscountContext\n );\n const { insuranceAddOn, setInsuranceAddOn } = useContext(\n InsuranceAddonContext\n );\n\n const { healthCareAddOn, setHealthCareAddOn } = useContext(\n HealthCareAddOnContext\n );\n\n const SERVER_URL = process.env.REACT_APP_SERVER_URL;\n\n let { selectedDepartSeat, setDepartSeat } = useContext(\n SelectSeatDepartContext\n );\n\n let oldcartguid = null;\n let origin_data = sessionStorage.getItem('Origin_data');\n if (origin_data != null) {\n origin_data = JSON.parse(origin_data);\n oldcartguid = origin_data.OldCartGuid;\n }\n const checkReschedule = checkIsReschedule();\n const [rescheduleAmount, setRescheduleAmount] = useState(0);\n const addOnData = getSelectedAddOnData();\n\n let TotalPrivateHire = 0;\n let total_addOn = 0;\n const [TotalAmount, setTotalAmount] = useState(0);\n\n const sessionInsurance = sessionStorage.getItem('insuranceAddOn');\n const sessionHealthCare = sessionStorage.getItem('healthCareAddOn');\n\n // Compute Total Bus Fare\n // const computedTotalBusFare = BusFareDepart + BusFareReturn;\n TotalBusFare =\n BusFareDepart +\n BusFareReturn +\n (insuranceAddOn?.fee || JSON.parse(sessionInsurance)?.fee || 0) +\n (healthCareAddOn?.fee || JSON.parse(sessionHealthCare)?.fee || 0);\n\n sessionStorage.setItem('busFare', JSON.stringify(TotalBusFare));\n\n useEffect(() => {\n if (page === 'payment' || page === 'checkout') {\n // setTotalBusFare(JSON.parse(sessionStorage.getItem(\"busFare\")) || computedTotalBusFare);\n // setLoyalty(JSON.parse(localStorage.getItem(\"loyalty\")) || 0);\n\n TotalBusFare = JSON.parse(sessionStorage.getItem('busFare'));\n TotalLoyalty = JSON.parse(localStorage.getItem('loyalty'));\n }\n }, [page]);\n\n if (addOnData != null && addOnData.length != 0) {\n addOnData.forEach((element) => {\n element.details.forEach((sub) => {\n if (sub.subtotal != '') {\n total_addOn += parseFloat(sub.subtotal);\n }\n });\n });\n }\n\n if (TotalLoyalty > TotalBusFare) {\n TotalLoyalty = TotalBusFare;\n }\n\n // Compute Total Private Hire Fare\n useEffect(() => {\n const departDataMultiModal = JSON.parse(\n sessionStorage.getItem('departDataMultiModal')\n );\n const storedDepartSeats = JSON.parse(\n sessionStorage.getItem('selectedDepartSeat')\n );\n\n let selectedSeats = selectedDepartSeat?.length\n ? selectedDepartSeat\n : storedDepartSeats || [];\n\n if (departDataMultiModal && selectedSeats.length) {\n TotalPrivateHire = departDataMultiModal.fare * selectedSeats.length;\n }\n\n // setTotalAmount((computedTotalBusFare + total_addOn + TotalPrivateHire) - (appliedLoyalty + VoucherDiscount));\n setTotalAmount(\n TotalBusFare +\n total_addOn +\n TotalPrivateHire -\n (TotalLoyalty + VoucherDiscount)\n );\n }, [\n TotalBusFare,\n total_addOn,\n TotalPrivateHire,\n TotalLoyalty,\n VoucherDiscount,\n ]);\n\n // useEffect(() => {\n // \t// let selected_depart_seat = JSON.parse(sessionStorage.getItem(\"selectedDepartSeat\"));\n // \tlet selected_depart_seat = (selectedDepartSeat);\n\n // \tconst depart_data_multi_modal = JSON.parse(sessionStorage.getItem(\"departDataMultiModal\"));\n\n // \tif (depart_data_multi_modal) {\n\n // \t\tif ((selected_depart_seat?.length === undefined ||\n // \t\t\tselected_depart_seat?.length === 0)\n // \t\t\t&& page === 'checkout') {\n // \t\t\tselected_depart_seat = JSON.parse(sessionStorage.getItem(\"selectedDepartSeat\"));\n // \t\t}\n // \t\tTotalPrivateHire = (depart_data_multi_modal?.fare * (selected_depart_seat?.length || 0));\n // \t\t// alert(TotalPrivateHire);\n // \t}\n // \tsetTotalAmount((TotalBusFare + total_addOn + TotalPrivateHire) - (TotalLoyalty + VoucherDiscount));\n\n // \t// alert(TotalBusFare);\n // }, [TotalBusFare, total_addOn, TotalPrivateHire, TotalLoyalty, VoucherDiscount]);\n\n if (checkReschedule && getToken() != null) {\n const reschedule_api_url = `${SERVER_URL}/eb/get/reschedule/fee`;\n //call API to save data into db\n\n const reschedule_requestOptions = {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: getToken(),\n },\n body: JSON.stringify({\n OldCartGuid: oldcartguid,\n NewPaymentAmount: TotalAmount,\n }),\n };\n // console.log(reschedule_requestOptions)\n const RescheduleData = async () => {\n try {\n const reschedule_response = await fetch(\n reschedule_api_url,\n reschedule_requestOptions\n );\n if (!reschedule_response.ok) {\n throw new Error(\n `This is an HTTP error: The status is ${reschedule_response.status}`\n );\n }\n let reschedule_Data = await reschedule_response.json();\n setRescheduleAmount(reschedule_Data.AmendmentFee);\n sessionStorage.setItem(\n 'rescheduleAmount',\n JSON.stringify(reschedule_Data.AmendmentFee)\n );\n // console.log(reschedule_Data);\n } catch (err) {\n // console.log(err.message);\n setRescheduleAmount(null);\n }\n };\n tokenIsValid();\n RescheduleData();\n }\n return (\n <>\n
\n
\n \n {checkReschedule == false && rescheduleAmount == 0 ? (\n <>\n \n \n \n ) : (\n <>\n \n \n \n )}\n
\n
Total
\n
\n

RM {TotalAmount.toFixed(2)}

\n
\n
Rescheduled Total
\n
\n

RM {rescheduleAmount.toFixed(2)}

\n
\n
\n
\n \n );\n};\n","import React, { useState, useContext } from 'react';\nimport Col from 'react-bootstrap/esm/Col';\nimport Row from 'react-bootstrap/esm/Row';\nimport {\n checkIsReschedule,\n getSelectedAddOnData,\n getToken,\n tokenIsValid,\n getUserPrimaryEmail,\n} from './Function';\nimport './LinkButton.css';\n// import { TotalBusFareContext, BusFareDepartContext, BusFareReturnContext, BusFareAddOnContext, LoyaltyDiscountContext } from '../UserContext';\nimport {\n LoyaltyDiscountContext,\n LoyaltyIDContext,\n VoucherCodeContext,\n VoucherCodeAirlineContext,\n InsuranceAddonContext,\n HealthCareAddOnContext,\n} from '../UserContext';\nimport { LoadingScreenModal } from './LoadingScreenModal';\nimport * as CryptoJS from 'crypto-js';\n\nexport const CompletedBookingButton = ({\n guests,\n primary_guest_contact,\n primary_guest_email,\n depart,\n destination,\n depart_date,\n return_date,\n passenger_count,\n depart_trip_key,\n return_trip_key,\n currency,\n}) => {\n const children = 'Complete Booking';\n const SERVER_URL = process.env.REACT_APP_SERVER_URL;\n const { LoyaltyID, setLoyaltyID } = useContext(LoyaltyIDContext);\n const { TotalLoyalty, setLoyalty } = useContext(LoyaltyDiscountContext);\n const { VoucherCode, setVoucherCode } = useContext(VoucherCodeContext);\n const { VoucherCodeAirlineNo, setVoucherCodeAirlineNo } = useContext(\n VoucherCodeAirlineContext\n );\n const { insuranceAddOn, setInsuranceAddOn } = useContext(\n InsuranceAddonContext\n );\n\n const { healthCareAddOn, setHealthCareAddOn } = useContext(\n HealthCareAddOnContext\n );\n\n const token = getToken();\n const checkReschedule = checkIsReschedule();\n const [loading, setLoading] = useState(false);\n\n let TotalBusFare = parseFloat(sessionStorage.getItem('busFare')).toFixed(2);\n\n let selected_origin = sessionStorage.getItem('Origin_data');\n var _obj_selected_origin = JSON.parse(selected_origin);\n\n let original_addon_data = getSelectedAddOnData();\n let original_addon_sessionID = localStorage.getItem('addOnSession');\n\n let rescheduleAmount = sessionStorage.getItem('rescheduleAmount');\n let _depart_data = JSON.parse(sessionStorage.getItem('departData'));\n let _return_data = JSON.parse(sessionStorage.getItem('returnData'));\n let _depart_data_multi_modal = JSON.parse(\n sessionStorage.getItem('departDataMultiModal')\n );\n let private_hire_amount = 0;\n if (_depart_data_multi_modal) {\n private_hire_amount = parseFloat(\n _depart_data_multi_modal?.fare * passenger_count\n ).toFixed(2);\n }\n\n let selected_destination = sessionStorage.getItem('Destination_data');\n var _obj_selected_destination = JSON.parse(selected_destination);\n\n const redirectToPaymentGateway = event => {\n tokenIsValid();\n // console.log(VoucherCode)\n // if(VoucherCode !== null && VoucherCode !== '') {\n // const voucherValid = checkVoucherCode(VoucherCode);\n // if(voucherValid == true) {\n\n // }\n // }\n if (sessionStorage.getItem('departData') == null) {\n alert('Error while checkout');\n window.location.href = '/';\n }\n let addon_sessionID = localStorage.getItem('addOnSession');\n let addon_data = getSelectedAddOnData();\n if (JSON.stringify(addon_data) !== JSON.stringify(original_addon_data)) {\n alert('Your addon data has been modified. Please try again.');\n window.location.reload();\n }\n // console.log(addon_sessionID);\n // console.log(addon_data);\n\n // console.log('guests');\n // console.log('-----------');\n // console.dir(guests);\n // console.log('-----------');\n\n var depart_guests = [];\n var return_guests = [];\n var _submit = true;\n\n if (\n VoucherCode === 'AA1TOFLY' &&\n (VoucherCodeAirlineNo == null || VoucherCodeAirlineNo === '')\n ) {\n event.preventDefault();\n alert('Please enter valid AirAsia boarding code');\n _submit = false;\n return;\n }\n\n if (\n /^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/.test(\n primary_guest_email\n ) == false\n ) {\n event.preventDefault();\n alert('Please enter your email in format: yourname@example.com');\n _submit = false;\n return;\n }\n\n if (primary_guest_contact == null || primary_guest_contact.trim() == '') {\n event.preventDefault();\n\n alert('Please enter your phone number');\n _submit = false;\n return;\n }\n\n if (/^-?\\d+$/.test(primary_guest_contact) == false) {\n event.preventDefault();\n\n alert('Please enter your phone number in numeric format');\n _submit = false;\n return;\n }\n\n if (guests.length < passenger_count) {\n event.preventDefault();\n alert('All fields are mandatory');\n _submit = false;\n return;\n } else {\n guests.forEach(element => {\n // const [key, value] = element;\n // console.log(element);\n\n if (!element.ticket_type) {\n element.ticket_type = 'A';\n // event.preventDefault();\n // alert(`Guest ${element.guest} Ticket Type is required`);\n // return;\n }\n\n if (!element.guest_name) {\n event.preventDefault();\n alert(`Guest ${element.guest} Full Name is required`);\n _submit = false;\n return;\n }\n\n if (!element.passport && !element.ic) {\n event.preventDefault();\n alert(`Guest ${element.guest} either Passport or IC is required`);\n _submit = false;\n return;\n }\n\n if (!element.dob) {\n event.preventDefault();\n alert(`Guest ${element.guest} Date of Birth is required`);\n _submit = false;\n return;\n }\n\n if (!element.gender) {\n event.preventDefault();\n alert(`Guest ${element.guest} Gender is required`);\n _submit = false;\n return;\n }\n\n if (!element.nationality) {\n event.preventDefault();\n alert(`Guest ${element.guest} Nationality is required`);\n _submit = false;\n return;\n }\n\n if (element.depart_seat_id) {\n depart_guests.push({\n ticket_type: element.ticket_type,\n guest: element.guest,\n depart_display_code: element.depart_display_code,\n depart_seat_id: element.depart_seat_id,\n depart_seat_number: element.depart_seat_number,\n depart_seat_code: element.depart_seat_code,\n depart_seat_deck: element.depart_seat_deck,\n\n guest_name: element.guest_name,\n ic: element.ic,\n passport: element.passport,\n passport_expiry_date: element.passport_expiry_date,\n dob: element.dob,\n gender: element.gender,\n nationality: element.nationality,\n });\n }\n\n if (element.return_seat_id) {\n return_guests.push({\n ticket_type: element.ticket_type,\n guest: element.guest,\n return_display_code: element.return_display_code,\n return_seat_id: element.return_seat_id,\n return_seat_number: element.return_seat_number,\n return_seat_code: element.return_seat_code,\n return_seat_deck: element.return_seat_deck,\n\n guest_name: element.guest_name,\n ic: element.ic,\n passport: element.passport,\n passport_expiry_date: element.passport_expiry_date,\n dob: element.dob,\n gender: element.gender,\n nationality: element.nationality,\n });\n }\n });\n\n if (_submit) {\n // setLoading(true);\n const sessionInsurance = sessionStorage.getItem('insuranceAddOn');\n const sessionHealthCare = sessionStorage.getItem('healthCareAddOn');\n\n const insuranceAddOnData = insuranceAddOn?.fee\n ? insuranceAddOn\n : sessionInsurance\n ? JSON.parse(sessionInsurance)\n : null;\n\n const healthCareAddOnData = healthCareAddOn?.fee\n ? healthCareAddOn\n : sessionHealthCare\n ? JSON.parse(sessionHealthCare)\n : null;\n\n if (\n (insuranceAddOn && insuranceAddOnData.plan !== 'No Insurance') ||\n (healthCareAddOnData.item && healthCareAddOnData.item.length > 0)\n ) {\n if (addon_data === null) {\n addon_data = [];\n }\n }\n\n if (addon_data !== null && Array.isArray(addon_data)) {\n if (insuranceAddOnData.plan !== 'No Insurance') {\n addon_data.push({\n insuranceAddOn: insuranceAddOnData,\n });\n }\n\n if (healthCareAddOnData.fee > 0) {\n addon_data.push({\n health_care_add_on: healthCareAddOnData,\n });\n }\n }\n\n // Simple POST request with a JSON body using fetch\n const requestOptions = {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: token,\n },\n\n body: JSON.stringify({\n Amount: `${TotalBusFare}`, //min payment amount\n CustName: `${depart_guests[0].guest_name}`,\n CustEmail: `${primary_guest_email}`,\n CustPhone: `${primary_guest_contact}`,\n // Details: `${depart} - ${destination}`,\n Details: `${_obj_selected_origin.subplacename} - ${_obj_selected_destination.subplacename}`,\n\n CurrencyID: `${currency}`,\n\n DepartDate: `${depart_date}`,\n //eg: departure_time:\"2022-11-05 15:00\"\n DepartTime: `${_depart_data.departure_time.split(' ')[1]}`,\n DepartGuests: JSON.stringify(depart_guests),\n DepartTripKey: `${depart_trip_key}`,\n\n DepartPlaceId: _obj_selected_origin.placeid,\n DepartPlaceName: _obj_selected_origin.placename,\n DepartSubPlaceId: _obj_selected_origin.subplaceid,\n DepartSubPlaceName: _obj_selected_origin.subplacename,\n // DepartSubPlaceName: `${depart}`,\n DepartDuration: `${_depart_data.duration}`,\n\n ReturnDate: `${\n return_date == null || return_date === 'null' ? '' : return_date\n }`,\n ReturnTime: `${\n return_date == null || return_date === 'null'\n ? ''\n : _return_data?.departure_time != null\n ? _return_data.departure_time.split(' ')[1]\n : ''\n }`,\n ReturnGuests:\n return_guests.length == 0 ? [] : JSON.stringify(return_guests),\n ReturnTripKey:\n return_trip_key == null ? null : `${return_trip_key}`,\n\n ReturnPlaceId: _obj_selected_destination.placeid,\n ReturnPlaceName: _obj_selected_destination.placename,\n ReturnSubPlaceId: _obj_selected_destination.subplaceid,\n // ReturnSubPlaceName: `${destination}`,\n ReturnSubPlaceName: _obj_selected_destination.subplacename,\n ReturnDuration:\n _return_data != null ? _return_data?.duration : null,\n\n RescheduleAmount: rescheduleAmount,\n OldCartGuid: _obj_selected_origin.OldCartGuid,\n VoucherCode: VoucherCode,\n NoOfPax: passenger_count,\n SessionID: addon_sessionID?.length < 1 ? null : addon_sessionID,\n LoyaltyID: LoyaltyID != '0' ? LoyaltyID : null,\n AddOn:\n addon_data !== null &&\n addon_data.length > 0 &&\n addon_data !== 'null' &&\n addon_data !== '[]'\n ? addon_data\n : null,\n BoardingCode: VoucherCodeAirlineNo,\n PrivateHireBookingTrip: _depart_data_multi_modal\n ? JSON.stringify(_depart_data_multi_modal)\n : null,\n PrivateHireAmount: private_hire_amount,\n }),\n };\n\n if (LoyaltyID != null && LoyaltyID != '0') {\n // checkout with loyalty points\n const MANJA_URL = process.env.REACT_APP_MANJA_REWARD_URL;\n const API_KEY = process.env.REACT_APP_MANJA_REWARD_KEY;\n const STORE_CODE = process.env.REACT_APP_MANJA_REWARD_STORED_CODE;\n const userPrimaryEmail = getUserPrimaryEmail();\n let url = `${MANJA_URL}/Rewards/${STORE_CODE}/${userPrimaryEmail}/2`;\n const getLoyaltyData = async () => {\n try {\n const response = await fetch(url, {\n method: 'GET',\n mode: 'cors',\n headers: {\n apikey: API_KEY,\n Authorization: getToken(),\n },\n });\n if (!response.ok) {\n throw new Error(\n `This is an HTTP error: The status is ${response.status}`\n );\n }\n let actualData = await response.json();\n // console.log(actualData);\n //check if including LoyaltyID, proceed to payment\n\n const itemToCheck = LoyaltyID;\n\n const itemExists = actualData.rewards.some(\n item => item.id == itemToCheck\n );\n\n if (itemExists) {\n fetch(`${SERVER_URL}/order/new`, requestOptions)\n .then(response => response.json())\n .then(data => {\n console.log(data);\n\n if (\n data.merchantreferencecode != null &&\n data.url != null\n ) {\n // console.log(data.url)\n // console.log('data.url != null')\n const loyaltyStatus = 'NEW';\n const hash = CryptoJS.SHA1(\n userPrimaryEmail +\n LoyaltyID +\n loyaltyStatus +\n data.merchantreferencecode\n );\n const hashString = hash.toString(CryptoJS.enc.Hex);\n const updateRewardsURL = `${MANJA_URL}/Vouchers/${userPrimaryEmail}/${LoyaltyID}`;\n const updateRewardsRequestOptions = {\n StoreCode: STORE_CODE,\n Status: loyaltyStatus,\n RefNo: data.merchantreferencecode,\n Hash: hashString,\n };\n const updateLoyaltyData = async () => {\n try {\n const response = await fetch(updateRewardsURL, {\n method: 'POST',\n mode: 'cors',\n headers: {\n apikey: API_KEY,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(updateRewardsRequestOptions),\n });\n if (!response.ok) {\n throw new Error(\n `This is an HTTP error: The status is ${response.status}`\n );\n }\n let actualData = await response.json();\n if (actualData?.status.status == 200) {\n if (data.url != null && data.url != '') {\n window.location.href = data.url;\n }\n } else {\n alert(\n 'The selected Loyalty voucher is invalid, please try again.'\n );\n // window.location.href = '/';\n setLoading(false);\n }\n // console.log(actualData);\n // console.log(hashString);\n // console.log(updateRewardsURL);\n } catch (err) {}\n };\n updateLoyaltyData();\n // console.log(data.merchantreferencecode)\n // window.location.href = data.url;\n // setLoading(false)\n } else {\n if (data.code !== '0') {\n // if (data.code === 1) {\n //alert(\"Your selected seat had already been reserved, please wait for 15 minutes for the seat to become available or select another seat to complete the booking.\");\n alert(data.msg);\n // }\n }\n // window.location.href = '/'\n setLoading(false);\n }\n //`https://sandbox.senangpay.my/payment/162161518585731?detail=${depart} - ${destination}&amount=${data.totalamount}&order_id=${data.merchantreferencecode}&name=${guests[0].guest_name}&email=${primary_guest_email}&phone=${primary_guest_contact}&hash=${data.hash}`;\n });\n } else {\n alert('Selected Loyalty voucher is invalid, please try again.');\n // window.location.reload();\n setLoading(false);\n }\n } catch (err) {}\n };\n tokenIsValid();\n getLoyaltyData();\n } else {\n // checkout without loyalty points\n fetch(`${SERVER_URL}/order/new`, requestOptions)\n .then(response => response.json())\n .then(data => {\n if (data.url != null && data.url != '') {\n sessionStorage.setItem(\n 'insuranceAddOn',\n JSON.stringify({ plan: 'No Insurance', fee: 0 })\n );\n sessionStorage.setItem('healthCareAddOn', JSON.stringify({}));\n window.location.href = data.url;\n } else {\n // alert(\"Your selected seat had already been reserved, please wait for 15 minutes for the seat to become available or select another seat to complete the booking.\");\n\n if (data.code !== '0') {\n // if (data.code !== null && data.msg !== null) {\n // console.log('data.Status, Message !== null ')\n // if (data.code === 1) {\n // alert(\"Your selected seat had already been reserved, please wait for 15 minutes for the seat to become available or select another seat to complete the booking.\");\n alert(data.msg);\n setLoading(false);\n // }\n }\n // window.location.href = '/'\n }\n })\n .catch(err => {\n alert(\n \"We're sorry, but we're currently unable to process your request. Please try again in a few moments.\"\n );\n setLoading(false);\n // window.location.href = '/'\n });\n }\n }\n }\n // localStorage.removeItem(\"selected_addon_data\");\n // sessionStorage.removeItem(\"busFare\");\n // sessionStorage.removeItem(\"departData\");\n // sessionStorage.removeItem(\"returnData\");\n };\n\n return (\n <>\n {loading && (\n
\n \n
\n )}\n

\n By clicking ‘{children}’ I acknowledge that I have read and accept the{' '}\n \n {' '}\n Rules & Restrictions\n \n ,{' '}\n \n {' '}\n Terms of Use\n {' '}\n and{' '}\n \n {' '}\n Privacy Policy\n \n .\n

\n \n {children}\n \n\n \n \n i\n \n \n

\n We use secure transmission and encrypted storage to protect your\n personal information.\n

\n \n
\n \n );\n};\n","import React from \"react\";\nimport Row from \"react-bootstrap/esm/Row\";\nimport Form from 'react-bootstrap/Form';\nimport \"../App.css\";\nimport \"./ConfirmationEmail.css\";\nimport { ContentTitle } from \"./ContentTitle\";\nimport { checkIsReschedule, getUserPrimaryEmail } from \"./Function\";\n\nfunction ConfirmationEmail({parentPrimaryContactCallback,userMobile,reschedulePassengerNumber}) {\n const checkReschedule = checkIsReschedule();\n // console.log(reschedulePassengerNumber)\n return (\n <>\n
\n \n
\n
\n \n

Your confirmation will be sent to this email address.

\n parentPrimaryContactCallback(event, event.target.value, 'primary_email')} />\n
\n \n

Your contact number

\n parentPrimaryContactCallback(event, event.target.value, 'primary_contact')} />\n
\n
\n
\n
\n \n );\n}\n\nexport default ConfirmationEmail;","import React from 'react';\nimport Row from 'react-bootstrap/esm/Row';\nimport './ContentTitle.css';\n\nexport const ContentTitle = ({\n title,\n description,\n edit,\n button,\n onClick\n }) => {\n\n return (\n <>\n
\n \n \n \n \n {edit != null ?\n \n : \"\"\n }\n {button != null ? \n \n : \"\"\n }\n \n \n \n \n
\n

{title}

\n
\n \n \n \n
\n

{description}

\n
\n
\n
\n \n );\n}","import React from 'react';\nimport CryptoJS from 'crypto-js';\n\n//get token to call API\nexport function setToken(token) {\n if (token != null) {\n sessionStorage.setItem('token', JSON.stringify(token));\n }\n}\n\nexport function getToken() {\n var token = sessionStorage.getItem('token');\n if (token != null) {\n token = JSON.parse(token);\n return 'bearer ' + token;\n } else return null;\n}\n\nexport function clearToken() {\n sessionStorage.removeItem('token');\n}\n\nexport function setTokenExpiry(tokenExpiry) {\n if (tokenExpiry != null) {\n sessionStorage.setItem('tokenExpiry', JSON.stringify(tokenExpiry));\n }\n}\n\nexport function getTokenExpiry() {\n var tokenExpiry = sessionStorage.getItem('tokenExpiry');\n if (tokenExpiry != null) {\n tokenExpiry = JSON.parse(tokenExpiry);\n return tokenExpiry;\n } else return 0;\n}\n\nexport function clearTokenExpiry() {\n sessionStorage.removeItem('tokenExpiry');\n}\n\n// user token while logged in\nexport function setUserToken(UserToken) {\n if (UserToken != null) {\n localStorage.setItem('UserToken', JSON.stringify(UserToken));\n }\n}\n\nexport function getUserToken() {\n var UserToken = localStorage.getItem('UserToken');\n if (UserToken != null) {\n UserToken = JSON.parse(UserToken);\n return UserToken;\n } else return null;\n}\n\nexport function clearUserToken() {\n localStorage.removeItem('UserToken');\n}\n\nexport function setUserTokenExpiry(UserTokenExpiry) {\n if (UserTokenExpiry != null) {\n localStorage.setItem('UserTokenExpiry', JSON.stringify(UserTokenExpiry));\n }\n}\n\nexport function getUserTokenExpiry() {\n var UserTokenExpiry = localStorage.getItem('UserTokenExpiry');\n if (UserTokenExpiry != null) {\n UserTokenExpiry = JSON.parse(UserTokenExpiry);\n return UserTokenExpiry;\n } else return 0;\n}\n\nexport function clearUserTokenExpiry() {\n localStorage.removeItem('UserTokenExpiry');\n}\n\nconst SERVER_URL = process.env.REACT_APP_SERVER_URL;\nconst TOKEN_GRANT_TYPE = process.env.REACT_APP_TOKEN_GRANT_TYPE;\nconst TOKEN_CLIENT_ID = process.env.REACT_APP_TOKEN_CLIENT_ID;\nconst TOKEN_CLIENT_SECRET = process.env.REACT_APP_TOKEN_CLIENT_SECRET;\nconst TOKEN_SCOPE = process.env.REACT_APP_TOKEN_SCOPE;\nlet url = `${SERVER_URL}/token`;\nconst generateToken = async () => {\n clearToken();\n clearTokenExpiry();\n try {\n const response = await fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n GrantType: TOKEN_GRANT_TYPE,\n ClientID: TOKEN_CLIENT_ID,\n ClientSecret: TOKEN_CLIENT_SECRET,\n Scope: TOKEN_SCOPE,\n }),\n });\n if (!response.ok) {\n throw new Error(\n `This is an HTTP error: The status is ${response.status}`\n );\n }\n let actualData = await response.json();\n setToken(actualData.access_token);\n setTokenExpiry(actualData.expires_in);\n // console.log(actualData)\n // console.log('successfully generate new token')\n window.location.reload();\n } catch (err) {\n // console.log('failed to generate token')\n // setToken(null)\n // setTokenExpiry(0)\n }\n};\nexport function GenerateNewToken() {\n generateToken();\n}\n\nexport function tokenIsValid() {\n const token_expiry = getTokenExpiry();\n // console.log(token_expiry)\n if (token_expiry == null || token_expiry == 0) {\n // console.log(\"Generating new token...\")\n generateToken();\n } else {\n if (Date.now() >= parseInt(token_expiry) - 60000) {\n // console.log(\"previous token invalid, generating new token...\")\n generateToken();\n } else {\n // console.log('previous token still valid')\n return true;\n }\n }\n}\n\nexport function getPlaceNameBySubPlaceName(sub_place_name) {\n const JOHOR = [\n 'PENGERANG',\n 'BATU PAHAT',\n 'YONG PENG',\n 'LARKIN TERMINAL',\n 'TUN AMINAH',\n 'JOHOR JAYA',\n 'SKUDAI',\n ];\n const KL = ['TBS KUALA LUMPUR', 'PUDU'];\n const MELAKA = ['MELAKA SENTRAL', 'BANDARAYA MELAKA'];\n const SINGAPORE = ['QUEEN STREET BUS TERMINAL'];\n\n if (sub_place_name !== '') {\n if (JOHOR.includes(sub_place_name.toUpperCase())) {\n return 'JOHOR';\n } else if (KL.includes(sub_place_name.toUpperCase())) {\n return 'KUALA LUMPUR';\n } else if (MELAKA.includes(sub_place_name.toUpperCase())) {\n return 'MELAKA';\n } else if (SINGAPORE.includes(sub_place_name.toUpperCase())) {\n return 'SINGAPORE';\n } else {\n return 'INVALID PLACE';\n }\n }\n return 'INVALID PLACE';\n}\n\nexport function getPlaceIDByPlaceName(place_name) {\n switch (place_name) {\n case 'MELAKA':\n return 1;\n case 'KUALA LUMPUR':\n return 2;\n case 'SINGAPORE':\n return 4;\n case 'JOHOR':\n return 7;\n case 'SELANGOR':\n return 8;\n default:\n return 0;\n }\n}\n\n// if user's destination is these places, redirect to select seat page after chosen depart details\nexport function checkIncludeReturnTripTicketPlaceBySubPlaceId(sub_place_id) {\n const NoReturnTripSubPlaceId = [\n 7918, // Desaru Coast\n ];\n\n const result = NoReturnTripSubPlaceId.includes(sub_place_id);\n // console.log(result);\n return result;\n}\n\nexport function convertEBticketToCWLticket(ebticketHTMLstring) {\n var CWLticketHTMLstring = ebticketHTMLstring;\n\n //change easybook's logo to causewaylink logo\n CWLticketHTMLstring = CWLticketHTMLstring.replaceAll(\n 'width=\"220\" height=\"54\"',\n 'width=\"auto\" height=\"54\"'\n );\n CWLticketHTMLstring = CWLticketHTMLstring.replaceAll(\n 'https://easycdn.blob.core.windows.net/easybook/easybook-logo.png',\n 'images/logo-1.png'\n );\n // CWLticketHTMLstring = CWLticketHTMLstring.replaceAll('https://easycdn.blob.core.windows.net/easybook/easybook-logo.png','https://easycdn.blob.core.windows.net/agentsite/CausewayLink-logo.png')\n\n //remove easybook's reminder and its table css\n CWLticketHTMLstring = CWLticketHTMLstring.replaceAll(\n 'style=\"font-family:Arial, Helvetica, sans-serif; font-size:11px; color:#333; line-height:18px; background-color:#e9f5fe;margin-bottom:30px;\" align=\"center\" border=\"0\" cellpadding=\"10\" cellspacing=\"0\" width=\"97%\"',\n ''\n );\n CWLticketHTMLstring = CWLticketHTMLstring.replaceAll(\n 'REMINDER: DISCLAIMER:
1) Trips schedule is subject to change. Passengers will be notified in advance (if any).
2) Tickets are non-refundable, non-transferable, or non-exchangeable. Should the VTL program be canceled for any reason (by authorities), the passenger who has purchased the trips will be entitled to a refund.\\r\\n',\n ''\n );\n\n //remove easybook's unnecessary notice and table\n CWLticketHTMLstring = CWLticketHTMLstring.replaceAll(\n 'style=\"font-family:Arial, Helvetica, sans-serif; font-size:14px; color:#555; line-height:22px; text-size-adjust: none; -webkit-text-size-adjust: none; -moz-text-size-adjust: none; -ms-text-size-adjust: none;\" border=\"0\" cellpadding=\"10\" cellspacing=\"0\" width=\"100%\"',\n ''\n );\n CWLticketHTMLstring = CWLticketHTMLstring.replaceAll(\n 'The Terminal Fee may vary subject to the Terminal terms and conditions.
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n',\n ''\n );\n\n //change easybook's hyperlink to causewaylink express\n CWLticketHTMLstring = CWLticketHTMLstring.replaceAll(\n 'Easybook.com',\n 'Handal Indah'\n );\n\n //remove easybook's hyperlink\n CWLticketHTMLstring = CWLticketHTMLstring.replaceAll(\n '',\n ''\n );\n\n //remove easybook's banner in middle\n CWLticketHTMLstring = CWLticketHTMLstring.replaceAll(\n 'https://easycdn.blob.core.windows.net/marketing-images/rent-car-os-banner.jpg',\n ''\n );\n\n //remove easybook's banner at bottom\n CWLticketHTMLstring = CWLticketHTMLstring.replaceAll(\n 'https://www.easybook.com/images/eb-banner-m.jpg',\n ''\n );\n\n //change T&C words 'Easybook' to 'Handal Indah'\n CWLticketHTMLstring = CWLticketHTMLstring.replaceAll(\n 'Easybook',\n 'Handal Indah'\n );\n\n //remove easybook's server id (\"17\" is the length of the server id)\n const server_position = CWLticketHTMLstring.search('Server :');\n CWLticketHTMLstring = CWLticketHTMLstring.substr(0, server_position - 17);\n return CWLticketHTMLstring;\n}\n\n//change date and time to proper format of Date()\n//input(date): 2022-12-12, input(time): 13:00\nexport function getProperDateTime(date = '2022-12-12', time = '13:00') {\n var date_arr = date.split('-');\n var time_arr = time.split(':');\n var newDateTime = new Date(\n date_arr[0],\n date_arr[1] - 1,\n date_arr[2],\n time_arr[0],\n time_arr[1],\n '00'\n );\n return newDateTime;\n}\n\n//input(date): 2000-10-29, output: 2000-10-30\nexport function getNextDay(date, day = 1) {\n if (date != null) {\n if (day == 0) {\n return date;\n } else {\n var nextDay = null;\n if (date.toString().includes('-')) {\n nextDay = new Date(changeDateFormatToDateTime(date));\n } else {\n nextDay = new Date(date);\n }\n nextDay.setDate(nextDay.getDate() + day);\n var month = nextDay.getMonth() + 1; //months (0-11)\n var day = nextDay.getDate(); //day (1-31)\n var year = nextDay.getFullYear();\n var formattedNextDay = year + '-' + month + '-' + day;\n return getYYYYMMDDtwoDigit(formattedNextDay);\n }\n }\n}\n\nexport function getAMorPMonTime(time) {\n // console.log(`Time = ${time}`);\n\n var splitTime = time.split(':');\n if (parseInt(splitTime[0]) < 10) {\n splitTime[0] = '0' + parseInt(splitTime[0]);\n time = splitTime.join(':');\n }\n if (parseInt(splitTime[1]) < 10) {\n splitTime[1] = '0' + parseInt(splitTime[1]);\n time = splitTime.join(':');\n }\n // console.log(splitTime)\n if (splitTime[0] > 0 && splitTime[0] < 12) {\n return time + ' AM';\n } else if (splitTime[0] == 12 && splitTime[1] >= 0) {\n return time + ' PM';\n } else if (splitTime[0] == 0 && splitTime[1] >= 0) {\n return time + ' AM';\n } else {\n splitTime[0] = splitTime[0] - 12;\n time = splitTime.join(':');\n if (splitTime[0] < 10 && splitTime[0] > 0) {\n return '0' + time + ' PM';\n } else return time + ' PM';\n }\n}\n\nexport function getBusSeatColumn(totalSeat = 30) {\n return parseInt(totalSeat / 3);\n}\n\nexport function getSeatLetterByNumber(number) {\n switch (number) {\n case 1:\n return 'A';\n case 2:\n return '';\n case 3:\n return 'B';\n case 4:\n return 'C';\n default:\n return '';\n }\n}\n\nexport function getSubPlaceIDBySubPlaceName(sub_place_name) {\n if (sub_place_name !== '') {\n switch (sub_place_name.toUpperCase()) {\n case 'MELAKA SENTRAL':\n return 1;\n case 'JB LARKIN TERM':\n case 'LARKIN TERMINAL':\n return 32;\n case 'TBS (TERMINAL BERSEPADU SELATAN)':\n case 'TBS KUALA LUMPUR':\n return 246;\n case 'QUEEN STREET BUS TERMINAL':\n return 536;\n case 'PENGERANG':\n return 7680;\n default:\n return 0;\n }\n }\n return 0;\n}\n\n// export function getSubPlaceShortName(sub_place_name) {\n// switch (sub_place_name.toUpperCase()) {\n// case 'JB LARKIN TERM':\n// case 'LARKIN TERMINAL': return 'Larkin Sentral';\n// case 'SKUDAI': return 'Skudai';\n// case 'TBS (TERMINAL BERSEPADU SELATAN)':\n// case 'TBS KUALA LUMPUR': return 'TBS';\n// case 'MELAKA SENTRAL': return 'Melaka Sentral';\n// case 'QUEEN STREET BUS TERMINAL' : return 'Queen St';\n// case 'PENGERANG' : return 'Pengerang';\n// case 'PUDU' : return 'Pudu';\n// case 'TUN AMINAH' : return 'Tun Aminah';\n// case 'YONG PENG' : return 'Yong Peng';\n// case 'BATU PAHAT' : return 'Batu Pahat';\n// default: return 'Invalid Sub Place';\n// }\n// }\n\nexport function getSubPlaceShortName(sub_place_name) {\n if (\n sub_place_name !== '' &&\n sub_place_name != null &&\n typeof myVariable !== 'undefined'\n ) {\n if (sub_place_name.toUpperCase().includes('TERMINAL BERSEPADU SELATAN')) {\n return 'TBS';\n } else if (sub_place_name.toUpperCase().includes('LARKIN')) {\n return 'Larkin Sentral';\n } else if (sub_place_name.toUpperCase().includes('QUEEN STREET')) {\n return 'Queen St';\n } else if (sub_place_name.toUpperCase().includes('SENAI')) {\n return 'Senai Airport';\n }\n }\n return sub_place_name;\n}\n\nexport function getSubPlaceUniqueName(sub_place_name, destination = 'no') {\n if (sub_place_name !== '') {\n if (sub_place_name.toUpperCase() == 'KUALA LUMPUR') {\n return 'tbsterminalbersepaduselatan';\n } else if (\n sub_place_name.toUpperCase() == 'JOHOR BAHRU' &&\n destination.toUpperCase() != 'SENAI AIRPORT'\n ) {\n return 'johorbahrujblarkinterm';\n } else if (sub_place_name.toUpperCase() == 'JOHOR BAHRU') {\n return 'jbsentral';\n } else if (sub_place_name.toUpperCase() == 'MERSING') {\n return 'terminalbusmersing';\n } else if (sub_place_name.toUpperCase() == 'KLANG') {\n return 'klangsentral';\n } else if (sub_place_name.toUpperCase() == 'SHAH ALAM') {\n return 'shahalamterminal';\n } else if (sub_place_name.toUpperCase() == 'SENAI AIRPORT') {\n return 'senaiinternationalairport';\n } else if (sub_place_name.toUpperCase() == 'PENGERANG') {\n return 'pengerang';\n } else if (sub_place_name.toUpperCase() == 'SINGAPORE') {\n return 'queenstreetbusterminal';\n } else if (sub_place_name.toUpperCase() == 'MELAKA') {\n return 'melakasentral';\n } else if (sub_place_name.toUpperCase() == 'IPOH') {\n return 'ipoh';\n }\n }\n return sub_place_name;\n}\n\nexport function getSubPlaceLongName(sub_place_name) {\n if (sub_place_name.toUpperCase() == 'KUALA LUMPUR') {\n return 'TBS (Terminal Bersepadu Selatan)';\n } else if (sub_place_name.toUpperCase() == 'JOHOR BAHRU') {\n return 'Johor Bahru (JB Larkin Term.)';\n } else if (sub_place_name.toUpperCase() == 'SINGAPORE') {\n return 'Queen Street Bus Terminal';\n } else if (sub_place_name.toUpperCase() == 'MELAKA') {\n return 'Melaka Sentral';\n } else return sub_place_name;\n}\n\nexport function checkVenue() {\n if (\n sessionStorage.getItem('Origin_data') == null ||\n sessionStorage.getItem('Destination_data') == null\n ) {\n return false;\n } else return true;\n}\n\nexport function dateToTime(date) {\n //date format: 2022-08-12\n var myDate = date.split('-');\n var newDate = new Date(myDate[2], myDate[1] - 1, myDate[0]);\n return newDate.getTime();\n}\n\nexport function calculateDateRange(date1, date2) {\n var arr_date1 = date1.split('-'); //2022-09-30\n var new_date1 = new Date(\n arr_date1[1] + '/' + arr_date1[2] + '/' + arr_date1[0]\n );\n var arr_date2 = date2.split('-');\n var new_date2 = new Date(\n arr_date2[1] + '/' + arr_date2[2] + '/' + arr_date2[0]\n );\n var Difference_In_Time = new_date2.getTime() - new_date1.getTime();\n var Difference_In_Days = Difference_In_Time / (1000 * 3600 * 24);\n return Difference_In_Days;\n}\n\nexport function calculateLoyaltyPointsToEarn(total_amount) {\n var points = total_amount;\n if (points > 0) {\n return parseInt(points);\n } else return 0;\n}\n\nexport function loyaltyPriceToPoints(loyaltyPrice) {\n var points = 0;\n if (loyaltyPrice == 10) {\n points = 200;\n } else if (loyaltyPrice == 20) {\n points = 400;\n } else if (loyaltyPrice == 30) {\n points = 600;\n } else if (loyaltyPrice == 40) {\n points = 800;\n } else if (loyaltyPrice == 50) {\n points = 1000;\n }\n return points;\n}\n\n//input(date):2022-8-9 => output: 2022-08-09\nexport function getYYYYMMDDtwoDigit(date) {\n var date_arr = date.split('-');\n var year = date_arr[0];\n var month = date_arr[1];\n var day = date_arr[2];\n if (parseInt(month) < 10) {\n month = '0' + parseInt(month);\n }\n if (parseInt(day) < 10) {\n day = '0' + parseInt(day);\n }\n return year + '-' + month + '-' + day;\n}\n\nexport function changeDateFormatToYYYYMMDD(date) {\n var day = date.getDate();\n if (day < 10) {\n day = '0' + day;\n }\n var month = date.getMonth() + 1;\n if (month < 10) {\n month = '0' + month;\n }\n var year = date.getFullYear();\n return year + '-' + month + '-' + day;\n}\n\n//input(date):2022-10-14 , output: 10/14/2022\nexport function changeDateFormatToMMDDYYYY(date) {\n var arr_newDate = date.split('-');\n if (parseInt(arr_newDate[1]) < 10) {\n arr_newDate[1] = '0' + parseInt(arr_newDate[1]);\n }\n if (parseInt(arr_newDate[2]) < 10) {\n arr_newDate[2] = '0' + parseInt(arr_newDate[2]);\n }\n return arr_newDate[1] + '/' + arr_newDate[2] + '/' + arr_newDate[0];\n}\n\n//input(date):2022-09-14 , output: 2022-09-14T00:00:00\nexport function changeDateFormatToDateTime(date) {\n var arr_newDate = date.split('-');\n if (parseInt(arr_newDate[1]) < 10) {\n arr_newDate[1] = '0' + parseInt(arr_newDate[1]);\n }\n if (parseInt(arr_newDate[2]) < 10) {\n arr_newDate[2] = '0' + parseInt(arr_newDate[2]);\n }\n var newDate =\n arr_newDate[0] + '-' + arr_newDate[1] + '-' + arr_newDate[2] + 'T00:00:00';\n // console.log(newDate)\n\n return newDate;\n}\n\n//input(date):2022-10-5 , output: 2022-10-05\nexport function changeDateFormatToYYYYMMDDwithDash(date) {\n var arr_newDate = date.split('-');\n var intMonth = parseInt(arr_newDate[1]);\n var intDay = parseInt(arr_newDate[2]);\n if (intMonth < 10) {\n arr_newDate[1] = '0' + intMonth;\n }\n if (intDay < 10) {\n arr_newDate[2] = '0' + intDay;\n }\n return arr_newDate[0] + '-' + arr_newDate[1] + '-' + arr_newDate[2];\n}\n\n//input(date):2022-10-17 , output: Tue,17/10\nexport function changeDateFormatToWeekDayMonth(date) {\n // var arr_newDate = date.split(\"-\");\n // var newDate = arr_newDate[2]+'/'+arr_newDate[1];\n var date_formatted = new Intl.DateTimeFormat('en-GB', {\n month: '2-digit',\n day: '2-digit',\n weekday: 'short',\n }).format(Date.parse(date));\n return date_formatted;\n}\n\n//input(date):2022-09-14 , output: 14 Sep 2022\nexport function changeDateFormatToDayMonthYear(date) {\n if (date != null || date != '') {\n var date_formatted = new Intl.DateTimeFormat('en-GB', {\n day: '2-digit',\n month: 'short',\n year: 'numeric',\n }).format(Date.parse(date));\n return date_formatted;\n } else return '-';\n}\n\n//input(date):14 Sep 2022 , output: 2022-09-14\nexport function changeDateFormatToYearMonthDay(date) {\n if (date != null || date != '') {\n //change to 14/09/2022\n var _date = new Intl.DateTimeFormat('en-GB', {\n day: '2-digit',\n month: '2-digit',\n year: 'numeric',\n }).format(Date.parse(date));\n //change to 2022-09-14\n var dateArr = _date.split('/');\n var date_formatted = dateArr[2] + '-' + dateArr[1] + '-' + dateArr[0];\n return date_formatted;\n } else return '-';\n}\n\n//input(seconds): 12600, output: 3h 30m\nexport function getEstimateTimeDurationInHours(durationInSeconds = 12600) {\n var minutes = parseInt(durationInSeconds / 60);\n var hours = null;\n if (minutes >= 60) {\n hours = parseInt(minutes / 60);\n minutes = parseInt(minutes - hours * 60);\n return hours + 'h ' + minutes + 'm';\n }\n return minutes + 'm';\n}\n\n//input(seconds): 12600, output: 3h 30m\nexport function getEstimateTimeDurationInMinutes(durationInSeconds = 12600) {\n var minutes = parseInt(durationInSeconds / 60);\n return minutes;\n}\n\n//input(time): 15:00, input(durationInMinutes): 180, output: 18:00\nexport function getEstimateTimeArrival(time, durationInMinutes = 180) {\n var hours = parseInt(time.split(':')[0]);\n var minutes = parseInt(time.split(':')[1]);\n minutes += durationInMinutes;\n if (minutes >= 60) {\n var addhours = parseInt(minutes / 60);\n minutes -= addhours * 60;\n if (minutes < 10) {\n minutes = '0' + minutes;\n }\n hours += addhours;\n if (hours >= 24) {\n hours -= 24;\n }\n }\n if (parseInt(hours) < 10) {\n hours = '0' + parseInt(hours);\n }\n if (parseInt(minutes) < 10) {\n minutes = '0' + parseInt(minutes);\n }\n var ETA = hours + ':' + minutes;\n return ETA;\n}\n\n//input(datetime): \"2022-11-09 08:00\", input(durationInMinutes): 180, output: 18:00\nexport function getEstimateDateTimeArrival(datetime, durationInMinutes) {\n var datetime_arr = datetime.split(' ');\n var etaTimeArrival = getEstimateTimeArrival(\n datetime_arr[1],\n durationInMinutes\n );\n if (\n parseInt(etaTimeArrival.split(':')[0]) >= 0 &&\n parseInt(etaTimeArrival.split(':')[0]) <\n parseInt(datetime_arr[1].split(':')[0])\n ) {\n datetime_arr[0] = getNextDay(datetime_arr[0]);\n }\n return datetime_arr[0] + ' ' + etaTimeArrival;\n}\n\n//get return data from JSON.parse(sessionStorage.getItem(\"returnData\"))\nexport function checkOneWayTrip() {\n const returnData = JSON.parse(sessionStorage.getItem('returnData'));\n if (returnData === null) {\n return true;\n } else return false;\n}\n\nexport function setLoginStatus(status) {\n localStorage.setItem('login', JSON.stringify(status));\n}\n\nexport function getLoginStatus() {\n var login_status =\n localStorage.getItem('login') != null\n ? JSON.parse(localStorage.getItem('login'))\n : false;\n return login_status;\n}\n\nexport function getUserData() {\n if (getLoginStatus() == true) {\n var userData = JSON.parse(localStorage.getItem('userData'));\n return userData;\n } else {\n return null;\n }\n}\n\nexport function getUsername() {\n var userData = getUserData();\n if (userData != null) {\n var userName = userData.fullname;\n return userName;\n } else return null;\n}\n\nexport function setUserData(user_data) {\n localStorage.setItem('userData', JSON.stringify(user_data));\n return true;\n}\n\n//return ic without '-', or passport no\nexport function getUserICorPassport() {\n var checkUserData = getUserData();\n if (checkUserData != null) {\n var userData = JSON.parse(checkUserData);\n var userICorPassport = null;\n if (userData.ic != null || userData.ic != '') {\n if (userData.ic.includes('-')) {\n userICorPassport = userData.ic.replace(/-/gi, '');\n } else userICorPassport = userData.ic;\n } else if (userData.passport != null || userData.passport != '') {\n userICorPassport = userData.passport;\n }\n return userICorPassport;\n } else return null;\n}\n\nexport function getUserPrimaryEmail() {\n if (getLoginStatus() === true) {\n var email = localStorage.getItem('primaryEmail');\n if (email != null) {\n email = JSON.parse(email);\n return email;\n } else return null;\n } else return null;\n}\n\n// export function getUserPrimaryPassword() {\n// var primaryPassword = JSON.parse(localStorage.getItem(\"primaryPassword\"));\n// return primaryPassword;\n// }\n\nexport function checkWindowLocation() {\n var mustLogInPages = [\n '/myAccount',\n '/manageBooking',\n '/bookingHistory',\n '/bookingDetail',\n ];\n if (mustLogInPages.includes(window.location.pathname)) {\n return true;\n } else return false;\n}\n\nexport function checkWindowLocationForCurrency() {\n var backToPickDepartPage = ['/pickReturn'];\n var callApiToGetPricePage = ['/selectSeat', '/checkout'];\n if (backToPickDepartPage.includes(window.location.pathname)) {\n return 'BackToPickDepart';\n } else if (callApiToGetPricePage.includes(window.location.pathname)) {\n return 'CallApiToGetPrice';\n } else {\n window.location.reload();\n }\n}\n\nexport function getMonetaryUnitBasedOnCurrency() {\n const currency = JSON.parse(localStorage.getItem('currency'));\n const monetary_unit = currency === 'MYR' ? 'RM' : 'SGD';\n return monetary_unit;\n}\n\n//if sgd trip, get MYR fare for checkout\nexport function checkIsSgdTrip() {\n const currency = JSON.parse(localStorage.getItem('currency'));\n if (currency === 'SGD') {\n return true;\n } else {\n return false;\n }\n}\n\nexport function passengerValidation(passenger = 1) {\n var num_passenger = parseInt(passenger);\n if (num_passenger < 1 || num_passenger > 8) {\n return false;\n } else return true;\n}\n\nexport function getNationalityFullName(nationality) {\n switch (nationality) {\n case '':\n return '';\n case 'MY':\n return 'Malaysia';\n case 'SG':\n return 'Singapore';\n case 'AF':\n return 'Afghanistan';\n case 'AL':\n return 'Albania';\n case 'DZ':\n return 'Algeria';\n case 'AD':\n return 'Andorra';\n case 'AO':\n return 'Angola';\n case 'AI':\n return 'Anguilla';\n case 'AG':\n return 'Antigua and Barbuda';\n case 'AR':\n return 'Argentina';\n case 'AM':\n return 'Armenia';\n case 'AW':\n return 'Aruba';\n case 'AU':\n return 'Australia';\n case 'AT':\n return 'Austria';\n case 'AZ':\n return 'Azerbaijan';\n case 'BS':\n return 'Bahamas';\n case 'BH':\n return 'Bahrain';\n case 'BD':\n return 'Bangladesh';\n case 'BB':\n return 'Barbados';\n case 'BY':\n return 'Belarus';\n case 'BE':\n return 'Belgium';\n case 'BZ':\n return 'Belize';\n case 'BJ':\n return 'Benin';\n case 'BM':\n return 'Bermuda';\n case 'BT':\n return 'Bhutan';\n case 'BO':\n return 'Bolivia';\n case 'BA':\n return 'Bosnia and Herzegovina';\n case 'BW':\n return 'Botswana';\n case 'BR':\n return 'Brazil';\n case 'VG':\n return 'British Virgin Islands';\n case 'BN':\n return 'Brunei';\n case 'BG':\n return 'Bulgaria';\n case 'BF':\n return 'Burkina Faso';\n case 'BI':\n return 'Burundi';\n case 'KH':\n return 'Cambodia';\n case 'CM':\n return 'Cameroon';\n case 'CA':\n return 'Canada';\n case 'CV':\n return 'Cape Verde';\n case 'KY':\n return 'Cayman Islands';\n case 'CF':\n return 'Central African Republic';\n case 'TD':\n return 'Chad';\n case 'CL':\n return 'Chile';\n case 'CN':\n return 'China';\n case 'CO':\n return 'Colombia';\n case 'KM':\n return 'Comoros';\n case 'CD':\n return 'Congo, Democratic Republic of the';\n case 'CG':\n return 'Congo, Republic of';\n case 'CR':\n return 'Costa Rica';\n case 'CI':\n return \"Cote D'Ivoire (Ivory Coast)\";\n case 'HR':\n return 'Croatia';\n case 'CU':\n return 'Cuba';\n case 'CY':\n return 'Cyprus';\n case 'CZ':\n return 'Czech Republic';\n case 'DK':\n return 'Denmark';\n case 'DJ':\n return 'Djibouti';\n case 'DM':\n return 'Dominica';\n case 'DO':\n return 'Dominican Republic';\n case 'EC':\n return 'Ecuador';\n case 'EG':\n return 'Egypt';\n case 'SV':\n return 'El Salvador';\n case 'GQ':\n return 'Equatorial Guinea';\n case 'ER':\n return 'Eritrea';\n case 'EE':\n return 'Estonia';\n case 'ET':\n return 'Ethiopia';\n case 'FK':\n return 'Falkland Islands';\n case 'FJ':\n return 'Fiji';\n case 'FI':\n return 'Finland';\n case 'FR':\n return 'France';\n case 'GF':\n return 'French Guiana';\n case 'PF':\n return 'French Polynesia';\n case 'GA':\n return 'Gabon';\n case 'GM':\n return 'Gambia';\n case 'GE':\n return 'Georgia';\n case 'DE':\n return 'Germany';\n case 'GH':\n return 'Ghana';\n case 'GI':\n return 'Gibraltar';\n case 'GR':\n return 'Greece';\n case 'GD':\n return 'Grenada';\n case 'GP':\n return 'Guadeloupe';\n case 'GT':\n return 'Guatemala';\n case 'GN':\n return 'Guinea';\n case 'GW':\n return 'Guinea-Bissau';\n case 'GY':\n return 'Guyana';\n case 'HT':\n return 'Haiti';\n case 'HN':\n return 'Honduras';\n case 'HK':\n return 'Hong Kong (China)';\n case 'HU':\n return 'Hungary';\n case 'IS':\n return 'Iceland';\n case 'IN':\n return 'India';\n case 'ID':\n return 'Indonesia';\n case 'IR':\n return 'Iran';\n case 'IQ':\n return 'Iraq';\n case 'IE':\n return 'Ireland';\n case 'IL':\n return 'Israel';\n case 'IT':\n return 'Italy';\n case 'JM':\n return 'Jamaica';\n case 'JP':\n return 'Japan';\n case 'JO':\n return 'Jordan';\n case 'KZ':\n return 'Kazakhstan';\n case 'KE':\n return 'Kenya';\n case 'KP':\n return 'Korea (North)';\n case 'KR':\n return 'Korea (South)';\n case 'KW':\n return 'Kuwait';\n case 'KG':\n return 'Kyrgyzstan';\n case 'LA':\n return 'Laos';\n case 'LV':\n return 'Latvia';\n case 'LB':\n return 'Lebanon';\n case 'LS':\n return 'Lesotho';\n case 'LR':\n return 'Liberia';\n case 'LY':\n return 'Libyan Arab Jamahiriya';\n case 'LI':\n return 'Liechtenstein';\n case 'LT':\n return 'Lithuania';\n case 'LU':\n return 'Luxembourg';\n case 'MO':\n return 'Macao';\n case 'MK':\n return 'Macedonia';\n case 'MG':\n return 'Madagascar';\n case 'MW':\n return 'Malawi';\n case 'MV':\n return 'Maldives';\n case 'ML':\n return 'Mali';\n case 'MT':\n return 'Malta';\n case 'MH':\n return 'Marshall Islands';\n case 'MQ':\n return 'Martinique';\n case 'MR':\n return 'Mauritania';\n case 'MU':\n return 'Mauritius';\n case 'YT':\n return 'Mayotte';\n case 'MX':\n return 'Mexico';\n case 'FM':\n return 'Micronesia, Federated States of';\n case 'MD':\n return 'Moldova';\n case 'MC':\n return 'Monaco';\n case 'MN':\n return 'Mongolia';\n case 'MS':\n return 'Montserrat';\n case 'MA':\n return 'Morocco';\n case 'MZ':\n return 'Mozambique';\n case 'MM':\n return 'Myanmar';\n case 'NA':\n return 'Namibia';\n case 'NR':\n return 'Nauru';\n case 'NP':\n return 'Nepal';\n case 'NL':\n return 'Netherlands';\n case 'AN':\n return 'Netherlands Antilles';\n case 'NC':\n return 'New Caledonia';\n case 'NZ':\n return 'New Zealand';\n case 'NI':\n return 'Nicaragua';\n case 'NE':\n return 'Niger';\n case 'NG':\n return 'Nigeria';\n case 'NO':\n return 'Norway';\n case 'OM':\n return 'Oman';\n case '00':\n return 'Others';\n case 'PK':\n return 'Pakistan';\n case 'PW':\n return 'Palau';\n case 'PS':\n return 'Palestinian Territory';\n case 'PA':\n return 'Panama';\n case 'PG':\n return 'Papua New Guinea';\n case 'PY':\n return 'Paraguay';\n case 'PE':\n return 'Peru';\n case 'PH':\n return 'Philippines';\n case 'PN':\n return 'Pitcairn Islands';\n case 'PL':\n return 'Poland';\n case 'PT':\n return 'Portugal';\n case 'QA':\n return 'Qatar';\n case 'RE':\n return 'Reunion';\n case 'RO':\n return 'Romania';\n case 'RU':\n return 'Russia Federation';\n case 'RW':\n return 'Rwanda';\n case 'SH':\n return 'Saint Helena';\n case 'KN':\n return 'Saint Kitts and Nevis';\n case 'LC':\n return 'Saint Lucia';\n case 'PM':\n return 'Saint Pierre and Miquelon';\n case 'VC':\n return 'Saint Vincent and the Grenadines';\n case 'WS':\n return 'Samoa';\n case 'SM':\n return 'San Marino';\n case 'ST':\n return 'Sao Tome and Principe';\n case 'SA':\n return 'Saudi Arabia';\n case 'SN':\n return 'Senegal';\n case 'CS':\n return 'Serbia and Montenegro';\n case 'SC':\n return 'Seychelles';\n case 'SL':\n return 'Sierra Leone';\n case 'SK':\n return 'Slovakia';\n case 'SI':\n return 'Slovenia';\n case 'SB':\n return 'Solomon Islands';\n case 'SO':\n return 'Somalia';\n case 'ZA':\n return 'South Africa';\n case 'ES':\n return 'Spain';\n case 'LK':\n return 'Sri Lanka';\n case 'SH':\n return 'St. Helena';\n case 'KN':\n return 'St. Kitts and Nevis';\n case 'LC':\n return 'St. Lucia';\n case 'PM':\n return 'St. Pierre and Miquelon';\n case 'SD':\n return 'Sudan';\n case 'SR':\n return 'Suriname';\n case 'SZ':\n return 'Swaziland';\n case 'SE':\n return 'Sweden';\n case 'CH':\n return 'Switzerland';\n case 'SY':\n return 'Syria';\n case 'TW':\n return 'Taiwan';\n case 'TJ':\n return 'Tajikistan';\n case 'TZ':\n return 'Tanzania';\n case 'TH':\n return 'Thailand';\n case 'TL':\n return 'Timor-Leste';\n case 'TG':\n return 'Togo';\n case 'TO':\n return 'Tonga';\n case 'TT':\n return 'Trinidad and Tobago';\n case 'TN':\n return 'Tunisia';\n case 'TR':\n return 'Turkey';\n case 'TM':\n return 'Turkmenistan';\n case 'TC':\n return 'Turks and Caicos Islands';\n case 'TV':\n return 'Tuvalu';\n case 'UG':\n return 'Uganda';\n case 'UA':\n return 'Ukraine';\n case 'AE':\n return 'United Arab Emirates';\n case 'GB':\n return 'United Kingdom';\n case 'US':\n return 'United States';\n case 'UY':\n return 'Uruguay';\n case 'UZ':\n return 'Uzbekistan';\n case 'VU':\n return 'Vanuatu';\n case 'VE':\n return 'Venezuela';\n case 'VN':\n return 'Vietnam';\n case 'WF':\n return 'Wallis and Futuna Islands';\n case 'EH':\n return 'Western Sahara';\n case 'YE':\n return 'Yemen';\n case 'ZR':\n return 'Zaire (former)';\n case 'ZM':\n return 'Zambia';\n case 'ZW':\n return 'Zimbabwe';\n case '00':\n return 'Others';\n default:\n return nationality;\n }\n}\n\nexport function getNationalityShortName(nationality) {\n switch (nationality) {\n case '':\n return '';\n case 'Malaysia':\n return 'MY';\n case 'Singapore':\n return 'SG';\n case 'Afghanistan':\n return 'AF';\n case 'Albania':\n return 'AL';\n case 'Algeria':\n return 'DZ';\n case 'Andorra':\n return 'AD';\n case 'Angola':\n return 'AO';\n case 'Anguilla':\n return 'AI';\n case 'Antigua and Barbuda':\n return 'AG';\n case 'Argentina':\n return 'AR';\n case 'Armenia':\n return 'AM';\n case 'Aruba':\n return 'AW';\n case 'Australia':\n return 'AU';\n case 'Austria':\n return 'AT';\n case 'Azerbaijan':\n return 'AZ';\n case 'Bahamas':\n return 'BS';\n case 'Bahrain':\n return 'BH';\n case 'Bangladesh':\n return 'BD';\n case 'Barbados':\n return 'BB';\n case 'Belarus':\n return 'BY';\n case 'Belgium':\n return 'BE';\n case 'Belize':\n return 'BZ';\n case 'Benin':\n return 'BJ';\n case 'Bermuda':\n return 'BM';\n case 'Bhutan':\n return 'BT';\n case 'Bolivia':\n return 'BO';\n case 'Bosnia and Herzegovina':\n return 'BA';\n case 'Botswana':\n return 'BW';\n case 'Brazil':\n return 'BR';\n case 'British Virgin Islands':\n return 'VG';\n case 'Brunei':\n return 'BN';\n case 'Bulgaria':\n return 'BG';\n case 'Burkina Faso':\n return 'BF';\n case 'Burundi':\n return 'BI';\n case 'Cambodia':\n return 'KH';\n case 'Cameroon':\n return 'CM';\n case 'Canada':\n return 'CA';\n case 'Cape Verde':\n return 'CV';\n case 'Cayman Islands':\n return 'KY';\n case 'Central African Republic':\n return 'CF';\n case 'Chad':\n return 'TD';\n case 'Chile':\n return 'CL';\n case 'China':\n return 'CN';\n case 'Colombia':\n return 'CO';\n case 'Comoros':\n return 'KM';\n case 'Congo, Democratic Republic of the':\n return 'CD';\n case 'Congo, Republic of':\n return 'CG';\n case 'Costa Rica':\n return 'CR';\n case \"Cote D'Ivoire (Ivory Coast)\":\n return 'CI';\n case 'Croatia':\n return 'HR';\n case 'Cuba':\n return 'CU';\n case 'Cyprus':\n return 'CY';\n case 'Czech Republic':\n return 'CZ';\n case 'Denmark':\n return 'DK';\n case 'Djibouti':\n return 'DJ';\n case 'Dominica':\n return 'DM';\n case 'Dominican Republic':\n return 'DO';\n case 'Ecuador':\n return 'EC';\n case 'Egypt':\n return 'EG';\n case 'El Salvador':\n return 'SV';\n case 'Equatorial Guinea':\n return 'GQ';\n case 'Eritrea':\n return 'ER';\n case 'Estonia':\n return 'EE';\n case 'Ethiopia':\n return 'ET';\n case 'Falkland Islands':\n return 'FK';\n case 'Fiji':\n return 'FJ';\n case 'Finland':\n return 'FI';\n case 'France':\n return 'FR';\n case 'French Guiana':\n return 'GF';\n case 'French Polynesia':\n return 'PF';\n case 'Gabon':\n return 'GA';\n case 'Gambia':\n return 'GM';\n case 'Georgia':\n return 'GE';\n case 'Germany':\n return 'DE';\n case 'Ghana':\n return 'GH';\n case 'Gibraltar':\n return 'GI';\n case 'Greece':\n return 'GR';\n case 'Grenada':\n return 'GD';\n case 'Guadeloupe':\n return 'GP';\n case 'Guatemala':\n return 'GT';\n case 'Guinea':\n return 'GN';\n case 'Guinea-Bissau':\n return 'GW';\n case 'Guyana':\n return 'GY';\n case 'Haiti':\n return 'HT';\n case 'Honduras':\n return 'HN';\n case 'Hong Kong (China)':\n return 'HK';\n case 'Hungary':\n return 'HU';\n case 'Iceland':\n return 'IS';\n case 'India':\n return 'IN';\n case 'Indonesia':\n return 'ID';\n case 'Iran':\n return 'IR';\n case 'Iraq':\n return 'IQ';\n case 'Ireland':\n return 'IE';\n case 'Israel':\n return 'IL';\n case 'Italy':\n return 'IT';\n case 'Jamaica':\n return 'JM';\n case 'Japan':\n return 'JP';\n case 'Jordan':\n return 'JO';\n case 'Kazakhstan':\n return 'KZ';\n case 'Kenya':\n return 'KE';\n case 'Korea (North)':\n return 'KP';\n case 'Korea (South)':\n return 'KR';\n case 'Kuwait':\n return 'KW';\n case 'Kyrgyzstan':\n return 'KG';\n case 'Laos':\n return 'LA';\n case 'Latvia':\n return 'LV';\n case 'Lebanon':\n return 'LB';\n case 'Lesotho':\n return 'LS';\n case 'Liberia':\n return 'LR';\n case 'Libyan Arab Jamahiriya':\n return 'LY';\n case 'Liechtenstein':\n return 'LI';\n case 'Lithuania':\n return 'LT';\n case 'Luxembourg':\n return 'LU';\n case 'Macao':\n return 'MO';\n case 'Macedonia':\n return 'MK';\n case 'Madagascar':\n return 'MG';\n case 'Malawi':\n return 'MW';\n case 'Maldives':\n return 'MV';\n case 'Mali':\n return 'ML';\n case 'Malta':\n return 'MT';\n case 'Marshall Islands':\n return 'MH';\n case 'Martinique':\n return 'MQ';\n case 'Mauritania':\n return 'MR';\n case 'Mauritius':\n return 'MU';\n case 'Mayotte':\n return 'YT';\n case 'Mexico':\n return 'MX';\n case 'Micronesia, Federated States of':\n return 'FM';\n case 'Moldova':\n return 'MD';\n case 'Monaco':\n return 'MC';\n case 'Mongolia':\n return 'MN';\n case 'Montserrat':\n return 'MS';\n case 'Morocco':\n return 'MA';\n case 'Mozambique':\n return 'MZ';\n case 'Myanmar':\n return 'MM';\n case 'Namibia':\n return 'NA';\n case 'Nauru':\n return 'NR';\n case 'Nepal':\n return 'NP';\n case 'Netherlands':\n return 'NL';\n case 'Netherlands Antilles':\n return 'AN';\n case 'New Caledonia':\n return 'NC';\n case 'New Zealand':\n return 'NZ';\n case 'Nicaragua':\n return 'NI';\n case 'Niger':\n return 'NE';\n case 'Nigeria':\n return 'NG';\n case 'Norway':\n return 'NO';\n case 'Oman':\n return 'OM';\n case 'Others':\n return '00';\n case 'Pakistan':\n return 'PK';\n case 'Palau':\n return 'PW';\n case 'Palestinian Territory':\n return 'PS';\n case 'Panama':\n return 'PA';\n case 'Papua New Guinea':\n return 'PG';\n case 'Paraguay':\n return 'PY';\n case 'Peru':\n return 'PE';\n case 'Philippines':\n return 'PH';\n case 'Pitcairn Islands':\n return 'PN';\n case 'Poland':\n return 'PL';\n case 'Portugal':\n return 'PT';\n case 'Qatar':\n return 'QA';\n case 'Reunion':\n return 'RE';\n case 'Romania':\n return 'RO';\n case 'Russia Federation':\n return 'RU';\n case 'Rwanda':\n return 'RW';\n case 'Saint Helena':\n return 'SH';\n case 'Saint Kitts and Nevis':\n return 'KN';\n case 'Saint Lucia':\n return 'LC';\n case 'Saint Pierre and Miquelon':\n return 'PM';\n case 'Saint Vincent and the Grenadines':\n return 'VC';\n case 'Samoa':\n return 'WS';\n case 'San Marino':\n return 'SM';\n case 'Sao Tome and Principe':\n return 'ST';\n case 'Saudi Arabia':\n return 'SA';\n case 'Senegal':\n return 'SN';\n case 'Serbia and Montenegro':\n return 'CS';\n case 'Seychelles':\n return 'SC';\n case 'Sierra Leone':\n return 'SL';\n case 'Slovakia':\n return 'SK';\n case 'Slovenia':\n return 'SI';\n case 'Solomon Islands':\n return 'SB';\n case 'Somalia':\n return 'SO';\n case 'South Africa':\n return 'ZA';\n case 'Spain':\n return 'ES';\n case 'Sri Lanka':\n return 'LK';\n case 'St. Helena':\n return 'SH';\n case 'St. Kitts and Nevis':\n return 'KN';\n case 'St. Lucia':\n return 'LC';\n case 'St. Pierre and Miquelon':\n return 'PM';\n case 'Sudan':\n return 'SD';\n case 'Suriname':\n return 'SR';\n case 'Swaziland':\n return 'SZ';\n case 'Sweden':\n return 'SE';\n case 'Switzerland':\n return 'CH';\n case 'Syria':\n return 'SY';\n case 'Taiwan':\n return 'TW';\n case 'Tajikistan':\n return 'TJ';\n case 'Tanzania':\n return 'TZ';\n case 'Thailand':\n return 'TH';\n case 'Timor-Leste':\n return 'TL';\n case 'Togo':\n return 'TG';\n case 'Tonga':\n return 'TO';\n case 'Trinidad and Tobago':\n return 'TT';\n case 'Tunisia':\n return 'TN';\n case 'Turkey':\n return 'TR';\n case 'Turkmenistan':\n return 'TM';\n case 'Turks and Caicos Islands':\n return 'TC';\n case 'Tuvalu':\n return 'TV';\n case 'Uganda':\n return 'UG';\n case 'Ukraine':\n return 'UA';\n case 'United Arab Emirates':\n return 'AE';\n case 'United Kingdom':\n return 'GB';\n case 'United States':\n return 'US';\n case 'Uruguay':\n return 'UY';\n case 'Uzbekistan':\n return 'UZ';\n case 'Vanuatu':\n return 'VU';\n case 'Venezuela':\n return 'VE';\n case 'Vietnam':\n return 'VN';\n case 'Wallis and Futuna Islands':\n return 'WF';\n case 'Western Sahara':\n return 'EH';\n case 'Yemen':\n return 'YE';\n case 'Zaire (former)':\n return 'ZR';\n case 'Zambia':\n return 'ZM';\n case 'Zimbabwe':\n return 'ZW';\n case 'Others':\n return '00';\n default:\n return nationality;\n }\n}\n\nexport function getGenderShortForm(gender) {\n switch (gender) {\n case 'Male':\n return 'M';\n case 'Female':\n return 'F';\n default:\n return 'Other';\n }\n}\n\n//input '8A', output 'A8'\nexport function getSeatCode(code = '8A', X, Y, arr_length) {\n var checkHaveLetter = /\\p{L}/u.test(code);\n if (code.includes('.')) {\n return code;\n }\n if (checkHaveLetter) {\n var arr = code.split('');\n if (/\\p{L}/u.test(arr[0]) == true) {\n return code;\n }\n var newSeatCode = arr[1] + arr[0];\n if (arr.length > 2) {\n newSeatCode = arr[2] + arr[0] + arr[1];\n }\n return newSeatCode;\n } else {\n if (arr_length > 4) {\n return code;\n } else {\n var Letter = getSeatLetterByNumber(X);\n var newSeatCode = Letter + Y;\n return newSeatCode;\n }\n }\n}\n\nexport function setSelectedAddOnData(addOn_Data) {\n var previous_selected = getSelectedAddOnData();\n // console.log(addOn_Data);\n if (addOn_Data != null) {\n if (previous_selected != null) {\n var allSelected = previous_selected.concat(addOn_Data);\n localStorage.setItem('selected_addon_data', JSON.stringify(allSelected));\n } else {\n localStorage.setItem('selected_addon_data', JSON.stringify(addOn_Data));\n }\n }\n}\n\nexport function getSelectedAddOnData() {\n if (\n localStorage.getItem('selected_addon_data') != null &&\n localStorage.getItem('selected_addon_data') != 'undefined'\n ) {\n var addOnData = JSON.parse(localStorage.getItem('selected_addon_data'));\n return addOnData;\n } else return null;\n}\n\nexport function deleteSelectedAddOnData(index) {\n if (\n localStorage.getItem('selected_addon_data') != null &&\n localStorage.getItem('selected_addon_data') != 'undefined'\n ) {\n var addOnData = JSON.parse(localStorage.getItem('selected_addon_data'));\n // console.log(index);\n // console.log(addOnData);\n if (index > -1) {\n //Make sure item is present in the array, without if condition, -n indexes will be considered from the end of the array.\n addOnData.splice(index, 1);\n localStorage.setItem('selected_addon_data', JSON.stringify(addOnData));\n }\n // console.log(addOnData);\n }\n // console.log(getSelectedAddOnData());\n}\n\nexport function getSelectedAddOnSession() {\n var addon_data = getSelectedAddOnData();\n let addon_session = [];\n if (addon_data != null || addon_data != []) {\n addon_data.forEach((element) => {\n addon_session.push(element.sessionid);\n });\n }\n return addon_session;\n}\n\nexport function calculateAddOnSubPrice(price = 0, qty = 1) {\n var subprice = price * qty;\n // setTotalAddOnPrice(subprice);\n return subprice;\n}\n\nexport function setTotalAddOnPrice(price) {\n // console.log(price);\n var previous_total = getTotalAddOnPrice();\n // console.log(previous_total);\n var new_total = previous_total + price;\n // console.log(new_total);\n localStorage.setItem('totalAddOn', JSON.stringify(new_total));\n}\n\nexport function getTotalAddOnPrice() {\n var total = localStorage.getItem('totalAddOn');\n // console.log(total);\n if (total != 0 && total != null) {\n total = JSON.parse(localStorage.getItem('totalAddOn'));\n // console.log(total);\n return total;\n } else return 0;\n}\n\nexport function clearAllLocalStorageExceptLogin() {\n localStorage.removeItem('addOnSession');\n localStorage.removeItem('selected_addon_data');\n}\n\nexport function getAddOnTicketType(package_display_name) {\n if (package_display_name.includes('Adult')) {\n return '- Adult';\n } else if (package_display_name.includes('Child')) {\n return '- Child (4-12)';\n } else if (package_display_name.includes('Senior')) {\n return '- Senior (60+)';\n } else return package_display_name;\n}\n\nexport function checkIsReschedule() {\n let origin_data = sessionStorage.getItem('Origin_data');\n if (origin_data != null) {\n origin_data = JSON.parse(origin_data);\n if (origin_data.reschedule === true) {\n return true;\n } else return false;\n }\n return false;\n}\n\nconst secretKey = process.env.REACT_APP_KEY_SECRET;\n\nexport const encryptData = (data) => {\n return CryptoJS.AES.encrypt(JSON.stringify(data), secretKey).toString();\n};\n\nexport const decryptData = (cipherText) => {\n const bytes = CryptoJS.AES.decrypt(cipherText, secretKey);\n return JSON.parse(bytes.toString(CryptoJS.enc.Utf8));\n};\n\nconst originalSetItem = sessionStorage.setItem;\nsessionStorage.setItem = function (key, value) {\n const encryptedValue = CryptoJS.AES.encrypt(\n JSON.stringify(value),\n secretKey\n ).toString();\n originalSetItem.call(sessionStorage, key, encryptedValue);\n};\n\nconst originalGetItem = sessionStorage.getItem;\nsessionStorage.getItem = function (key) {\n const encryptedValue = originalGetItem.call(sessionStorage, key);\n if (!encryptedValue) return null;\n try {\n const bytes = CryptoJS.AES.decrypt(encryptedValue, secretKey);\n\n return JSON.parse(bytes.toString(CryptoJS.enc.Utf8));\n } catch (error) {\n console.error('Decryption error:', error);\n return null;\n }\n};\n","import React, { useState } from 'react';\nimport Row from 'react-bootstrap/esm/Row';\nimport Modal from 'react-bootstrap/Modal';\nimport './LoadingScreenModal.css';\n\nexport const LoadingScreenModal = ({\n \n}) => {\n const [show, setShow] = useState(true);\n return (\n <>\n setShow(false)}\n dialogClassName=\"modal-90w\"\n aria-labelledby=\"LoadingScreenModal\"\n animation={false}\n backdrop=\"static\"\n keyboard={false}\n >\n \n \n \"Loading\n \n \n \n \n );\n}\n\n\n","import React, { useContext, useState } from 'react';\nimport Col from 'react-bootstrap/esm/Col';\nimport Row from 'react-bootstrap/esm/Row';\nimport Form from 'react-bootstrap/Form';\nimport Modal from 'react-bootstrap/Modal';\nimport { BusFareAddOnContext, BusFareDepartContext, BusFareReturnContext, LoyaltyDiscountContext, TotalBusFareContext } from '../UserContext';\nimport { setUserToken, setUserTokenExpiry, calculateLoyaltyPointsToEarn, getToken, getUserData, setLoginStatus, tokenIsValid } from './Function';\nimport { LoadingScreenModal } from './LoadingScreenModal';\nimport './LoginSignUpModal.css';\nimport { useSearchParams } from 'react-router-dom';\n\nexport const LoginSignUpModal = ({\n\n}) => {\n\tconst SERVER_URL = process.env.REACT_APP_SERVER_URL;\n\tconst [showPassportFields, setShowPassportFields] = React.useState(false)\n\tconst [searchParams, setSearchParams] = useSearchParams();\n\tconst ucf = searchParams.get(\"ucf\");\n\tconst [form, setForm] = useState({})\n\tconst [sign_up_form, setSignUpForm] = useState({})\n\tconst [errors, setErrors] = useState({})\n\tconst [signup_errors, setSignUpErrors] = useState({})\n\tconst [show, setShow] = useState(true);\n\tconst [step, setStep] = useState('1');\n\tconst [isForgotPassword, setIsForgotPassword] = useState(false);\n\tconst [forgotPasswordEmail, setForgotPasswordEmail] = useState(null);\n\tconst [resetEmail, setResetEmail] = useState(null);\n\tconst [signUpstep, setSignUpStep] = useState('1');\n\tconst [userData, setUserData] = useState(getUserData());\n\tconst [data, setData] = useState(null);\n\tconst [login, setLogin] = React.useState(false);\n\tconst [loading, setLoading] = useState(false);\n\tconst [error, setError] = useState(null);\n\tconst token = getToken();\n\tlet { TotalBusFare, setTotalBusFare } = useContext(TotalBusFareContext);\n\tlet { BusFareAddOn, setBusFareAddOn } = useContext(BusFareAddOnContext);\n\tlet total_addOn = 0;\n\tBusFareAddOn.forEach(element => {\n\t\ttotal_addOn += element.sub_totalPrice;\n\t});\n\tconst { BusFareDepart, setBusFareDepart } = useContext(BusFareDepartContext);\n\tconst { BusFareReturn, setBusFareReturn } = useContext(BusFareReturnContext);\n\tconst { TotalLoyalty, setLoyalty } = useContext(LoyaltyDiscountContext);\n\tTotalBusFare = TotalBusFare + BusFareDepart + BusFareReturn + total_addOn - TotalLoyalty;\n\tconst earn_points = calculateLoyaltyPointsToEarn(TotalBusFare);\n\n\tconst passwordReset_API_URL = `${SERVER_URL}/user/resetpassword`;\n\tconst passwordReset_requestOptions = {\n\t\tmethod: 'POST',\n\t\theaders: {\n\t\t\t'Content-Type': 'application/json',\n\t\t\t'Authorization': token\n\t\t},\n\t\tbody: JSON.stringify({\n\t\t\t\"Email\": forgotPasswordEmail\n\t\t})\n\t};\n\n\tconst resetPasswordAPI = async () => {\n\t\ttry {\n\t\t\tconst resetPassword_response = await fetch(\n\t\t\t\tpasswordReset_API_URL, passwordReset_requestOptions\n\t\t\t);\n\t\t\tif (!resetPassword_response.ok) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`This is an HTTP error: The status is ${resetPassword_response.status}`\n\t\t\t\t);\n\t\t\t}\n\t\t\tsetIsForgotPassword(false)\n\t\t\tsetStep('2');\n\t\t} catch (err) {\n\t\t\talert(\"Error, Please Try Again Later\")\n\t\t}\n\t}\n\n\tfunction forgotPasswordVerification(forgot_password_email) {\n\t\tif ((/^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/.test(forgot_password_email)) == false) {\n\t\t\talert(\"Please enter your email in format: yourname@example.com\");\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\tfunction resetPassword() {\n\t\tconst verification = forgotPasswordVerification(forgotPasswordEmail);\n\t\tif (verification) {\n\t\t\ttokenIsValid();\n\t\t\tsetResetEmail(forgotPasswordEmail);\n\t\t\tresetPasswordAPI();\n\t\t}\n\t}\n\n\tfunction checkLoginStatus() {\n\t\treturn login;\n\t}\n\n\tfunction verifyUser(email, password) {\n\t\t// setLoading(true);\n\t\tconst friendsAndFamilyData = [];\n\t\t//fetch api, get user data, verify user\n\t\tconst user_data_api_url = `${SERVER_URL}/user/profile/${email}`;\n\n\t\tconst getUserData = async () => {\n\t\t\ttry {\n\t\t\t\tconst user_data_response = await fetch(\n\t\t\t\t\tuser_data_api_url,\n\t\t\t\t\t{\n\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t'Authorization': getToken()\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\tif (!user_data_response.ok) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`This is an HTTP error: The status is ${user_data_response.status}`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tlet myUserData = await user_data_response.json();\n\t\t\t\tsetUserData(myUserData);\n\t\t\t\tsetError(null);\n\n\t\t\t\tlocalStorage.setItem(\"userData\", JSON.stringify(myUserData));\n\t\t\t\tlocalStorage.setItem(\"primaryEmail\", JSON.stringify(email));\n\n\t\t\t\t// localStorage.setItem(\"primaryPassword\", JSON.stringify(password));\n\t\t\t\t// localStorage.setItem(\"userLoyaltyData\", JSON.stringify(userLoyaltyData));\n\t\t\t\tlocalStorage.setItem(\"friendsAndFamilyData\", JSON.stringify(friendsAndFamilyData));\n\t\t\t\t// console.log(myUserData);\n\t\t\t\t// console.log(user_data_response);\n\t\t\t} catch (err) {\n\t\t\t\t// alert(err.message);\n\t\t\t\tsetLogin(false);\n\t\t\t\tsetError(err.message);\n\t\t\t}\n\t\t}\n\t\tgetUserData();\n\n\t\t//fetch api, verify user\n\t\tconst login_api_url = `${SERVER_URL}/user/login`;\n\n\t\tconst login_requestOptions = {\n\t\t\tmethod: 'POST',\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t'Authorization': getToken()\n\t\t\t},\n\t\t\tbody: JSON.stringify({\n\t\t\t\t\"Email\": email,\n\t\t\t\t\"Password\": password\n\t\t\t})\n\t\t};\n\n\t\t// console.log(login_requestOptions)\n\t\tconst userLoginStatus = async () => {\n\t\t\ttry {\n\t\t\t\tconst login_response = await fetch(\n\t\t\t\t\tlogin_api_url, login_requestOptions\n\t\t\t\t);\n\n\t\t\t\t// console.dir(login_response);\n\t\t\t\tif (!login_response.ok) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`This is an HTTP error: The status is ${login_response.status}`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tlet loginResponse = await login_response.json();\n\n\t\t\t\t\tif (loginResponse.isfirsttimelogin == false) {\n\t\t\t\t\t\tsetLogin(true);\n\t\t\t\t\t\tsetLoginStatus(true);\n\t\t\t\t\t\tsetError(null);\n\t\t\t\t\t\tsetErrors(null);\n\n\t\t\t\t\t\t// console.dir(loginResponse);\n\t\t\t\t\t\t// alert(\"login successful\")\n\n\t\t\t\t\t\tlocalStorage.setItem(\"login\", JSON.stringify(true));\n\n\t\t\t\t\t\tsetUserToken(loginResponse.token.access_token)\n\t\t\t\t\t\tsetUserTokenExpiry(loginResponse.token.expires_in)\n\n\t\t\t\t\t\tlocalStorage.setItem(\"primaryEmail\", JSON.stringify(email));\n\t\t\t\t\t\t// if (form) {\n\t\t\t\t\t\t// \tlocalStorage.setItem(\"primaryEmail\", JSON.stringify(form.signin_email));\n\t\t\t\t\t\t// }\n\n\t\t\t\t\t\t// console.log(ucf)\n\t\t\t\t\t\tif (ucf == 'https://www.causewaylink.com.my/' && loginResponse.token.access_token) {\n\t\t\t\t\t\t\twindow.location.href = \"https://www.causewaylink.com.my/\" + `?key=${loginResponse.token.access_token}&expiry=${loginResponse.token.expires_in}`;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t// localStorage.setItem(\"primaryPassword\", JSON.stringify(form.signin_password));\n\t\t\t\t\t\t\tsetShow(false);\n\t\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\n\t\t\t\t\t\tif (form) {\n\t\t\t\t\t\t\tsetResetEmail(form?.signin_email);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsetStep('2');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\tconsole.log(err);\n\t\t\t\tsetErrors({ \"signin_email\": \"Invalid Username or Password\" })\n\t\t\t\tsetLogin(false);\n\t\t\t} finally {\n\t\t\t\tsetLoading(false);\n\t\t\t}\n\t\t}\n\t\tuserLoginStatus();\n\n\t}\n\n\tfunction verifyUserIC(ic) {\n\t\tif (ic === userData.ic) {\n\t\t\treturn true;\n\t\t}\n\t\telse return false;\n\t}\n\n\tconst setField = (field, value) => {\n\t\tsetForm({\n\t\t\t...form,\n\t\t\t[field]: value\n\t\t})\n\t\t// Check and see if errors exist, and remove them from the error object:\n\t\tif (!!errors[field]) setErrors({\n\t\t\t...errors,\n\t\t\t[field]: null\n\t\t})\n\t}\n\n\tconst findFormErrors = () => {\n\t\tconst { signin_email, signin_password } = form\n\t\tconst newErrors = {}\n\n\t\tif (!signin_email || signin_email === '') newErrors.signin_email = 'Email is required'\n\t\telse if (!signin_password || signin_password === '') newErrors.signin_password = 'Password is required'\n\n\t\treturn newErrors\n\t}\n\n\tconst handleSubmit = e => {\n\t\tlocalStorage.removeItem(\"login\");\n\t\tlocalStorage.removeItem(\"userData\");\n\t\tlocalStorage.removeItem(\"primaryEmail\");\n\t\t// localStorage.removeItem(\"primaryPassword\");\n\t\tlocalStorage.removeItem(\"userLoyaltyData\");\n\t\tlocalStorage.removeItem(\"friendsAndFamilyData\");\n\t\t// get our new errors\n\t\tconst newErrors = findFormErrors()\n\n\t\tif (Object.keys(newErrors).length > 0) {\n\t\t\te.preventDefault()\n\t\t\t// We got errors!\n\t\t\tsetErrors(newErrors)\n\t\t} else {\n\t\t\ttokenIsValid();\n\n\t\t\tif (form) {\n\t\t\t\tverifyUser(form.signin_email, form.signin_password);\n\t\t\t}\n\t\t}\n\t}\n\n\n\tfunction returnToSignIn() {\n\t\tsetStep('1');\n\t\tsetField('signin_email', null)\n\t\tsetField('signin_password', null)\n\t\tsetResetEmail(null)\n\t}\n\n\tconst findFormErrors2 = () => {\n\t\tconst { signin_ic } = form\n\t\tconst newErrors = {}\n\t\tif (!signin_ic || signin_ic === '') newErrors.signin_ic = 'ic/passport cannot be blank!'\n\n\t\treturn newErrors\n\t}\n\n\tconst handleSubmit2 = e => {\n\t\t// get our new errors\n\t\tconst newErrors = findFormErrors2()\n\t\t// Conditional logic:\n\t\tif (Object.keys(newErrors).length > 0) {\n\t\t\te.preventDefault()\n\t\t\t// We got errors!\n\t\t\tsetErrors(newErrors)\n\t\t} else {\n\t\t\tconst verifyIC = verifyUserIC(form.signin_ic);\n\t\t\tif (verifyIC) {\n\t\t\t\tlocalStorage.setItem(\"login\", JSON.stringify(true));\n\t\t\t\tsetShow(false);\n\t\t\t\t// window.location.reload();\n\t\t\t}\n\t\t\telse {\n\t\t\t\tsetErrors({ \"signin_ic\": \"Invalid IC/Passport!\" })\n\t\t\t}\n\t\t}\n\t}\n\n\tconst setSignUpField = (field, value) => {\n\t\tsetSignUpForm({\n\t\t\t...sign_up_form,\n\t\t\t[field]: value\n\t\t})\n\t\t// Check and see if errors exist, and remove them from the error object:\n\t\tif (!!signup_errors[field]) setSignUpErrors({\n\t\t\t...signup_errors,\n\t\t\t[field]: null\n\t\t})\n\t}\n\t// console.log(sign_up_form);\n\n\tconst findFormErrorsSignUp = () => {\n\t\tconst { signup_email, signup_ic, signup_password, signup_cfm_password, signup_passport, signup_passport_expiry } = sign_up_form\n\t\tconst newErrors = {}\n\t\tif (!signup_email || signup_email === '') newErrors.signup_email = 'email cannot be blank!'\n\t\telse if ((/^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/.test(signup_email)) == false) newErrors.signup_email = 'Please enter your email in format: yourname@example.com'\n\t\t// else if ( showPassportFields == false && !signup_ic || signup_ic === '' ) newErrors.signup_ic = 'ic cannot be blank!'\n\t\t// else if ( showPassportFields == true && !signup_passport || signup_passport === '' ) newErrors.signup_passport = 'passport cannot be blank!'\n\t\t// else if ( showPassportFields == true && !signup_passport_expiry || signup_passport_expiry === '' ) newErrors.signup_passport_expiry = 'passport_expiry cannot be blank!'\n\t\telse if (!signup_password || signup_password === '') newErrors.signup_password = 'password cannot be blank!'\n\t\telse if (!signup_cfm_password || signup_cfm_password === '') newErrors.signup_cfm_password = 'password cannot be blank!'\n\t\telse if (signup_password !== signup_cfm_password) newErrors.signup_cfm_password = 'confirm password must be same as password!'\n\t\telse if (signup_cfm_password.length < 6) newErrors.signup_cfm_password = 'Password must be at least 6 characters!'\n\n\t\treturn newErrors\n\t}\n\n\tconst handleSignUp = e => {\n\t\ttokenIsValid()\n\n\t\t// get our new errors\n\t\tconst newErrors = findFormErrorsSignUp()\n\t\t// Conditional logic:\n\t\tif (Object.keys(newErrors).length > 0) {\n\t\t\te.preventDefault()\n\t\t\t// We got errors!\n\t\t\tsetSignUpErrors(newErrors)\n\t\t} else {\n\t\t\tsetLogin(true);\n\t\t\tconst register_API_url = `${SERVER_URL}/user/register`;\n\t\t\t//call API to save data into db\n\n\t\t\tconst register_requestOptions = {\n\t\t\t\tmethod: 'POST',\n\t\t\t\theaders: {\n\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t'Authorization': getToken()\n\t\t\t\t},\n\t\t\t\tbody: JSON.stringify({\n\t\t\t\t\t\"Email\": sign_up_form.signup_email,\n\t\t\t\t\t\"Password\": sign_up_form.signup_password,\n\t\t\t\t\t\"ConfirmPassword\": sign_up_form.signup_cfm_password,\n\t\t\t\t})\n\t\t\t};\n\t\t\tconst memberRegister = async () => {\n\t\t\t\ttry {\n\t\t\t\t\tconst register_response = await fetch(\n\t\t\t\t\t\tregister_API_url, register_requestOptions\n\t\t\t\t\t);\n\t\t\t\t\tlet userRegisterData = await register_response.json();\n\t\t\t\t\tif (!register_response.ok) {\n\t\t\t\t\t\talert(userRegisterData.message);\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t`This is an HTTP error: The status is ${register_response.status}`\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tsetData(userRegisterData);\n\t\t\t\t\tsetError(null);\n\t\t\t\t\t// console.log(userRegisterData);\n\n\t\t\t\t\tif (userRegisterData.status === 1) {\n\t\t\t\t\t\tsetSignUpStep('1');\n\t\t\t\t\t\talert(\"Registration successful, please proceed to login.\")\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\talert(userRegisterData.message);\n\t\t\t\t\t}\n\t\t\t\t} catch (err) {\n\t\t\t\t\tsetError(err.message);\n\t\t\t\t\tsetData(null);\n\t\t\t\t} finally {\n\t\t\t\t\tsetLoading(false);\n\t\t\t\t}\n\t\t\t}\n\t\t\tmemberRegister();\n\t\t}\n\t}\n\t// console.log(signup_errors);\n\n\tfunction signInStep1() {\n\t\tfindFormErrors();\n\t}\n\treturn (\n\t\t<>\n\t\t\t{loading &&
\n\t\t\t\t\n\t\t\t
}\n\t\t\t setShow(false)}\n\t\t\t\tdialogClassName=\"modal-90w height-600\"\n\t\t\t\taria-labelledby=\"LoginSignUpModal\"\n\n\t\t\t>\n\t\t\t\t{signUpstep == '1' ?\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t

Sign Up now and get

\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t
  • Loyalty points
  • \n\t\t\t\t\t\t\t\t\t\t\t
  • Limited special offers
  • \n\t\t\t\t\t\t\t\t\t\t\t
  • Best last minute deals
  • \n\t\t\t\t\t\t\t\t\t\t\t
  • Travel deals
  • \n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{step == '1' ?\n\t\t\t\t\t\t\t\t\tisForgotPassword == false ?\n\t\t\t\t\t\t\t\t\t\t//normal signin mode\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t

Log In

\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t

Do you have an account ? Sign in to collect {earn_points.toFixed()} points now

\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tEmail\n\t\t\t\t\t\t\t\t\t\t\t\t\t setField('signin_email', e.target.value)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisInvalid={!!errors?.signin_email}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{errors?.signin_email}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tPassword\n\t\t\t\t\t\t\t\t\t\t\t\t\t setField('signin_password', e.target.value)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisInvalid={!!errors?.signin_password}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{errors?.signin_password}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t
{ setIsForgotPassword(true); setForgotPasswordEmail(null) }}>Forgot Password?\n\t\t\t\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\t\t\t
Give up your reward points? setShow(false)} className='close' aria-label='Close'>Proceed as guest here.
\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t\t\t//forgot password field\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t

Forgot Password

\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tEmail\n\t\t\t\t\t\t\t\t\t\t\t\t\t setForgotPasswordEmail(e.target.value)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t
Give up your reward points? setShow(false)} className='close' aria-label='Close'>Proceed as guest here.
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t\t//step = '2'\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{/*
Welcome back,
*/}\n\t\t\t\t\t\t\t\t\t\t\t

Reset your password

\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t

An Email has been sent to

\n\t\t\t\t\t\t\t\t\t\t\t

{resetEmail}

\n\t\t\t\t\t\t\t\t\t\t\t

Please check your inbox for the reset link.

\n\n\t\t\t\t\t\t\t\t\t\t\t

Unable to verify your account?

\n\t\t\t\t\t\t\t\t\t\t\t

Send us an email at feedback@causewaylink.com.my for assistance.

\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\t\t
Give up your reward points? setShow(false)} className='close' aria-label='Close'>Proceed as guest here.
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t:\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t

Already a member?

\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t

Sign Up

\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tEmail\n\t\t\t\t\t\t\t\t\t\t\t setSignUpField('signup_email', e.target.value)}\n\t\t\t\t\t\t\t\t\t\t\t\tisInvalid={!!signup_errors.signup_email}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{signup_errors.signup_email}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\n\n\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tPassword\n\t\t\t\t\t\t\t\t\t\t\t

* 6- 30 characters, no spaces

\n\t\t\t\t\t\t\t\t\t\t\t setSignUpField('signup_password', e.target.value)}\n\t\t\t\t\t\t\t\t\t\t\t\tisInvalid={!!signup_errors.signup_password}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{signup_errors.signup_password}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tConfirm password \n\t\t\t\t\t\t\t\t\t\t\t

* 6- 30 characters, no spaces

\n\t\t\t\t\t\t\t\t\t\t\t setSignUpField('signup_cfm_password', e.target.value)}\n\t\t\t\t\t\t\t\t\t\t\t\tisInvalid={!!signup_errors.signup_cfm_password}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{signup_errors.signup_cfm_password}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t}\n\t\t\t\n\t\t\n\t);\n}\n","import React, { useContext, useState, useEffect } from 'react';\nimport Dropdown from 'react-bootstrap/Dropdown';\nimport Row from 'react-bootstrap/esm/Row';\nimport Form from 'react-bootstrap/Form';\nimport { LoyaltyDiscountContext, LoyaltyIDContext, VoucherCodeContext, VoucherDiscountContext, VoucherCodeAirlineContext } from '../UserContext';\nimport { getToken, loyaltyPriceToPoints, tokenIsValid } from './Function';\nimport './LoyaltyDiscount.css';\n\nexport const LoyaltyDiscount = ({\n\tmanjaRewards = 0,\n\tprimary_guest_email,\n\tdeparture,\n\tdestination,\n\tdepart_date,\n\treturn_date,\n\tbus_fare,\n\tno_of_pax,\n\n\tdepart_trip_key,\n\treturn_trip_key,\n\n\tlogin\n}) => {\n\n\n\n\tconst SERVER_URL = process.env.REACT_APP_SERVER_URL;\n\tconst { LoyaltyID, setLoyaltyID } = useContext(LoyaltyIDContext);\n\tconst { TotalLoyalty, setLoyalty } = useContext(LoyaltyDiscountContext);\n\n\t// const [EnterVoucherCode, setUserEnterVoucherCode] = useState(null);\n\tconst { VoucherCode, setVoucherCode } = useContext(VoucherCodeContext);\n\tconst { VoucherDiscount, setVoucherDiscount } = useContext(VoucherDiscountContext);\n\tconst { VoucherCodeAirlineNo, setVoucherCodeAirlineNo } = useContext(VoucherCodeAirlineContext);\n\n\n\tconst currency = JSON.parse(localStorage.getItem(\"currency\"));\n\tconst email = JSON.parse(localStorage.getItem(\"primaryEmail\"));\n\n\tconst [suggestedVouchers, setSuggestedVouchers] = useState([]);\n\tconst [isDropdownVisible, setDropdownVisible] = useState(false);\n\n\n\t// console.log(VoucherDiscount)\n\tfunction loyalty(value, element) {\n\t\tconst id = element.getAttribute('id');\n\t\tsetLoyalty(value);\n\t\tsetLoyaltyID(id);\n\t\tsetVoucherCode(null);\n\t\tsetVoucherDiscount(0);\n\t\tsetVoucherCodeAirlineNo(null);\n\n\t\tvar points = loyaltyPriceToPoints(value);\n\t}\n\n\n\n\tuseEffect(() => {\n\t\tconsole.log(`VoucherCodeAirlineNo=${VoucherCodeAirlineNo}`);\n\t}, [VoucherCodeAirlineNo]); // This will trigger whenever airline_details changes\n\n\n\n\tfunction changeCurrencyNaming(curr) {\n\t\tswitch (curr) {\n\t\t\tcase 'MYR': return 'RM';\n\t\t\tdefault: return curr;\n\t\t}\n\t}\n\n\n\n\tconst fetchVoucherCodes = async () => {\n\t\ttry {\n\t\t\tconst response = await fetch(\n\t\t\t\t`${SERVER_URL}/voucher/email/${email}`,\n\t\t\t\t{\n\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t\t'Authorization': getToken(),\n\t\t\t\t\t},\n\t\t\t\t\tbody: JSON.stringify({\n\t\t\t\t\t\tDeparture: departure,\n\t\t\t\t\t\tDestination: destination,\n\t\t\t\t\t\tDepartureDate: depart_date,\n\t\t\t\t\t\tReturnDate: return_date,\n\t\t\t\t\t\tBusFare: bus_fare,\n\t\t\t\t\t\tNoOfPax: no_of_pax\n\t\t\t\t\t}),\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tif (response.ok) {\n\t\t\t\tlet data = await response.json();\n\t\t\t\tsetSuggestedVouchers(data); // Assuming the response contains a list of vouchers\n\t\t\t\t// let errorData = await response.json();\n\t\t\t\t// throw new Error(errorData.msg || `HTTP error: Status ${response.status}`);\n\t\t\t\t// console.log(`Voucher Len = ${data.length}`);\n\t\t\t\tif (data.length === 1) {\n\t\t\t\t\t// \t// If only one voucher, set it and trigger the apply functionality\n\t\t\t\t\tconst singleVoucher = data[0].vouchercode;\n\t\t\t\t\tsetVoucherCode(singleVoucher);\n\t\t\t\t\tcheckVoucherCode(singleVoucher);\n\t\t\t\t}\n\t\t\t}\n\n\t\t} catch (error) {\n\t\t\tconsole.error('Error fetching voucher codes:', error);\n\t\t}\n\t};\n\n\n\tconst getPromoHeading = () => {\n\t\treturn suggestedVouchers.length > 0\n\t\t\t? `You have ( ${suggestedVouchers.length} ) promo code ready to use`\n\t\t\t: 'Do you have a promo code?';\n\t};\n\n\tconst handleInputFocus = () => {\n\t\tfetchVoucherCodes(); // Fetch voucher codes when the input is focused\n\t\tsetDropdownVisible(true);\n\t};\n\n\tconst handleVoucherSelect = (voucher) => {\n\t\tsetVoucherCode(voucher); // Set the selected voucher\n\t\tsetDropdownVisible(false); // Hide dropdown after selection\n\t};\n\n\n\tconst handleVoucherInputChange = (value) => {\n\t\tsetVoucherCode(value); // Allow manual voucher entry\n\t\tsetDropdownVisible(true); // Show dropdown while user types\n\n\n\t};\n\n\tconst handleVoucherExtraInputChange = (value) => {\n\t\tsetVoucherCodeAirlineNo(value);\n\t}\n\n\n\n\t// Hide dropdown when input field loses focus\n\tconst handleInputBlur = () => {\n\t\tsetTimeout(() => setDropdownVisible(false), 200); // Delay hiding to allow click event on dropdown item\n\n\n\n\t};\n\n\n\tconst checkVoucherCode = (voucher) => {\n\t\ttokenIsValid();\n\t\tconst el = document.getElementById('invalidCode');\n\t\tconst el2 = document.getElementById('invalidCurrency');\n\t\tel.classList.add('hidden');\n\t\tel2.classList.add('hidden');\n\n\t\tif (voucher === '') {\n\t\t\tsetVoucherDiscount(0);\n\t\t\tsetVoucherCodeAirlineNo(null);\n\t\t\tsetVoucherCode(voucher);\n\t\t\treturn;\n\t\t}\n\n\t\tconst postData = async () => {\n\t\t\ttry {\n\t\t\t\tconst response = await fetch(\n\t\t\t\t\t`${SERVER_URL}/voucher`,\n\t\t\t\t\t{\n\t\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t\t\t'Authorization': getToken()\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbody: JSON.stringify({\n\t\t\t\t\t\t\tVoucherCode: voucher,\n\t\t\t\t\t\t\tEmail: primary_guest_email,\n\t\t\t\t\t\t\tDeparture: departure,\n\t\t\t\t\t\t\tDestination: destination,\n\t\t\t\t\t\t\tDepartureDate: depart_date,\n\t\t\t\t\t\t\tReturnDate: return_date,\n\t\t\t\t\t\t\tBusFare: bus_fare,\n\t\t\t\t\t\t\tNoOfPax: no_of_pax,\n\t\t\t\t\t\t\tDepartTripKey: depart_trip_key,\n\t\t\t\t\t\t\tReturnTripKey: return_trip_key\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t);\n\n\n\t\t\t\tif (response.status === 404) {\n\t\t\t\t\t// Handle 404 specifically: invalid voucher code\n\t\t\t\t\tel.textContent = 'Invalid voucher code or you are not eligible for this voucher';\n\t\t\t\t\tel.classList.remove('hidden');\n\t\t\t\t\tsetVoucherDiscount(0);\n\t\t\t\t\tsetVoucherCodeAirlineNo(null);\n\t\t\t\t\tsetVoucherCode(voucher);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (!response.ok) {\n\t\t\t\t\tlet errorData = await response.json(); // Get the response body containing the error message\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\terrorData.msg || `This is an HTTP error: The status is ${response.status}`\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tlet actualData = await response.json();\n\t\t\t\t// console.log('loyalty data:');\n\t\t\t\t// console.log(actualData);\n\t\t\t\tif (actualData.length != 0) {\n\t\t\t\t\t// change MYR to RM\n\t\t\t\t\tif (actualData[0].vouchercurrency == changeCurrencyNaming(currency)) {\n\t\t\t\t\t\t// console.log(actualData[0].vouchercurrency == changeCurrencyNaming(currency))\n\t\t\t\t\t\tsetVoucherDiscount(parseFloat(actualData[0].vouchervalue));\n\t\t\t\t\t\tsetVoucherCode(voucher);\n\t\t\t\t\t\tsetLoyalty(0);\n\t\t\t\t\t\tsetLoyaltyID(null);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tel2.classList.remove('hidden');\n\t\t\t\t\t\tsetVoucherDiscount(0);\n\t\t\t\t\t\tsetVoucherCodeAirlineNo(null);\n\t\t\t\t\t\tsetVoucherCode(voucher);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\t// Handle errors as needed\n\t\t\t\tel.textContent = err.message || 'Invalid Code';\n\n\t\t\t\tel.classList.remove('hidden');\n\t\t\t\tsetVoucherDiscount(0);\n\t\t\t\tsetVoucherCodeAirlineNo(null);\n\t\t\t\tsetVoucherCode(voucher);\n\t\t\t}\n\t\t};\n\n\n\n\t\tpostData();\n\t};\n\n\n\tuseEffect(() => {\n\t\tfetchVoucherCodes(); // Fetch voucher codes on page load\n\t}, []); // Empty dependency array ensures it runs only once when the component mounts\n\n\n\n\treturn (\n\t\t<>\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t

Loyalty Discount

\n\t\t\t\t\t\t\t{/* i */}\n\t\t\t\t\t\t
{manjaRewards.points ? parseFloat(manjaRewards.points).toFixed() : 0} points
available
\n\t\t\t\t\n\t\t\t\t\t loyalty(e.target.value, e.target.childNodes[e.target.selectedIndex + 1])}>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{manjaRewards && manjaRewards.rewards && manjaRewards.rewards.map(({ id, desc, discount, name, seqno }, index) => (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t))}\n\n\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{/*

Do you have a promo code?

*/}\n\t\t\t\t\t

{getPromoHeading()}

\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\tconst newValue = e.target.value;\n\t\t\t\t\t\t\thandleVoucherInputChange(newValue); // Update state\n\n\t\t\t\t\t\t\tsetVoucherDiscount(0);\n\t\t\t\t\t\t\tsetVoucherCodeAirlineNo(null);\n\t\t\t\t\t\t\t// checkVoucherCode(newValue); // Trigger function when cleared\n\t\t\t\t\t\t}}\n\n\t\t\t\t\t//onChange={(e) => handleVoucherInputChange(e.target.value)} // Allow manual entry\n\t\t\t\t\t/>\n\t\t\t\t\t{isDropdownVisible && suggestedVouchers.length > 0 && (\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t{suggestedVouchers.map((item) => (\n\t\t\t\t\t\t\t\t handleVoucherSelect(item.vouchercode)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t{/* Determine the display value based on the voucher type */}\n\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t{item.vouchertype === 'AMOUNT' ? `${item.vouchercurrency}${item.vouchervalue}` : `${item.vouchervalue}%`}\n\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t
    OFF
    \n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t{/* Same logic reused for the description */}\n\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t{item.vouchertype === 'AMOUNT' ? `${item.vouchercurrency}${item.vouchervalue}` : `${item.vouchervalue}%`} OFF\n\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\tValid until: {item.expirydate}\n\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t
\n\t\t\t\t\t)}\n\n\n\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t{VoucherCode === 'AA1TOFLY' && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t
AirAsia Boarding Number
\n\t\t\t\t\t\t\t handleVoucherExtraInputChange(e.target.value)}\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\n\t\t\t\t\t\n\n\t\t\t\t
\n\t\t\t
\n\t\t\n\t);\n}\n\nexport default LoyaltyDiscount;","import React, { useContext, useEffect, useState } from \"react\";\nimport { Col, Row } from \"react-bootstrap\";\nimport Form from 'react-bootstrap/Form';\nimport \"../App.css\";\nimport { ChildAmountContext } from '../UserContext';\nimport { ContentTitle } from \"./ContentTitle\";\nimport { tokenIsValid, getToken, getUserPrimaryEmail, changeDateFormatToYYYYMMDD, changeDateFormatToYearMonthDay, checkIsReschedule, getNationalityShortName } from './Function';\nimport \"./PassengerDetails.css\";\nimport DatePicker from \"react-datepicker\";\nimport \"react-datepicker/dist/react-datepicker.css\";\n\nfunction PassengerDetails({ parentPassengerDetailCallback,\n\t// depart,\n\t// destination,\n\tdepart_date,\n\treturn_date,\n\tpassenger_count,\n\tuserData,\n\treschedulePassengerDetails\n}) {\n\tconst SERVER_URL = process.env.REACT_APP_SERVER_URL;\n\tconst { childAmount, setChildAmount } = useContext(ChildAmountContext);\n\tconst [adultAmount, setAdultAmount] = useState(passenger_count);\n\tconst [ticketType, setTicketType] = useState({});\n\tconst [identityType, setIdentityType] = useState({});\n\tconst [dob, setDob] = useState({});\n\tconst [ppexp, setPPexp] = useState({});\n\tconst checkReschedule = checkIsReschedule();\n\tconst [FnFdata, setFnFData] = useState([]);\n\tconst [loading, setLoading] = useState(true);\n\tconst [tmpIndex, setTmpIndex] = useState(null);\n\tconst [tmpIC, setTmpIC] = useState('');\n\tconst [tmpPP, setTmpPP] = useState('');\n\tconst [tmpPPExp, setTmpPPExp] = useState('');\n\n\tuseEffect(() => {\n\t\t// console.log(tmpIndex)\n\t\t// console.log(document.getElementById(`passport_${tmpIndex}`))\n\t\tif (tmpIndex !== null) {\n\t\t\tif (document.getElementById(`ic_${tmpIndex}`) != null) {\n\t\t\t\tdocument.getElementById(`ic_${tmpIndex}`).value = tmpIC\n\t\t\t}\n\t\t\telse if (document.getElementById(`passport_${tmpIndex}`) != null) {\n\t\t\t\tdocument.getElementById(`passport_${tmpIndex}`).value = tmpPP\n\t\t\t\tsetPassportExpiryField(tmpIndex, new Date(tmpPPExp))\n\t\t\t\t// document.getElementById(`passport_expiry_date_${tmpIndex}`).value = tmpPPExp\n\t\t\t}\n\t\t\tsetTmpIC('')\n\t\t\tsetTmpPP('')\n\t\t\tsetTmpPPExp('')\n\t\t\tsetTmpIndex(null)\n\t\t}\n\t}, [identityType])\n\n\t// console.log(FnFdata)\n\t// console.log(tmpIndex)\n\t// console.log(document.getElementById(`passport_${tmpIndex}`))\n\tconst updateSelectedDropdownClassList = (value, id) => {\n\t\tconst selectedID = document.getElementById(id);\n\t\tif (value === \"\") {\n\t\t\tif (!selectedID.classList.contains(\"first-data\")) {\n\t\t\t\tselectedID.classList.add(\"first-data\")\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tif (selectedID.classList.contains(\"first-data\")) {\n\t\t\t\tselectedID.classList.remove(\"first-data\")\n\t\t\t}\n\t\t}\n\t}\n\n\n\tconst token = getToken();\n\tuseEffect(() => {\n\t\tconst getFnFData = async () => {\n\t\t\ttry {\n\t\t\t\tconst FnF_response = await fetch(\n\t\t\t\t\t`${SERVER_URL}/user/list/family/${getUserPrimaryEmail()}`,\n\t\t\t\t\t{\n\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t'Authorization': token\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\tif (!FnF_response.ok) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`This is an HTTP error: The status is ${FnF_response.status}`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tlet FnF_Data = await FnF_response.json();\n\t\t\t\tsetFnFData(FnF_Data);\n\t\t\t\t// console.log(FnF_Data)\n\t\t\t} catch (err) {\n\t\t\t\tsetFnFData(null);\n\t\t\t} finally {\n\t\t\t\tsetLoading(false);\n\t\t\t}\n\t\t}\n\t\ttokenIsValid()\n\t\tif (getUserPrimaryEmail() != null) {\n\t\t\tgetFnFData()\n\t\t}\n\t}, [getToken()])\n\n\n\n\tconst setDobField = (field, value) => {\n\t\tsetDob({\n\t\t\t...dob,\n\t\t\t[field]: value\n\t\t})\n\t}\n\n\tconst setPassportExpiryField = (field, value) => {\n\t\tsetPPexp({\n\t\t\t...ppexp,\n\t\t\t[field]: value\n\t\t})\n\t}\n\t// console.log(reschedulePassengerDetails)\n\tuseEffect(() => {\n\t\tif (checkReschedule == true) {\n\t\t\tlet dobArr = [];\n\t\t\tlet IdTypeObj = {};\n\t\t\tlet PPExpObj = {};\n\n\t\t\treschedulePassengerDetails.forEach((element, index) => {\n\t\t\t\tdobArr.push(new Date(element.PassengerDateOfBirth.split(\"T\")[0]))\n\t\t\t\t// console.log(element.PassengerPassportExpiryDate)\n\t\t\t\tif (element.PassengerPassportExpiryDate != '' && element.PassengerPassportExpiryDate != null) {\n\t\t\t\t\t// setIdType(index,true)\n\t\t\t\t\t// setPassportExpiryField(index, new Date(element.PassengerPassportExpiryDate))\n\t\t\t\t\tIdTypeObj[index] = true\n\t\t\t\t\tPPExpObj[index] = new Date(element.PassengerPassportExpiryDate)\n\t\t\t\t\t// console.log(identityType)\n\t\t\t\t}\n\n\t\t\t});\n\t\t\t// console.log(IdTypeObj)\n\t\t\t// console.log(PPExpObj)\n\t\t\tsetPPexp(PPExpObj)\n\t\t\tsetIdentityType(IdTypeObj)\n\t\t\tsetDob(dobArr)\n\t\t}\n\t\telse {\n\t\t\tif (userData != null) {\n\t\t\t\tif (userData.dob != null && userData.dob != \"\") {\n\t\t\t\t\tsetDobField('0', new Date(userData.dob))\n\t\t\t\t}\n\t\t\t\t// console.log(userData)\n\t\t\t\tif (userData.passport != '' && userData.passportexpiry != '') {\n\t\t\t\t\tsetIdType(0, true)\n\t\t\t\t\tsetPassportExpiryField(0, new Date(userData.passportexpiry))\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tsetIdType(0, false)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}, [])\n\t// checkReschedule==true?reschedulePassengerDetails[i].PassengerDateOfBirth.split(\"T\")[0]:(i==0 && userData!= null) ? userData.dob != '' ? changeDateFormatToYearMonthDay(userData.dob) : \"\" : \"\"\n\tconst [form, setForm] = useState({})\n\t// console.log(reschedulePassengerDetails)\n\tfunction checkChildAmount() {\n\t\tlet childCount = 0;\n\t\tvar arr = (Object.values(ticketType));\n\t\tarr.forEach(element => {\n\t\t\tif (element === 'C') {\n\t\t\t\tchildCount++;\n\t\t\t}\n\t\t});\n\t\treturn childCount;\n\t}\n\t// console.log(userData)\n\n\tuseEffect(() => {\n\t\tconst child = checkChildAmount();\n\t\tsetChildAmount(child);\n\t}, [ticketType])\n\n\n\n\tconst setField = (field, value) => {\n\t\tsetTicketType({\n\t\t\t...ticketType,\n\t\t\t[field]: value\n\t\t})\n\t}\n\n\tconst setIdType = (field, value) => {\n\t\t// console.log(\"Field=>\" + field)\n\t\t// console.log(\"Value=>\" + value)\n\t\tsetIdentityType({\n\t\t\t...identityType,\n\t\t\t[field]: value\n\t\t})\n\t}\n\t// console.log(identityType);\n\n\tconst handleChangeIdentityType = (event, i) => {\n\t\tif (event.target.value === 'IC') {\n\t\t\tsetIdType(i, false)\n\t\t\tparentPassengerDetailCallback(event, '', 'passport', i)\n\t\t\tparentPassengerDetailCallback(event, '', 'passport_expiry_date', i)\n\t\t} else {\n\t\t\tsetIdType(i, true)\n\t\t\tparentPassengerDetailCallback(event, '', 'ic', i)\n\t\t}\n\t}\n\tconst updateChildAmount = (event, i) => {\n\t\tsetField(i, event.target.value);\n\t\t// console.log(i);\n\t}\n\t// console.log(form);\n\t// console.log(ticketType.ticket0)\n\t// console.log(\"Child: \" +childAmount)\n\t// console.log(\"Adult: \" +adultAmount)\n\n\tlet selected_depart_seat = sessionStorage.getItem(\"selectedDepartSeat\");\n\tlet selected_return_seat = sessionStorage.getItem(\"selectedReturnSeat\");\n\tlet array_depart_seat = eval(selected_depart_seat);//.split(\",\");\n\tlet array_return_seat = eval(selected_return_seat);//.split(\",\");\n\n\t// console.log('---------------------');\n\t// console.dir((array_depart_seat));\n\t// console.log('---------------------');\n\n\tfunction autofill(event, value, field, i) {\n\t\tvar fnf_name = document.getElementById(`guest_name_${i}`);\n\t\tvar fnf_ticket_type = document.getElementById(`ticket_type_${i}`);\n\t\tvar fnf_nationality = document.getElementById(`nationality_${i}`);\n\t\tvar fnf_identity_type = document.getElementById(`identity_type_${i}`);\n\t\t// var fnf_passport = document.getElementById(`passport_${i}`);\n\t\t// var fnf_passport_expiry = document.getElementById(`passport_expiry_date_${i}`);\n\t\t// var fnf_ic = document.getElementById(`ic_${i}`);\n\t\tvar fnf_datalist = document.getElementById('fnf')\n\t\tvar flag = false;\n\t\tif (FnFdata != null) {\n\t\t\tfor (let j = 0; j < FnFdata.length; j++) {\n\t\t\t\tflag = FnFdata[j].full_name === fnf_name.value || flag\n\t\t\t\tif (flag === true) {\n\t\t\t\t\t// console.log(j)\n\t\t\t\t\t// console.log(FnFdata[j].ic)\n\t\t\t\t\tparentPassengerDetailCallback(event, FnFdata[j].full_name, 'guest_name', i)\n\t\t\t\t\tparentPassengerDetailCallback(event, FnFdata[j].nationality, 'nationality', i)\n\t\t\t\t\tparentPassengerDetailCallback(event, FnFdata[j].ticket_type, 'ticket_type', i)\n\n\t\t\t\t\tfnf_ticket_type.value = FnFdata[j].ticket_type\n\t\t\t\t\tfnf_nationality.value = FnFdata[j].nationality\n\t\t\t\t\tif (FnFdata[j].ic != '' && FnFdata[j].ic != null) {\n\t\t\t\t\t\tsetTmpIC(FnFdata[j].ic)\n\t\t\t\t\t\tsetTmpIndex(i)\n\t\t\t\t\t\tfnf_identity_type.value = \"IC\"\n\t\t\t\t\t\tsetIdType(i, false)\n\t\t\t\t\t\tparentPassengerDetailCallback(event, '', 'passport', i)\n\t\t\t\t\t\tparentPassengerDetailCallback(event, '', 'passport_expiry_date', i)\n\t\t\t\t\t\tparentPassengerDetailCallback(event, FnFdata[j].ic, 'ic', i)\n\t\t\t\t\t\tdocument.getElementById(`ic_${i}`).value = FnFdata[j].ic\n\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\t// console.log(fnf_passport)\n\t\t\t\t\t\tsetTmpPP(FnFdata[j].passport)\n\t\t\t\t\t\tsetTmpPPExp(FnFdata[j].passport_expiry)\n\t\t\t\t\t\tsetTmpIndex(i)\n\t\t\t\t\t\tfnf_identity_type.value = \"PP\"\n\t\t\t\t\t\tsetIdType(i, true)\n\t\t\t\t\t\t// console.log(document.getElementById(`passport_${i}`))\n\t\t\t\t\t\tparentPassengerDetailCallback(event, '', 'ic', i)\n\t\t\t\t\t\tparentPassengerDetailCallback(event, FnFdata[j].passport, 'passport', i)\n\t\t\t\t\t\tparentPassengerDetailCallback(event, FnFdata[j].passport_expiry, 'passport_expiry_date', i)\n\n\n\t\t\t\t\t\tdocument.getElementById(`passport_${i}`).value = FnFdata[j].passport\n\t\t\t\t\t\tsetPassportExpiryField(i, new Date(FnFdata[j].passport_expiry))\n\t\t\t\t\t\t// document.getElementById(`passport_expiry_date_${i}`).value = FnFdata[j].passport_expiry\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tparentPassengerDetailCallback(event, value, field, i)\n\t}\n\n\tif (array_depart_seat.length == 0) {\n\t\twindow.location.href = '/';\n\t}\n\treturn (\n\t\t<>\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t*all fields are mandatory\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{Array.from({ length: passenger_count }, (_, i) =>\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t{(i == 0) ? 'Primary Passenger Information' : `Passenger Information ${i + 1}`}\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t{`Depart ${array_depart_seat[i].DisplayCode} ${(array_return_seat[i] == null) ? '' : `| Return ${array_return_seat[i].DisplayCode}`}`}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t
Ticket Type:
\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t { parentPassengerDetailCallback(event, event.target.value, 'ticket_type', i); updateChildAmount(event, i); updateSelectedDropdownClassList(event.target.value, `ticket_type_${i}`) }} defaultValue={checkReschedule == true ? reschedulePassengerDetails[i].PassengerType : \"A\"}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t{/* \n */}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t autofill(event, event.target.value, 'guest_name', i)} defaultValue={checkReschedule == true ? reschedulePassengerDetails[i].PassengerName : (i == 0 && userData != null) ? userData.fullname : \"\"} />\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t { parentPassengerDetailCallback(event, event.target.value, 'gender', i); updateSelectedDropdownClassList(event.target.value, `gender_${i}`) }}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tparentPassengerDetailCallback(date, changeDateFormatToYYYYMMDD(date), 'dob', i);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetDobField(i, date)\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\tselected={dob[i]}\n\t\t\t\t\t\t\t\t\t\t\t\t\tpeekNextMonth\n\t\t\t\t\t\t\t\t\t\t\t\t\tshowMonthDropdown\n\t\t\t\t\t\t\t\t\t\t\t\t\tshowYearDropdown\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={checkReschedule == true ? true : false}\n\t\t\t\t\t\t\t\t\t\t\t\t\tmaxDate={new Date()}\n\t\t\t\t\t\t\t\t\t\t\t\t\tdropdownMode=\"select\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholderText=\"Date Of Birth\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tdateFormat=\"yyyy-MM-dd\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName='Date_Picker'\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t{/* parentPassengerDetailCallback(event, event.target.value, 'dob', i)} defaultValue={checkReschedule==true?reschedulePassengerDetails[i].PassengerDateOfBirth.split(\"T\")[0]:(i==0 && userData!= null) ? userData.dob != '' ? changeDateFormatToYearMonthDay(userData.dob) : \"\" : \"\"}/> */}\n\t\t\t\t\t\t\t\t\t\t\t\t(YYYY-MM-DD)\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t { parentPassengerDetailCallback(event, event.target.value, 'nationality', i); updateSelectedDropdownClassList(event.target.value, `nationality_${i}`) }}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t handleChangeIdentityType(event, i)} defaultValue={checkReschedule == true ? reschedulePassengerDetails[i].PassengerNric != '' ? \"IC\" : \"PP\" : (i == 0 && userData != null) ? (userData.ic == '' && userData.passport == '') ? \"IC\" : (userData.ic != '') ? \"IC\" : \"PP\" : \"IC\"}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tidentityType[i] ?\n\t\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t parentPassengerDetailCallback(event, event.target.value, 'passport', i)} defaultValue={checkReschedule == true ? reschedulePassengerDetails[i].PassengerPassport : (i == 0 && userData != null) ? userData.passport : \"\"} />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tparentPassengerDetailCallback(date, changeDateFormatToYYYYMMDD(date), 'passport_expiry_dates', i);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetPassportExpiryField(i, date)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselected={ppexp[i]}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpeekNextMonth\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tshowMonthDropdown\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tshowYearDropdown\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={checkReschedule == true ? true : false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tminDate={new Date()}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdropdownMode=\"select\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholderText=\"Passport Expiry\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdateFormat=\"yyyy-MM-dd\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName='Date_Picker'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* parentPassengerDetailCallback(event, event.target.value, 'passport_expiry_date', i)} defaultValue={checkReschedule==true? reschedulePassengerDetails[i].PassengerPassportExpiryDate:(i==0 && userData!= null)? userData.passportexpiry : \"\"} /> */}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(YYYY-MM-DD)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t parentPassengerDetailCallback(event, event.target.value, 'ic', i)} defaultValue={checkReschedule == true ? reschedulePassengerDetails[i].PassengerNric : (i == 0 && userData != null) ? userData.ic : \"\"} />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\n\t);\n}\n\nexport default PassengerDetails;","import React, { useContext, useMemo } from 'react';\nimport Col from 'react-bootstrap/esm/Col';\nimport Row from 'react-bootstrap/esm/Row';\nimport { Link } from 'react-router-dom';\nimport { BusFareDepartContext, BusFareReturnContext, ChildAmountContext, SelectSeatDepartContext, SelectSeatReturnContext, TotalBusFareContext } from '../UserContext';\nimport { checkIsSgdTrip, getMonetaryUnitBasedOnCurrency, checkIsReschedule, getAMorPMonTime, getSubPlaceShortName } from \"./Function\";\nimport { useSearchParams } from 'react-router-dom';\n\n\nexport const BusFareSummary = ({\n\tinclude,\n\tdepart_unique_name,\n\tdestination_unique_name,\n\tdepart,\n\tselectedSeat = [],\n\tdestination,\n\tdepart_date,\n\treturn_date,\n\tpassenger,\n\tchange_trip,\n\tdepart_info,\n\treturn_info\n}) => {\n\tlet Fare_total = 0;\n\tconst checkReschedule = checkIsReschedule();\n\tconst monetary_unit = getMonetaryUnitBasedOnCurrency();\n\tconst { childAmount, setChildAmount } = useContext(ChildAmountContext);\n\tconst [searchParams, setSearchParams] = useSearchParams();\n\tconst request_id = searchParams.get(\"request_id\") ?? \"\";\n\n\n\n\t// const departName = useMemo(() => {\n\t// \tconst name = getSubPlaceShortName(depart);\n\t// \treturn \n\t// }, [depart]);\n\n\n\t// const destinationName = useMemo(() => {\n\t// \tconst name = getSubPlaceShortName(destination);\n\n\t// \treturn name.length > 14 ? `${name.substring(0, 14)}...` : name;\n\t// }, [destination]);\n\n\n\n\n\n\t// const child_discount = 2;\n\tif (checkReschedule == true) {\n\t\tif (sessionStorage.getItem(\"Origin_data\") != null) {\n\t\t\tconst reschedule_origin_data = JSON.parse(sessionStorage.getItem(\"Origin_data\"));\n\t\t\tdepart_date = depart_info.departure_time.split(\" \")[0];\n\t\t\tif (return_info != null) {\n\t\t\t\treturn_date = return_info.departure_time.split(\" \")[0];\n\t\t\t}\n\t\t\tpassenger = reschedule_origin_data.Passenger;\n\t\t}\n\t}\n\t// const [child_discount,setChildDiscount] = useState(0);\n\t// console.log(depart_info);\n\t// console.log(depart_info.fare);\n\t// console.log(depart_info.child_fare);\n\t// console.log(childAmount);\n\tlet converted_return_date = null;\n\tconst { selectedDepartSeat, setDepartSeat } = useContext(SelectSeatDepartContext);\n\tconst { selectedReturnSeat, setReturnSeat } = useContext(SelectSeatReturnContext);\n\tconst { BusFareDepart, setBusFareDepart } = useContext(BusFareDepartContext);\n\tconst { BusFareReturn, setBusFareReturn } = useContext(BusFareReturnContext);\n\tconst { TotalBusFare, setTotalBusFare } = useContext(TotalBusFareContext);\n\n\n\t// // console.log('selected:'+ selectedSeat[0].DisplayCode);\n\t// console.log('length: ' + selectedSeat.length);\n\tfunction selectedSeatFunction() {\n\t\tif (selectedSeat.length === 0) {\n\t\t\treturn 'Not Selected';\n\t\t}\n\t\telse if (selectedSeat.length === 1) {\n\t\t\treturn selectedSeat[0].DisplayCode;\n\t\t}\n\t\telse {\n\t\t\tvar array = [];\n\t\t\tfor (var i = 0; i < selectedSeat.length; ++i) {\n\t\t\t\tarray.push(selectedSeat[i].DisplayCode)\n\t\t\t}\n\t\t\tvar stringSelected = array.join(',');\n\t\t\t// console.log(array)\n\t\t\treturn stringSelected;\n\t\t}\n\t}\n\n\t// function updateBusFare(fare) {\n\t// setTotalBusFare(TotalBusFare=>[...TotalBusFare,fare]);\n\t// }\n\tif (return_info != null) {\n\t\tconst selected_return_date = (return_info.departure_time.split(\" \")[0]);\n\t\t// console.log(selected_return_date)\n\t\tconverted_return_date = new Intl.DateTimeFormat('en',\n\t\t\t{\n\t\t\t\tyear: 'numeric',\n\t\t\t\tmonth: 'short',\n\t\t\t\tday: '2-digit',\n\t\t\t\tweekday: 'long'\n\t\t\t}\n\t\t).format(Date.parse(selected_return_date));\n\t\t// console.log(converted_return_date);\n\t}\n\n\tconst converted_depart_date = new Intl.DateTimeFormat('en',\n\t\t{\n\t\t\tyear: 'numeric',\n\t\t\tmonth: 'short',\n\t\t\tday: '2-digit',\n\t\t\tweekday: 'long'\n\t\t}\n\t).format(Date.parse(depart_date));\n\n\tif (include == 'depart') {\n\t\tconst selected_depart_time = getAMorPMonTime(depart_info.departure_time.split(\" \")[1]);\n\t\tlet params = `depart=${depart_unique_name}&destination=${destination_unique_name}&depart_date=${depart_date}&return_date=${return_date}&passenger=${passenger}&request_id=${request_id}`;\n\t\tlet href = `${change_trip}?${params}`;\n\t\tif (checkReschedule) {\n\t\t\thref = change_trip;\n\t\t}\n\t\t// const child_discount = 2.2849.toFixed(2);\n\t\tlet child_discount = (depart_info.fare - depart_info.child_fare).toFixed(2);\n\t\t// console.log(child_discount)\n\t\tfunction getDepartFare(fare) {\n\t\t\tsetBusFareDepart(fare);\n\t\t\tif (checkReschedule) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn fare.toFixed(2);\n\t\t\t}\n\t\t}\n\t\t// console.log(depart_info);\n\t\tFare_total = depart_info.fare * selectedSeat.length - (child_discount * childAmount);\n\t\tif (checkIsSgdTrip()) {\n\t\t\tchild_discount = (depart_info.AdultPriceInMYR - depart_info.ChildPriceInMYR).toFixed(2);\n\t\t\tFare_total = depart_info.AdultPriceInMYR * selectedSeat.length - (child_discount * childAmount);\n\t\t}\n\t\t// console.log('money:'+Fare_total);\n\t\t// console.log('bus fare:'+TotalBusFare);\n\t\treturn (\n\t\t\t<>\n\t\t\t\t\n\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{depart_info.pick_up.length > 14 ? `${depart_info.pick_up.substring(0, 14)}...` : depart_info.pick_up}\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\n\n\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{depart_info.drop_off.length > 14 ? `${depart_info.drop_off.substring(0, 14)}...` : depart_info.drop_off}\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
Date Selected
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
{converted_depart_date}
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
Departure Time
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
{selected_depart_time}
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
Seat Selected
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
{selectedSeatFunction()}
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
Fare
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
RM {getDepartFare(Fare_total)}
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t { setDepartSeat([]); setReturnSeat([]) }}>Change Trip\n\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\n\t\t);\n\t}\n\tif (return_info != null) {\n\t\tconst selected_return_time = getAMorPMonTime(return_info.departure_time.split(\" \")[1]);\n\t\t// let str_depart_info = JSON.stringify(depart_info);\n\t\tlet params = `depart=${depart_unique_name}&destination=${destination_unique_name}&depart_date=${depart_date}&return_date=${return_date}&passenger=${passenger}&depart_info=${depart_info}&request_id=${request_id}`;\n\t\tlet href = `${change_trip}?${params}`;\n\t\tif (checkReschedule) {\n\t\t\thref = change_trip\n\t\t}\n\t\t// const child_discount = 8;\n\t\tlet child_discount = (return_info.fare - return_info.child_fare).toFixed(2);\n\n\t\tfunction getReturnFare(fare) {\n\t\t\tsetBusFareReturn(fare);\n\t\t\tif (checkReschedule) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn fare.toFixed(2);\n\t\t\t}\n\t\t}\n\t\tFare_total = return_info.fare * selectedSeat.length - (child_discount * childAmount);\n\t\tif (checkIsSgdTrip()) {\n\t\t\tchild_discount = (return_info.AdultPriceInMYR - return_info.ChildPriceInMYR).toFixed(2);\n\t\t\tFare_total = return_info.AdultPriceInMYR * selectedSeat.length - (child_discount * childAmount);\n\t\t}\n\t\treturn (\n\t\t\t<>\n\t\t\t\t\n\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{/* {getSubPlaceShortName(destination)} */}\n\t\t\t\t\t\t\t{/* {destinationName} */}\n\t\t\t\t\t\t\t{return_info.pick_up.length > 14 ? `${return_info.pick_up.substring(0, 14)}...` : return_info.pick_up}\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{/* {getSubPlaceShortName(depart)} */}\n\t\t\t\t\t\t\t{/* {departName} */}\n\t\t\t\t\t\t\t{return_info.drop_off.length > 14 ? `${return_info.drop_off.substring(0, 14)}...` : return_info.drop_off}\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
Date Selected
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
{converted_return_date}
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
Departure Time
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
{selected_return_time}
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
Seat Selected
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
{selectedSeatFunction()}
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
Fare
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
{monetary_unit} {getReturnFare(Fare_total)}
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t { setDepartSeat([]); setReturnSeat([]) }}>Change Trip\n\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\n\t\t);\n\t}\n}","import React, { useContext, useMemo } from 'react';\nimport Col from 'react-bootstrap/esm/Col';\nimport Row from 'react-bootstrap/esm/Row';\nimport { Link } from 'react-router-dom';\nimport { BusFareDepartContext, BusFareReturnContext, ChildAmountContext, SelectSeatDepartContext, SelectSeatReturnContext, TotalBusFareContext } from '../UserContext';\nimport { checkIsSgdTrip, getMonetaryUnitBasedOnCurrency, checkIsReschedule, getAMorPMonTime, getSubPlaceShortName } from \"./Function\";\nimport { useSearchParams } from 'react-router-dom';\n\n\nexport const PrivateHireFareSummary = ({\n\tdepart_data_multi_modal,\n\tpassenger\n}) => {\n\n\tlet Fare_total = 0;\n\tconst checkReschedule = checkIsReschedule();\n\tconst monetary_unit = getMonetaryUnitBasedOnCurrency();\n\tconst { childAmount, setChildAmount } = useContext(ChildAmountContext);\n\tconst [searchParams, setSearchParams] = useSearchParams();\n\tconst request_id = searchParams.get(\"request_id\") ?? \"\";\n\n\n\tlet converted_return_date = null;\n\tconst { selectedDepartSeat, setDepartSeat } = useContext(SelectSeatDepartContext);\n\tconst { selectedReturnSeat, setReturnSeat } = useContext(SelectSeatReturnContext);\n\tconst { BusFareDepart, setBusFareDepart } = useContext(BusFareDepartContext);\n\tconst { BusFareReturn, setBusFareReturn } = useContext(BusFareReturnContext);\n\tconst { TotalBusFare, setTotalBusFare } = useContext(TotalBusFareContext);\n\n\n\n\n\tconst converted_depart_date = new Intl.DateTimeFormat('en',\n\t\t{\n\t\t\tyear: 'numeric',\n\t\t\tmonth: 'short',\n\t\t\tday: '2-digit',\n\t\t\tweekday: 'long'\n\t\t}\n\t).format(Date.parse(depart_data_multi_modal.departure_time));\n\n\tconst selected_depart_time = getAMorPMonTime(depart_data_multi_modal.departure_time.split(\" \")[1]);\n\n\tfunction getDepartFare(fare) {\n\t\tsetBusFareDepart(fare);\n\t\tif (checkReschedule) {\n\t\t\treturn 0;\n\t\t}\n\t\telse {\n\t\t\treturn fare.toFixed(2);\n\t\t}\n\t}\n\n\tFare_total = depart_data_multi_modal.fare * passenger;\n\n\treturn (\n\t\t<>\n\t\t\t\n\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t{depart_data_multi_modal.pick_up.length > 14 ? `${depart_data_multi_modal.pick_up.substring(0, 14)}...` : depart_data_multi_modal.pick_up}\n\t\t\t\t\t
\n\t\t\t\t\t
\n\n\t\t\t\t\t
\n\t\t\t\t
\n\n\n\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t{depart_data_multi_modal.drop_off.length > 14 ? `${depart_data_multi_modal.drop_off.substring(0, 14)}...` : depart_data_multi_modal.drop_off}\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\n\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
Date Selected
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
{converted_depart_date}
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
Departure Time
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
{selected_depart_time}
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
Seat Selected
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
Open Seating
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
Fare
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
FREE\n\t\t\t\t\t\t\t\t{/* RM {getDepartFare(Fare_total)} */}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\n\t\t\t\t\n\t\t\t
\n\t\t\n\t);\n\n}","import React, { useContext, useEffect, useState } from 'react';\nimport { useSearchParams } from 'react-router-dom';\nimport {\n\tSelectSeatDepartContext,\n\tSelectSeatReturnContext,\n\tInsuranceAddonContext,\n\tHealthCareAddOnContext,\n} from '../UserContext';\nimport { BusFareSummary } from './BusFareSummary';\nimport { PrivateHireFareSummary } from './PrivateHireFareSummary';\n\nimport './ProceedBusFare.css';\n\nexport const ProceedBusFare = ({ page }) => {\n\tconst [searchParams, setSearchParams] = useSearchParams();\n\tconst data_depart = searchParams.get('depart');\n\tconst data_destination = searchParams.get('destination');\n\tconst data_depart_date = searchParams.get('depart_date');\n\tconst data_return_date = searchParams.get('return_date');\n\tconst data_passenger = searchParams.get('passenger');\n\n\tconst { insuranceAddOn, setInsuranceAddOn } = useContext(\n\t\tInsuranceAddonContext\n\t);\n\n\tconst { healthCareAddOn, setHealthCareAddOn } = useContext(\n\t\tHealthCareAddOnContext\n\t);\n\n\tlet { selectedDepartSeat, setDepartSeat } = useContext(\n\t\tSelectSeatDepartContext\n\t);\n\tlet { selectedReturnSeat, setReturnSeat } = useContext(\n\t\tSelectSeatReturnContext\n\t);\n\n\tconst noOfPax = Number(searchParams.get('passenger') || 1);\n\n\tconst origin_data = JSON.parse(sessionStorage.getItem('Origin_data'));\n\tconst destination_data = JSON.parse(\n\t\tsessionStorage.getItem('Destination_data')\n\t);\n\n\tif (page === 'checkout') {\n\t\tselectedDepartSeat = JSON.parse(\n\t\t\tsessionStorage.getItem('selectedDepartSeat')\n\t\t);\n\t\tselectedReturnSeat = JSON.parse(\n\t\t\tsessionStorage.getItem('selectedReturnSeat')\n\t\t);\n\t}\n\n\tconst departData = JSON.parse(sessionStorage.getItem('departData'));\n\tconst returnData = JSON.parse(sessionStorage.getItem('returnData'));\n\tconst depart_data_multi_modal = JSON.parse(\n\t\tsessionStorage.getItem('departDataMultiModal')\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{depart_data_multi_modal && (\n\t\t\t\t<>\n\t\t\t\t\t

Shuttle Bus

\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\n\t\t\t)}\n\n\t\t\t

Bus Fare

\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t{returnData != null ? (\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t) : (\n\t\t\t\t''\n\t\t\t)}\n\t\t\n\t);\n};\n","import React, { useContext, useEffect, useState } from \"react\";\nimport Col from \"react-bootstrap/esm/Col\";\nimport Row from \"react-bootstrap/esm/Row\";\nimport {\n BusFareDepartContext,\n BusFareReturnContext,\n LoyaltyDiscountContext,\n} from \"../UserContext\";\nimport { calculateLoyaltyPointsToEarn, checkIsReschedule, getUserPrimaryEmail } from \"./Function\";\nimport { LoginSignUpModal } from \"./LoginSignUpModal\";\nimport \"./SignInToCollectLoyalty.css\";\n\nexport const SignInToCollectLoyalty = ({ manjaRewards = 0, login }) => {\n // let {TotalBusFare, setTotalBusFare} = useContext(TotalBusFareContext);\n // let {BusFareAddOn, setBusFareAddOn} = useContext(BusFareAddOnContext);\n let { BusFareDepart, setBusFareDepart } = useContext(BusFareDepartContext);\n let { BusFareReturn, setBusFareReturn } = useContext(BusFareReturnContext);\n let { TotalLoyalty, setLoyalty } = useContext(LoyaltyDiscountContext);\n let BusFareAddOn = JSON.parse(sessionStorage.getItem(\"addOn\"));\n let TotalBusFare = JSON.parse(sessionStorage.getItem(\"busFare\"));\n // let TotalLoyalty = JSON.parse(localStorage.getItem(\"loyalty\"));\n let total_addOn = 0;\n BusFareAddOn.forEach((element) => {\n total_addOn += element.sub_totalPrice;\n });\n // console.log('add on sub price'+ total_addOn);\n\n TotalBusFare = TotalBusFare + total_addOn - TotalLoyalty;\n const [show, setShow] = useState(null);\n const email = getUserPrimaryEmail();\n // console.log('checking sign in to collect: ' + show)\n // console.log('total: '+ TotalBusFare);\n const checkReschedule = checkIsReschedule();\n const earn_points = calculateLoyaltyPointsToEarn(checkReschedule ? 0 : TotalBusFare);\n\n useEffect(() => {\n if (show == false) {\n setShow(true);\n }\n }, [show === false]);\n\n if (login === true) {\n return (\n <>\n
\n \n \n
Sign in as
\n

{email}

\n

You will earn {earn_points.toFixed()} points

\n \n \n

\n {manjaRewards.points != null && manjaRewards.points != \"\" ? manjaRewards.points : 0} points\n

\n
Balance
\n \n
\n
\n \n );\n } else {\n function openModal() {\n setShow(!show);\n // console.log('checking here')\n }\n\n return (\n <>\n {show === true ? : \"\"}\n
\n \n \n

\n Sign in to collect {earn_points.toFixed()} loyalty points\n from this booking now!\n

\n \n \n openModal()}\n >\n Sign in here\n \n \n
\n
\n \n );\n }\n};\n","import React, { useContext, useEffect, useState } from 'react';\nimport Col from 'react-bootstrap/esm/Col';\nimport Container from 'react-bootstrap/esm/Container';\nimport Row from 'react-bootstrap/esm/Row';\nimport { useSearchParams } from 'react-router-dom';\nimport '../../App.css';\n// import { LoyaltyDiscountContext } from '../../UserContext';\nimport { LoyaltyDiscountContext, VoucherCodeContext } from '../../UserContext';\n\nimport { AddOn } from '../AddOn';\nimport { BusFareSubTotal } from '../BusFareSubTotal';\nimport { BusFareTotal } from '../BusFareTotal';\nimport { CompletedBookingButton } from '../CompleteBookingButton';\nimport ConfirmationEmail from '../ConfirmationEmail';\nimport {\n changeDateFormatToYearMonthDay,\n checkIsReschedule,\n getNationalityShortName,\n getToken,\n getUserData,\n getUserPrimaryEmail,\n tokenIsValid,\n} from '../Function';\nimport { LoginSignUpModal } from '../LoginSignUpModal';\nimport { LoyaltyDiscount } from '../LoyaltyDiscount';\nimport PassengerDetails from '../PassengerDetails';\n\nimport { ProceedBusFare } from '../ProceedBusFare';\nimport { SignInToCollectLoyalty } from '../SignInToCollectLoyalty';\n\n// import { getUserICorPassport } from '../Function';\n\nfunction Checkout() {\n const login = JSON.parse(localStorage.getItem('login'));\n const userData = getUserData();\n\n const { TotalLoyalty, setLoyalty } = useContext(LoyaltyDiscountContext);\n const [data, setData] = useState(null);\n const [dataLoad, setDataLoad] = useState(false);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(null);\n\n const { VoucherCode, setVoucherCode } = useContext(VoucherCodeContext);\n // console.log(`VoucherCode = ${VoucherCode}`);\n\n let selected_depart_seat = sessionStorage.getItem('selectedDepartSeat');\n let selected_return_seat = sessionStorage.getItem('selectedReturnSeat');\n let array_depart_seat = eval(selected_depart_seat); //.split(\",\");\n let array_return_seat = eval(selected_return_seat); //.split(\",\");\n\n useEffect(() => {\n if (login == false || login == null) {\n setPrimaryGuestEmail(null);\n localStorage.removeItem('login');\n localStorage.removeItem('loginStatus');\n localStorage.removeItem('userData');\n localStorage.removeItem('primaryEmail');\n localStorage.removeItem('userLoyaltyData');\n localStorage.removeItem('friendsAndFamilyData');\n }\n }, []);\n if (selected_depart_seat == null) {\n alert('Please select your trip');\n window.location.href = '/';\n }\n\n //commented by Wei - 20221223\n // const guestDefaultValue = userData != null ? {\n // \"ticket_type\": \"A\",\n // \"guest\": 1,\n // \"guest_name\": userData.fullname != null ? userData.fullname : null,\n // \"dob\": userData.dob != null ? userData.dob : null,\n // \"gender\": userData.gender != null ? userData.gender : null,\n // \"nationality\": userData.nationality != null ? userData.nationality : null,\n // \"ic\": userData.ic != null ? userData.ic : null,\n // \"passport\": userData.passport != null ? userData.passport : null,\n // \"passport_expiry_date\": userData.passportexpiry != null ? userData.passportexpiry : null,\n\n // \"depart_display_code\": array_depart_seat[0].DisplayCode != null ? array_depart_seat[0].DisplayCode : null,\n // \"depart_seat_id\": array_depart_seat[0].SeatId != null ? array_depart_seat[0].SeatId : null,\n // \"depart_seat_number\": array_depart_seat[0].SeatNumber != null ? array_depart_seat[0].SeatNumber : null,\n // \"depart_seat_code\": array_depart_seat[0].SeatCode != null ? array_depart_seat[0].SeatCode : null,\n // \"return_display_code\": array_return_seat && array_return_seat.length != 0 ? array_return_seat[0].DisplayCode != null ? array_return_seat[0].DisplayCode : null : null,\n // \"return_seat_id\": array_return_seat && array_return_seat.length != 0 ? array_return_seat[0].SeatId != null ? array_return_seat[0].SeatId : null : null,\n // \"return_seat_number\": array_return_seat && array_return_seat.length != 0 ? array_return_seat[0].SeatNumber != null ? array_return_seat[0].SeatNumber : null : null,\n // \"return_seat_code\": array_return_seat && array_return_seat.length != 0 ? array_return_seat[0].SeatCode != null ? array_return_seat[0].SeatCode : null : null\n // }\n // : null;\n\n const guestDefaultValue = {\n ticket_type: 'A',\n guest: 1,\n guest_name:\n userData != null && userData.fullname != null ? userData.fullname : null,\n dob: userData != null && userData.dob != null ? userData.dob : null,\n gender:\n userData != null && userData.gender != null ? userData.gender : null,\n nationality:\n userData != null && userData.nationality != null\n ? userData.nationality\n : null,\n ic: userData != null && userData.ic != null ? userData.ic : null,\n passport:\n userData != null && userData.passport != null ? userData.passport : null,\n passport_expiry_date:\n userData != null && userData.passportexpiry != null\n ? userData.passportexpiry\n : null,\n\n depart_display_code:\n array_depart_seat[0].DisplayCode != null\n ? array_depart_seat[0].DisplayCode\n : null,\n depart_seat_id:\n array_depart_seat[0].SeatId != null ? array_depart_seat[0].SeatId : null,\n depart_seat_number:\n array_depart_seat[0].SeatNumber != null\n ? array_depart_seat[0].SeatNumber\n : null,\n depart_seat_code:\n array_depart_seat[0].SeatCode != null\n ? array_depart_seat[0].SeatCode\n : null,\n depart_seat_deck:\n array_depart_seat[0].SeatDeck != null\n ? array_depart_seat[0].SeatDeck\n : null,\n\n return_display_code:\n array_return_seat && array_return_seat.length != 0\n ? array_return_seat[0].DisplayCode != null\n ? array_return_seat[0].DisplayCode\n : null\n : null,\n return_seat_id:\n array_return_seat && array_return_seat.length != 0\n ? array_return_seat[0].SeatId != null\n ? array_return_seat[0].SeatId\n : null\n : null,\n return_seat_number:\n array_return_seat && array_return_seat.length != 0\n ? array_return_seat[0].SeatNumber != null\n ? array_return_seat[0].SeatNumber\n : null\n : null,\n return_seat_code:\n array_return_seat && array_return_seat.length != 0\n ? array_return_seat[0].SeatCode != null\n ? array_return_seat[0].SeatCode\n : null\n : null,\n return_seat_deck:\n array_return_seat && array_return_seat.length != 0\n ? array_return_seat[0].SeatDeck != null\n ? array_return_seat[0].SeatDeck\n : null\n : null,\n };\n\n //commented by Wei - 20221223\n //const [guests, setGuest] = useState([guestDefaultValue != null ? guestDefaultValue : null]);\n const [guests, setGuest] = useState([guestDefaultValue]);\n\n // const [primary_guest_ticket_type, setPrimaryGuestTicketType] = useState('A');\n const [primary_guest_email, setPrimaryGuestEmail] = useState(\n login != null ? getUserPrimaryEmail() : null\n );\n // sessionStorage.setItem(\"primary_email\",JSON.stringify(primary_guest_email));\n const checkReschedule = checkIsReschedule();\n let guestContact =\n userData != null ? (userData.mobile != null ? userData.mobile : '') : '';\n\n if (checkReschedule) {\n let re_origin_data = sessionStorage.getItem('Origin_data');\n if (re_origin_data != null) {\n re_origin_data = JSON.parse(re_origin_data);\n guestContact = re_origin_data?.PassengerDetails[0]?.PassengerContact;\n }\n }\n const [primary_guest_contact, setPrimaryGuestContact] =\n useState(guestContact);\n\n let busFare = sessionStorage.getItem('busFare');\n\n const [searchParams, setSearchParams] = useSearchParams();\n let data_depart = searchParams.get('depart');\n let data_destination = searchParams.get('destination');\n let data_depart_date = searchParams.get('depart_date');\n let data_return_date = searchParams.get('return_date');\n let data_passenger_count = searchParams.get('passenger');\n let reschedule_passengerDetails = null;\n\n if (sessionStorage.getItem('departData') == null) {\n alert('Please select your trip');\n window.location.href = '/';\n } else {\n const _object = JSON.parse(sessionStorage.getItem('departData'));\n\n data_depart = _object.depart_from;\n data_destination = _object.depart_to;\n\n if (checkReschedule) {\n var reschedule_origin_data = sessionStorage.getItem('Origin_data');\n if (reschedule_origin_data != null) {\n reschedule_origin_data = JSON.parse(reschedule_origin_data);\n data_passenger_count = reschedule_origin_data.Passenger;\n reschedule_passengerDetails = reschedule_origin_data.PassengerDetails;\n }\n var reschedule_departData = sessionStorage.getItem('departData');\n data_depart_date = _object.departure_time.split(' ')[0];\n if (sessionStorage.getItem('returnData') != null) {\n var reschedule_returnData = JSON.parse(\n sessionStorage.getItem('returnData')\n );\n data_return_date = reschedule_returnData.departure_time.split(' ')[0];\n }\n }\n }\n useEffect(() => {\n if (checkReschedule == true) {\n var reschedule_guestDetails = [];\n for (let j = 0; j < reschedule_passengerDetails.length; j++) {\n reschedule_guestDetails.push({\n ticket_type: reschedule_passengerDetails[j].PassengerType,\n guest: j + 1,\n guest_name: reschedule_passengerDetails[j].PassengerName,\n dob: reschedule_passengerDetails[j].PassengerDateOfBirth.split(\n 'T'\n )[0],\n gender: reschedule_passengerDetails[j].PasseengerGender,\n nationality: getNationalityShortName(\n reschedule_passengerDetails[j].PasseengerNationality\n ),\n ic:\n reschedule_passengerDetails[j].PassengerNric != null\n ? reschedule_passengerDetails[j].PassengerNric\n : null,\n passport:\n reschedule_passengerDetails[j].PassengerPassport != null &&\n reschedule_passengerDetails[j].PassengerPassport != ''\n ? reschedule_passengerDetails[j].PassengerPassport\n : '',\n passport_expiry_date:\n reschedule_passengerDetails[j].PassengerPassportExpiryDate !=\n null &&\n reschedule_passengerDetails[j].PassengerPassportExpiryDate != ''\n ? reschedule_passengerDetails[j].PassengerPassportExpiryDate\n : '',\n depart_display_code:\n array_depart_seat[j].DisplayCode != null\n ? array_depart_seat[j].DisplayCode\n : null,\n depart_seat_id:\n array_depart_seat[j].SeatId != null\n ? array_depart_seat[j].SeatId\n : null,\n depart_seat_number:\n array_depart_seat[j].SeatNumber != null\n ? array_depart_seat[j].SeatNumber\n : null,\n depart_seat_code:\n array_depart_seat[j].SeatCode != null\n ? array_depart_seat[j].SeatCode\n : null,\n depart_seat_deck:\n array_depart_seat[j].SeatDeck != null\n ? array_depart_seat[j].SeatDeck\n : null,\n\n return_display_code:\n array_return_seat && array_return_seat.length != 0\n ? array_return_seat[j].DisplayCode != null\n ? array_return_seat[j].DisplayCode\n : null\n : null,\n return_seat_id:\n array_return_seat && array_return_seat.length != 0\n ? array_return_seat[j].SeatId != null\n ? array_return_seat[j].SeatId\n : null\n : null,\n return_seat_number:\n array_return_seat && array_return_seat.length != 0\n ? array_return_seat[j].SeatNumber != null\n ? array_return_seat[j].SeatNumber\n : null\n : null,\n return_seat_code:\n array_return_seat && array_return_seat.length != 0\n ? array_return_seat[j].SeatCode != null\n ? array_return_seat[j].SeatCode\n : null\n : null,\n return_seat_deck:\n array_return_seat && array_return_seat.length != 0\n ? array_return_seat[j].SeatDeck != null\n ? array_return_seat[j].SeatDeck\n : null\n : null,\n });\n }\n setGuest(reschedule_guestDetails);\n }\n }, []);\n\n const MANJA_URL = process.env.REACT_APP_MANJA_REWARD_URL;\n const API_KEY = process.env.REACT_APP_MANJA_REWARD_KEY;\n const STORE_CODE = process.env.REACT_APP_MANJA_REWARD_STORED_CODE;\n\n let addon_sessionID = localStorage.getItem('addOnSession');\n\n let user_loyalty_points = 0;\n const userPrimaryEmail = getUserPrimaryEmail();\n let url = `${MANJA_URL}/Rewards/${STORE_CODE}/${userPrimaryEmail}/2`;\n\n const currency = JSON.parse(localStorage.getItem('currency'));\n const depart_TripKey = JSON.parse(sessionStorage.getItem('depart_TripKey'));\n const return_TripKey = JSON.parse(sessionStorage.getItem('return_TripKey'));\n\n const handlePrimaryContactCallback = (event, value, component_name) => {\n if (component_name === 'primary_email') {\n setPrimaryGuestEmail(value);\n }\n\n if (component_name === 'primary_contact') {\n setPrimaryGuestContact(value);\n }\n };\n\n const handlePassengerDetailCallback = (event, value, component_name, key) => {\n if (guests) {\n var _obj = guests[key];\n\n if (_obj != null) {\n _obj[component_name] = value;\n } else {\n _obj = new Object();\n _obj[component_name] = value;\n }\n _obj.guest = key + 1;\n\n if (key == 0 && _obj['ticket_type'] == null) {\n if (userData != null) {\n _obj.ticket_type = 'A';\n }\n }\n\n if (key == 0 && _obj['guest_name'] == null) {\n if (userData != null && userData.fullname != null) {\n _obj.guest_name = userData.fullname;\n }\n }\n\n if (key == 0 && _obj['dob'] == null) {\n if (userData != null && userData.dob != null) {\n _obj.dob = changeDateFormatToYearMonthDay(userData.dob);\n }\n }\n\n if (key == 0 && _obj['gender'] == null) {\n if (userData != null && userData.gender != null) {\n _obj.gender = userData.gender;\n }\n }\n\n if (key == 0 && _obj['nationality'] == null) {\n if (userData != null && userData.nationality != null) {\n _obj.nationality = userData.nationality;\n }\n }\n\n if (key == 0 && (_obj['ic'] == '' || _obj['ic'] == null)) {\n if (userData != null && userData.ic != null && userData.ic != '') {\n _obj.ic = userData.ic;\n } else if (\n userData != null &&\n userData.passport != '' &&\n userData.passportexpiry != ''\n ) {\n _obj.passport = userData.passport;\n _obj.passport_expiry_date = userData.passportexpiry;\n }\n // console.log(_obj.ic)\n // console.log(_obj.passport)\n }\n\n if (array_depart_seat) {\n if (\n array_depart_seat[key] &&\n typeof array_depart_seat[key].DisplayCode != 'undefined'\n ) {\n _obj.depart_display_code = array_depart_seat[key].DisplayCode;\n }\n if (\n array_depart_seat[key] &&\n typeof array_depart_seat[key].SeatId != 'undefined'\n ) {\n _obj.depart_seat_id = array_depart_seat[key].SeatId;\n }\n\n if (\n array_depart_seat[key] &&\n typeof array_depart_seat[key].SeatNumber != 'undefined'\n ) {\n _obj.depart_seat_number = array_depart_seat[key].SeatNumber;\n }\n\n if (\n array_depart_seat[key] &&\n typeof array_depart_seat[key].SeatCode != 'undefined'\n ) {\n _obj.depart_seat_code = array_depart_seat[key].SeatCode;\n }\n\n if (\n array_depart_seat[key] &&\n typeof array_depart_seat[key].SeatDeck != 'undefined'\n ) {\n _obj.depart_seat_deck = array_depart_seat[key].SeatDeck;\n }\n }\n\n if (array_return_seat) {\n if (\n array_return_seat[key] &&\n typeof array_return_seat[key].DisplayCode != 'undefined'\n ) {\n _obj.return_display_code = array_return_seat[key].DisplayCode;\n }\n if (\n array_return_seat[key] &&\n typeof array_return_seat[key].SeatId != 'undefined'\n ) {\n _obj.return_seat_id = array_return_seat[key].SeatId;\n }\n\n if (\n array_return_seat[key] &&\n typeof array_return_seat[key].SeatNumber != 'undefined'\n ) {\n _obj.return_seat_number = array_return_seat[key].SeatNumber;\n }\n\n if (\n array_return_seat[key] &&\n typeof array_return_seat[key].SeatCode != 'undefined'\n ) {\n _obj.return_seat_code = array_return_seat[key].SeatCode;\n }\n\n if (\n array_return_seat[key] &&\n typeof array_return_seat[key].SeatDeck != 'undefined'\n ) {\n _obj.return_seat_deck = array_return_seat[key].SeatDeck;\n }\n }\n\n guests[key] = _obj;\n }\n };\n\n useEffect(() => {\n //get rewards\n const getData = async () => {\n try {\n const response = await fetch(url, {\n method: 'GET',\n mode: 'cors',\n headers: {\n apikey: API_KEY,\n Authorization: getToken(),\n },\n });\n if (!response.ok) {\n throw new Error(\n `This is an HTTP error: The status is ${response.status}`\n );\n }\n let actualData = await response.json();\n setData(actualData);\n setError(null);\n setDataLoad(true);\n } catch (err) {\n setError(err.message);\n setData(null);\n } finally {\n setLoading(false);\n }\n };\n\n tokenIsValid();\n getData();\n }, []);\n\n if (data != null) {\n user_loyalty_points = data;\n }\n return (\n <>\n {!login ? : ''}\n \n \n \n \n \n\n {/* */}\n {/* */}\n\n \n {/* */}\n \n \n
\n
\n \n \n {checkReschedule == false ? (\n \n ) : (\n ''\n )}\n \n \n\n \n \n \n \n \n
\n
\n \n
\n
\n \n );\n}\n\nexport default Checkout;\n","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n });\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref) {\n var name = _ref.name,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options,\n effect = _ref.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n var x = _ref.x,\n y = _ref.y;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }, getWindow(popper)) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","////////////////////////////////////////////////////////////////////////////////\n//#region Types and Constants\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Actions represent the type of change to a location value.\n */\nexport enum Action {\n /**\n * A POP indicates a change to an arbitrary index in the history stack, such\n * as a back or forward navigation. It does not describe the direction of the\n * navigation, only that the current index changed.\n *\n * Note: This is the default action for newly created history objects.\n */\n Pop = \"POP\",\n\n /**\n * A PUSH indicates a new entry being added to the history stack, such as when\n * a link is clicked and a new page loads. When this happens, all subsequent\n * entries in the stack are lost.\n */\n Push = \"PUSH\",\n\n /**\n * A REPLACE indicates the entry at the current index in the history stack\n * being replaced by a new one.\n */\n Replace = \"REPLACE\",\n}\n\n/**\n * The pathname, search, and hash values of a URL.\n */\nexport interface Path {\n /**\n * A URL pathname, beginning with a /.\n */\n pathname: string;\n\n /**\n * A URL search string, beginning with a ?.\n */\n search: string;\n\n /**\n * A URL fragment identifier, beginning with a #.\n */\n hash: string;\n}\n\n// TODO: (v7) Change the Location generic default from `any` to `unknown` and\n// remove Remix `useLocation` wrapper.\n\n/**\n * An entry in a history stack. A location contains information about the\n * URL path, as well as possibly some arbitrary state and a key.\n */\nexport interface Location extends Path {\n /**\n * A value of arbitrary data associated with this location.\n */\n state: State;\n\n /**\n * A unique string associated with this location. May be used to safely store\n * and retrieve data in some other storage API, like `localStorage`.\n *\n * Note: This value is always \"default\" on the initial location.\n */\n key: string;\n}\n\n/**\n * A change to the current location.\n */\nexport interface Update {\n /**\n * The action that triggered the change.\n */\n action: Action;\n\n /**\n * The new location.\n */\n location: Location;\n\n /**\n * The delta between this location and the former location in the history stack\n */\n delta: number | null;\n}\n\n/**\n * A function that receives notifications about location changes.\n */\nexport interface Listener {\n (update: Update): void;\n}\n\n/**\n * Describes a location that is the destination of some navigation, either via\n * `history.push` or `history.replace`. This may be either a URL or the pieces\n * of a URL path.\n */\nexport type To = string | Partial;\n\n/**\n * A history is an interface to the navigation stack. The history serves as the\n * source of truth for the current location, as well as provides a set of\n * methods that may be used to change it.\n *\n * It is similar to the DOM's `window.history` object, but with a smaller, more\n * focused API.\n */\nexport interface History {\n /**\n * The last action that modified the current location. This will always be\n * Action.Pop when a history instance is first created. This value is mutable.\n */\n readonly action: Action;\n\n /**\n * The current location. This value is mutable.\n */\n readonly location: Location;\n\n /**\n * Returns a valid href for the given `to` value that may be used as\n * the value of an attribute.\n *\n * @param to - The destination URL\n */\n createHref(to: To): string;\n\n /**\n * Returns a URL for the given `to` value\n *\n * @param to - The destination URL\n */\n createURL(to: To): URL;\n\n /**\n * Encode a location the same way window.history would do (no-op for memory\n * history) so we ensure our PUSH/REPLACE navigations for data routers\n * behave the same as POP\n *\n * @param to Unencoded path\n */\n encodeLocation(to: To): Path;\n\n /**\n * Pushes a new location onto the history stack, increasing its length by one.\n * If there were any entries in the stack after the current one, they are\n * lost.\n *\n * @param to - The new URL\n * @param state - Data to associate with the new location\n */\n push(to: To, state?: any): void;\n\n /**\n * Replaces the current location in the history stack with a new one. The\n * location that was replaced will no longer be available.\n *\n * @param to - The new URL\n * @param state - Data to associate with the new location\n */\n replace(to: To, state?: any): void;\n\n /**\n * Navigates `n` entries backward/forward in the history stack relative to the\n * current index. For example, a \"back\" navigation would use go(-1).\n *\n * @param delta - The delta in the stack index\n */\n go(delta: number): void;\n\n /**\n * Sets up a listener that will be called whenever the current location\n * changes.\n *\n * @param listener - A function that will be called when the location changes\n * @returns unlisten - A function that may be used to stop listening\n */\n listen(listener: Listener): () => void;\n}\n\ntype HistoryState = {\n usr: any;\n key?: string;\n idx: number;\n};\n\nconst PopStateEventType = \"popstate\";\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Memory History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A user-supplied object that describes a location. Used when providing\n * entries to `createMemoryHistory` via its `initialEntries` option.\n */\nexport type InitialEntry = string | Partial;\n\nexport type MemoryHistoryOptions = {\n initialEntries?: InitialEntry[];\n initialIndex?: number;\n v5Compat?: boolean;\n};\n\n/**\n * A memory history stores locations in memory. This is useful in stateful\n * environments where there is no web browser, such as node tests or React\n * Native.\n */\nexport interface MemoryHistory extends History {\n /**\n * The current index in the history stack.\n */\n readonly index: number;\n}\n\n/**\n * Memory history stores the current location in memory. It is designed for use\n * in stateful non-browser environments like tests and React Native.\n */\nexport function createMemoryHistory(\n options: MemoryHistoryOptions = {}\n): MemoryHistory {\n let { initialEntries = [\"/\"], initialIndex, v5Compat = false } = options;\n let entries: Location[]; // Declare so we can access from createMemoryLocation\n entries = initialEntries.map((entry, index) =>\n createMemoryLocation(\n entry,\n typeof entry === \"string\" ? null : entry.state,\n index === 0 ? \"default\" : undefined\n )\n );\n let index = clampIndex(\n initialIndex == null ? entries.length - 1 : initialIndex\n );\n let action = Action.Pop;\n let listener: Listener | null = null;\n\n function clampIndex(n: number): number {\n return Math.min(Math.max(n, 0), entries.length - 1);\n }\n function getCurrentLocation(): Location {\n return entries[index];\n }\n function createMemoryLocation(\n to: To,\n state: any = null,\n key?: string\n ): Location {\n let location = createLocation(\n entries ? getCurrentLocation().pathname : \"/\",\n to,\n state,\n key\n );\n warning(\n location.pathname.charAt(0) === \"/\",\n `relative pathnames are not supported in memory history: ${JSON.stringify(\n to\n )}`\n );\n return location;\n }\n\n function createHref(to: To) {\n return typeof to === \"string\" ? to : createPath(to);\n }\n\n let history: MemoryHistory = {\n get index() {\n return index;\n },\n get action() {\n return action;\n },\n get location() {\n return getCurrentLocation();\n },\n createHref,\n createURL(to) {\n return new URL(createHref(to), \"http://localhost\");\n },\n encodeLocation(to: To) {\n let path = typeof to === \"string\" ? parsePath(to) : to;\n return {\n pathname: path.pathname || \"\",\n search: path.search || \"\",\n hash: path.hash || \"\",\n };\n },\n push(to, state) {\n action = Action.Push;\n let nextLocation = createMemoryLocation(to, state);\n index += 1;\n entries.splice(index, entries.length, nextLocation);\n if (v5Compat && listener) {\n listener({ action, location: nextLocation, delta: 1 });\n }\n },\n replace(to, state) {\n action = Action.Replace;\n let nextLocation = createMemoryLocation(to, state);\n entries[index] = nextLocation;\n if (v5Compat && listener) {\n listener({ action, location: nextLocation, delta: 0 });\n }\n },\n go(delta) {\n action = Action.Pop;\n let nextIndex = clampIndex(index + delta);\n let nextLocation = entries[nextIndex];\n index = nextIndex;\n if (listener) {\n listener({ action, location: nextLocation, delta });\n }\n },\n listen(fn: Listener) {\n listener = fn;\n return () => {\n listener = null;\n };\n },\n };\n\n return history;\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Browser History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A browser history stores the current location in regular URLs in a web\n * browser environment. This is the standard for most web apps and provides the\n * cleanest URLs the browser's address bar.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#browserhistory\n */\nexport interface BrowserHistory extends UrlHistory {}\n\nexport type BrowserHistoryOptions = UrlHistoryOptions;\n\n/**\n * Browser history stores the location in regular URLs. This is the standard for\n * most web apps, but it requires some configuration on the server to ensure you\n * serve the same app at multiple URLs.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createbrowserhistory\n */\nexport function createBrowserHistory(\n options: BrowserHistoryOptions = {}\n): BrowserHistory {\n function createBrowserLocation(\n window: Window,\n globalHistory: Window[\"history\"]\n ) {\n let { pathname, search, hash } = window.location;\n return createLocation(\n \"\",\n { pathname, search, hash },\n // state defaults to `null` because `window.history.state` does\n (globalHistory.state && globalHistory.state.usr) || null,\n (globalHistory.state && globalHistory.state.key) || \"default\"\n );\n }\n\n function createBrowserHref(window: Window, to: To) {\n return typeof to === \"string\" ? to : createPath(to);\n }\n\n return getUrlBasedHistory(\n createBrowserLocation,\n createBrowserHref,\n null,\n options\n );\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Hash History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A hash history stores the current location in the fragment identifier portion\n * of the URL in a web browser environment.\n *\n * This is ideal for apps that do not control the server for some reason\n * (because the fragment identifier is never sent to the server), including some\n * shared hosting environments that do not provide fine-grained controls over\n * which pages are served at which URLs.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#hashhistory\n */\nexport interface HashHistory extends UrlHistory {}\n\nexport type HashHistoryOptions = UrlHistoryOptions;\n\n/**\n * Hash history stores the location in window.location.hash. This makes it ideal\n * for situations where you don't want to send the location to the server for\n * some reason, either because you do cannot configure it or the URL space is\n * reserved for something else.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createhashhistory\n */\nexport function createHashHistory(\n options: HashHistoryOptions = {}\n): HashHistory {\n function createHashLocation(\n window: Window,\n globalHistory: Window[\"history\"]\n ) {\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n } = parsePath(window.location.hash.substr(1));\n\n // Hash URL should always have a leading / just like window.location.pathname\n // does, so if an app ends up at a route like /#something then we add a\n // leading slash so all of our path-matching behaves the same as if it would\n // in a browser router. This is particularly important when there exists a\n // root splat route () since that matches internally against\n // \"/*\" and we'd expect /#something to 404 in a hash router app.\n if (!pathname.startsWith(\"/\") && !pathname.startsWith(\".\")) {\n pathname = \"/\" + pathname;\n }\n\n return createLocation(\n \"\",\n { pathname, search, hash },\n // state defaults to `null` because `window.history.state` does\n (globalHistory.state && globalHistory.state.usr) || null,\n (globalHistory.state && globalHistory.state.key) || \"default\"\n );\n }\n\n function createHashHref(window: Window, to: To) {\n let base = window.document.querySelector(\"base\");\n let href = \"\";\n\n if (base && base.getAttribute(\"href\")) {\n let url = window.location.href;\n let hashIndex = url.indexOf(\"#\");\n href = hashIndex === -1 ? url : url.slice(0, hashIndex);\n }\n\n return href + \"#\" + (typeof to === \"string\" ? to : createPath(to));\n }\n\n function validateHashLocation(location: Location, to: To) {\n warning(\n location.pathname.charAt(0) === \"/\",\n `relative pathnames are not supported in hash history.push(${JSON.stringify(\n to\n )})`\n );\n }\n\n return getUrlBasedHistory(\n createHashLocation,\n createHashHref,\n validateHashLocation,\n options\n );\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region UTILS\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * @private\n */\nexport function invariant(value: boolean, message?: string): asserts value;\nexport function invariant(\n value: T | null | undefined,\n message?: string\n): asserts value is T;\nexport function invariant(value: any, message?: string) {\n if (value === false || value === null || typeof value === \"undefined\") {\n throw new Error(message);\n }\n}\n\nexport function warning(cond: any, message: string) {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n\n try {\n // Welcome to debugging history!\n //\n // This error is thrown as a convenience, so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\nfunction createKey() {\n return Math.random().toString(36).substr(2, 8);\n}\n\n/**\n * For browser-based histories, we combine the state and key into an object\n */\nfunction getHistoryState(location: Location, index: number): HistoryState {\n return {\n usr: location.state,\n key: location.key,\n idx: index,\n };\n}\n\n/**\n * Creates a Location object with a unique key from the given Path\n */\nexport function createLocation(\n current: string | Location,\n to: To,\n state: any = null,\n key?: string\n): Readonly {\n let location: Readonly = {\n pathname: typeof current === \"string\" ? current : current.pathname,\n search: \"\",\n hash: \"\",\n ...(typeof to === \"string\" ? parsePath(to) : to),\n state,\n // TODO: This could be cleaned up. push/replace should probably just take\n // full Locations now and avoid the need to run through this flow at all\n // But that's a pretty big refactor to the current test suite so going to\n // keep as is for the time being and just let any incoming keys take precedence\n key: (to && (to as Location).key) || key || createKey(),\n };\n return location;\n}\n\n/**\n * Creates a string URL path from the given pathname, search, and hash components.\n */\nexport function createPath({\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n}: Partial) {\n if (search && search !== \"?\")\n pathname += search.charAt(0) === \"?\" ? search : \"?\" + search;\n if (hash && hash !== \"#\")\n pathname += hash.charAt(0) === \"#\" ? hash : \"#\" + hash;\n return pathname;\n}\n\n/**\n * Parses a string URL path into its separate pathname, search, and hash components.\n */\nexport function parsePath(path: string): Partial {\n let parsedPath: Partial = {};\n\n if (path) {\n let hashIndex = path.indexOf(\"#\");\n if (hashIndex >= 0) {\n parsedPath.hash = path.substr(hashIndex);\n path = path.substr(0, hashIndex);\n }\n\n let searchIndex = path.indexOf(\"?\");\n if (searchIndex >= 0) {\n parsedPath.search = path.substr(searchIndex);\n path = path.substr(0, searchIndex);\n }\n\n if (path) {\n parsedPath.pathname = path;\n }\n }\n\n return parsedPath;\n}\n\nexport interface UrlHistory extends History {}\n\nexport type UrlHistoryOptions = {\n window?: Window;\n v5Compat?: boolean;\n};\n\nfunction getUrlBasedHistory(\n getLocation: (window: Window, globalHistory: Window[\"history\"]) => Location,\n createHref: (window: Window, to: To) => string,\n validateLocation: ((location: Location, to: To) => void) | null,\n options: UrlHistoryOptions = {}\n): UrlHistory {\n let { window = document.defaultView!, v5Compat = false } = options;\n let globalHistory = window.history;\n let action = Action.Pop;\n let listener: Listener | null = null;\n\n let index = getIndex()!;\n // Index should only be null when we initialize. If not, it's because the\n // user called history.pushState or history.replaceState directly, in which\n // case we should log a warning as it will result in bugs.\n if (index == null) {\n index = 0;\n globalHistory.replaceState({ ...globalHistory.state, idx: index }, \"\");\n }\n\n function getIndex(): number {\n let state = globalHistory.state || { idx: null };\n return state.idx;\n }\n\n function handlePop() {\n action = Action.Pop;\n let nextIndex = getIndex();\n let delta = nextIndex == null ? null : nextIndex - index;\n index = nextIndex;\n if (listener) {\n listener({ action, location: history.location, delta });\n }\n }\n\n function push(to: To, state?: any) {\n action = Action.Push;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n\n index = getIndex() + 1;\n let historyState = getHistoryState(location, index);\n let url = history.createHref(location);\n\n // try...catch because iOS limits us to 100 pushState calls :/\n try {\n globalHistory.pushState(historyState, \"\", url);\n } catch (error) {\n // If the exception is because `state` can't be serialized, let that throw\n // outwards just like a replace call would so the dev knows the cause\n // https://html.spec.whatwg.org/multipage/nav-history-apis.html#shared-history-push/replace-state-steps\n // https://html.spec.whatwg.org/multipage/structured-data.html#structuredserializeinternal\n if (error instanceof DOMException && error.name === \"DataCloneError\") {\n throw error;\n }\n // They are going to lose state here, but there is no real\n // way to warn them about it since the page will refresh...\n window.location.assign(url);\n }\n\n if (v5Compat && listener) {\n listener({ action, location: history.location, delta: 1 });\n }\n }\n\n function replace(to: To, state?: any) {\n action = Action.Replace;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n\n index = getIndex();\n let historyState = getHistoryState(location, index);\n let url = history.createHref(location);\n globalHistory.replaceState(historyState, \"\", url);\n\n if (v5Compat && listener) {\n listener({ action, location: history.location, delta: 0 });\n }\n }\n\n function createURL(to: To): URL {\n // window.location.origin is \"null\" (the literal string value) in Firefox\n // under certain conditions, notably when serving from a local HTML file\n // See https://bugzilla.mozilla.org/show_bug.cgi?id=878297\n let base =\n window.location.origin !== \"null\"\n ? window.location.origin\n : window.location.href;\n\n let href = typeof to === \"string\" ? to : createPath(to);\n // Treating this as a full URL will strip any trailing spaces so we need to\n // pre-encode them since they might be part of a matching splat param from\n // an ancestor route\n href = href.replace(/ $/, \"%20\");\n invariant(\n base,\n `No window.location.(origin|href) available to create URL for href: ${href}`\n );\n return new URL(href, base);\n }\n\n let history: History = {\n get action() {\n return action;\n },\n get location() {\n return getLocation(window, globalHistory);\n },\n listen(fn: Listener) {\n if (listener) {\n throw new Error(\"A history only accepts one active listener\");\n }\n window.addEventListener(PopStateEventType, handlePop);\n listener = fn;\n\n return () => {\n window.removeEventListener(PopStateEventType, handlePop);\n listener = null;\n };\n },\n createHref(to) {\n return createHref(window, to);\n },\n createURL,\n encodeLocation(to) {\n // Encode a Location the same way window.location would\n let url = createURL(to);\n return {\n pathname: url.pathname,\n search: url.search,\n hash: url.hash,\n };\n },\n push,\n replace,\n go(n) {\n return globalHistory.go(n);\n },\n };\n\n return history;\n}\n\n//#endregion\n","import type { Location, Path, To } from \"./history\";\nimport { invariant, parsePath, warning } from \"./history\";\n\n/**\n * Map of routeId -> data returned from a loader/action/error\n */\nexport interface RouteData {\n [routeId: string]: any;\n}\n\nexport enum ResultType {\n data = \"data\",\n deferred = \"deferred\",\n redirect = \"redirect\",\n error = \"error\",\n}\n\n/**\n * Successful result from a loader or action\n */\nexport interface SuccessResult {\n type: ResultType.data;\n data: unknown;\n statusCode?: number;\n headers?: Headers;\n}\n\n/**\n * Successful defer() result from a loader or action\n */\nexport interface DeferredResult {\n type: ResultType.deferred;\n deferredData: DeferredData;\n statusCode?: number;\n headers?: Headers;\n}\n\n/**\n * Redirect result from a loader or action\n */\nexport interface RedirectResult {\n type: ResultType.redirect;\n // We keep the raw Response for redirects so we can return it verbatim\n response: Response;\n}\n\n/**\n * Unsuccessful result from a loader or action\n */\nexport interface ErrorResult {\n type: ResultType.error;\n error: unknown;\n statusCode?: number;\n headers?: Headers;\n}\n\n/**\n * Result from a loader or action - potentially successful or unsuccessful\n */\nexport type DataResult =\n | SuccessResult\n | DeferredResult\n | RedirectResult\n | ErrorResult;\n\ntype LowerCaseFormMethod = \"get\" | \"post\" | \"put\" | \"patch\" | \"delete\";\ntype UpperCaseFormMethod = Uppercase;\n\n/**\n * Users can specify either lowercase or uppercase form methods on `
`,\n * useSubmit(), ``, etc.\n */\nexport type HTMLFormMethod = LowerCaseFormMethod | UpperCaseFormMethod;\n\n/**\n * Active navigation/fetcher form methods are exposed in lowercase on the\n * RouterState\n */\nexport type FormMethod = LowerCaseFormMethod;\nexport type MutationFormMethod = Exclude;\n\n/**\n * In v7, active navigation/fetcher form methods are exposed in uppercase on the\n * RouterState. This is to align with the normalization done via fetch().\n */\nexport type V7_FormMethod = UpperCaseFormMethod;\nexport type V7_MutationFormMethod = Exclude;\n\nexport type FormEncType =\n | \"application/x-www-form-urlencoded\"\n | \"multipart/form-data\"\n | \"application/json\"\n | \"text/plain\";\n\n// Thanks https://github.com/sindresorhus/type-fest!\ntype JsonObject = { [Key in string]: JsonValue } & {\n [Key in string]?: JsonValue | undefined;\n};\ntype JsonArray = JsonValue[] | readonly JsonValue[];\ntype JsonPrimitive = string | number | boolean | null;\ntype JsonValue = JsonPrimitive | JsonObject | JsonArray;\n\n/**\n * @private\n * Internal interface to pass around for action submissions, not intended for\n * external consumption\n */\nexport type Submission =\n | {\n formMethod: FormMethod | V7_FormMethod;\n formAction: string;\n formEncType: FormEncType;\n formData: FormData;\n json: undefined;\n text: undefined;\n }\n | {\n formMethod: FormMethod | V7_FormMethod;\n formAction: string;\n formEncType: FormEncType;\n formData: undefined;\n json: JsonValue;\n text: undefined;\n }\n | {\n formMethod: FormMethod | V7_FormMethod;\n formAction: string;\n formEncType: FormEncType;\n formData: undefined;\n json: undefined;\n text: string;\n };\n\n/**\n * @private\n * Arguments passed to route loader/action functions. Same for now but we keep\n * this as a private implementation detail in case they diverge in the future.\n */\ninterface DataFunctionArgs {\n request: Request;\n params: Params;\n context?: Context;\n}\n\n// TODO: (v7) Change the defaults from any to unknown in and remove Remix wrappers:\n// ActionFunction, ActionFunctionArgs, LoaderFunction, LoaderFunctionArgs\n// Also, make them a type alias instead of an interface\n\n/**\n * Arguments passed to loader functions\n */\nexport interface LoaderFunctionArgs\n extends DataFunctionArgs {}\n\n/**\n * Arguments passed to action functions\n */\nexport interface ActionFunctionArgs\n extends DataFunctionArgs {}\n\n/**\n * Loaders and actions can return anything except `undefined` (`null` is a\n * valid return value if there is no data to return). Responses are preferred\n * and will ease any future migration to Remix\n */\ntype DataFunctionValue = Response | NonNullable | null;\n\ntype DataFunctionReturnValue = Promise | DataFunctionValue;\n\n/**\n * Route loader function signature\n */\nexport type LoaderFunction = {\n (\n args: LoaderFunctionArgs,\n handlerCtx?: unknown\n ): DataFunctionReturnValue;\n} & { hydrate?: boolean };\n\n/**\n * Route action function signature\n */\nexport interface ActionFunction {\n (\n args: ActionFunctionArgs,\n handlerCtx?: unknown\n ): DataFunctionReturnValue;\n}\n\n/**\n * Arguments passed to shouldRevalidate function\n */\nexport interface ShouldRevalidateFunctionArgs {\n currentUrl: URL;\n currentParams: AgnosticDataRouteMatch[\"params\"];\n nextUrl: URL;\n nextParams: AgnosticDataRouteMatch[\"params\"];\n formMethod?: Submission[\"formMethod\"];\n formAction?: Submission[\"formAction\"];\n formEncType?: Submission[\"formEncType\"];\n text?: Submission[\"text\"];\n formData?: Submission[\"formData\"];\n json?: Submission[\"json\"];\n actionStatus?: number;\n actionResult?: any;\n defaultShouldRevalidate: boolean;\n}\n\n/**\n * Route shouldRevalidate function signature. This runs after any submission\n * (navigation or fetcher), so we flatten the navigation/fetcher submission\n * onto the arguments. It shouldn't matter whether it came from a navigation\n * or a fetcher, what really matters is the URLs and the formData since loaders\n * have to re-run based on the data models that were potentially mutated.\n */\nexport interface ShouldRevalidateFunction {\n (args: ShouldRevalidateFunctionArgs): boolean;\n}\n\n/**\n * Function provided by the framework-aware layers to set `hasErrorBoundary`\n * from the framework-aware `errorElement` prop\n *\n * @deprecated Use `mapRouteProperties` instead\n */\nexport interface DetectErrorBoundaryFunction {\n (route: AgnosticRouteObject): boolean;\n}\n\nexport interface DataStrategyMatch\n extends AgnosticRouteMatch {\n shouldLoad: boolean;\n resolve: (\n handlerOverride?: (\n handler: (ctx?: unknown) => DataFunctionReturnValue\n ) => DataFunctionReturnValue\n ) => Promise;\n}\n\nexport interface DataStrategyFunctionArgs\n extends DataFunctionArgs {\n matches: DataStrategyMatch[];\n fetcherKey: string | null;\n}\n\n/**\n * Result from a loader or action called via dataStrategy\n */\nexport interface DataStrategyResult {\n type: \"data\" | \"error\";\n result: unknown; // data, Error, Response, DeferredData, DataWithResponseInit\n}\n\nexport interface DataStrategyFunction {\n (args: DataStrategyFunctionArgs): Promise>;\n}\n\nexport type AgnosticPatchRoutesOnNavigationFunctionArgs<\n O extends AgnosticRouteObject = AgnosticRouteObject,\n M extends AgnosticRouteMatch = AgnosticRouteMatch\n> = {\n path: string;\n matches: M[];\n patch: (routeId: string | null, children: O[]) => void;\n};\n\nexport type AgnosticPatchRoutesOnNavigationFunction<\n O extends AgnosticRouteObject = AgnosticRouteObject,\n M extends AgnosticRouteMatch = AgnosticRouteMatch\n> = (\n opts: AgnosticPatchRoutesOnNavigationFunctionArgs\n) => void | Promise;\n\n/**\n * Function provided by the framework-aware layers to set any framework-specific\n * properties from framework-agnostic properties\n */\nexport interface MapRoutePropertiesFunction {\n (route: AgnosticRouteObject): {\n hasErrorBoundary: boolean;\n } & Record;\n}\n\n/**\n * Keys we cannot change from within a lazy() function. We spread all other keys\n * onto the route. Either they're meaningful to the router, or they'll get\n * ignored.\n */\nexport type ImmutableRouteKey =\n | \"lazy\"\n | \"caseSensitive\"\n | \"path\"\n | \"id\"\n | \"index\"\n | \"children\";\n\nexport const immutableRouteKeys = new Set([\n \"lazy\",\n \"caseSensitive\",\n \"path\",\n \"id\",\n \"index\",\n \"children\",\n]);\n\ntype RequireOne = Exclude<\n {\n [K in keyof T]: K extends Key ? Omit & Required> : never;\n }[keyof T],\n undefined\n>;\n\n/**\n * lazy() function to load a route definition, which can add non-matching\n * related properties to a route\n */\nexport interface LazyRouteFunction {\n (): Promise>>;\n}\n\n/**\n * Base RouteObject with common props shared by all types of routes\n */\ntype AgnosticBaseRouteObject = {\n caseSensitive?: boolean;\n path?: string;\n id?: string;\n loader?: LoaderFunction | boolean;\n action?: ActionFunction | boolean;\n hasErrorBoundary?: boolean;\n shouldRevalidate?: ShouldRevalidateFunction;\n handle?: any;\n lazy?: LazyRouteFunction;\n};\n\n/**\n * Index routes must not have children\n */\nexport type AgnosticIndexRouteObject = AgnosticBaseRouteObject & {\n children?: undefined;\n index: true;\n};\n\n/**\n * Non-index routes may have children, but cannot have index\n */\nexport type AgnosticNonIndexRouteObject = AgnosticBaseRouteObject & {\n children?: AgnosticRouteObject[];\n index?: false;\n};\n\n/**\n * A route object represents a logical route, with (optionally) its child\n * routes organized in a tree-like structure.\n */\nexport type AgnosticRouteObject =\n | AgnosticIndexRouteObject\n | AgnosticNonIndexRouteObject;\n\nexport type AgnosticDataIndexRouteObject = AgnosticIndexRouteObject & {\n id: string;\n};\n\nexport type AgnosticDataNonIndexRouteObject = AgnosticNonIndexRouteObject & {\n children?: AgnosticDataRouteObject[];\n id: string;\n};\n\n/**\n * A data route object, which is just a RouteObject with a required unique ID\n */\nexport type AgnosticDataRouteObject =\n | AgnosticDataIndexRouteObject\n | AgnosticDataNonIndexRouteObject;\n\nexport type RouteManifest = Record;\n\n// Recursive helper for finding path parameters in the absence of wildcards\ntype _PathParam =\n // split path into individual path segments\n Path extends `${infer L}/${infer R}`\n ? _PathParam | _PathParam\n : // find params after `:`\n Path extends `:${infer Param}`\n ? Param extends `${infer Optional}?`\n ? Optional\n : Param\n : // otherwise, there aren't any params present\n never;\n\n/**\n * Examples:\n * \"/a/b/*\" -> \"*\"\n * \":a\" -> \"a\"\n * \"/a/:b\" -> \"b\"\n * \"/a/blahblahblah:b\" -> \"b\"\n * \"/:a/:b\" -> \"a\" | \"b\"\n * \"/:a/b/:c/*\" -> \"a\" | \"c\" | \"*\"\n */\nexport type PathParam =\n // check if path is just a wildcard\n Path extends \"*\" | \"/*\"\n ? \"*\"\n : // look for wildcard at the end of the path\n Path extends `${infer Rest}/*`\n ? \"*\" | _PathParam\n : // look for params in the absence of wildcards\n _PathParam;\n\n// Attempt to parse the given string segment. If it fails, then just return the\n// plain string type as a default fallback. Otherwise, return the union of the\n// parsed string literals that were referenced as dynamic segments in the route.\nexport type ParamParseKey =\n // if you could not find path params, fallback to `string`\n [PathParam] extends [never] ? string : PathParam;\n\n/**\n * The parameters that were parsed from the URL path.\n */\nexport type Params = {\n readonly [key in Key]: string | undefined;\n};\n\n/**\n * A RouteMatch contains info about how a route matched a URL.\n */\nexport interface AgnosticRouteMatch<\n ParamKey extends string = string,\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n> {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The route object that was used to match.\n */\n route: RouteObjectType;\n}\n\nexport interface AgnosticDataRouteMatch\n extends AgnosticRouteMatch {}\n\nfunction isIndexRoute(\n route: AgnosticRouteObject\n): route is AgnosticIndexRouteObject {\n return route.index === true;\n}\n\n// Walk the route tree generating unique IDs where necessary, so we are working\n// solely with AgnosticDataRouteObject's within the Router\nexport function convertRoutesToDataRoutes(\n routes: AgnosticRouteObject[],\n mapRouteProperties: MapRoutePropertiesFunction,\n parentPath: string[] = [],\n manifest: RouteManifest = {}\n): AgnosticDataRouteObject[] {\n return routes.map((route, index) => {\n let treePath = [...parentPath, String(index)];\n let id = typeof route.id === \"string\" ? route.id : treePath.join(\"-\");\n invariant(\n route.index !== true || !route.children,\n `Cannot specify children on an index route`\n );\n invariant(\n !manifest[id],\n `Found a route id collision on id \"${id}\". Route ` +\n \"id's must be globally unique within Data Router usages\"\n );\n\n if (isIndexRoute(route)) {\n let indexRoute: AgnosticDataIndexRouteObject = {\n ...route,\n ...mapRouteProperties(route),\n id,\n };\n manifest[id] = indexRoute;\n return indexRoute;\n } else {\n let pathOrLayoutRoute: AgnosticDataNonIndexRouteObject = {\n ...route,\n ...mapRouteProperties(route),\n id,\n children: undefined,\n };\n manifest[id] = pathOrLayoutRoute;\n\n if (route.children) {\n pathOrLayoutRoute.children = convertRoutesToDataRoutes(\n route.children,\n mapRouteProperties,\n treePath,\n manifest\n );\n }\n\n return pathOrLayoutRoute;\n }\n });\n}\n\n/**\n * Matches the given routes to a location and returns the match data.\n *\n * @see https://reactrouter.com/v6/utils/match-routes\n */\nexport function matchRoutes<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n routes: RouteObjectType[],\n locationArg: Partial | string,\n basename = \"/\"\n): AgnosticRouteMatch[] | null {\n return matchRoutesImpl(routes, locationArg, basename, false);\n}\n\nexport function matchRoutesImpl<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n routes: RouteObjectType[],\n locationArg: Partial | string,\n basename: string,\n allowPartial: boolean\n): AgnosticRouteMatch[] | null {\n let location =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n let pathname = stripBasename(location.pathname || \"/\", basename);\n\n if (pathname == null) {\n return null;\n }\n\n let branches = flattenRoutes(routes);\n rankRouteBranches(branches);\n\n let matches = null;\n for (let i = 0; matches == null && i < branches.length; ++i) {\n // Incoming pathnames are generally encoded from either window.location\n // or from router.navigate, but we want to match against the unencoded\n // paths in the route definitions. Memory router locations won't be\n // encoded here but there also shouldn't be anything to decode so this\n // should be a safe operation. This avoids needing matchRoutes to be\n // history-aware.\n let decoded = decodePath(pathname);\n matches = matchRouteBranch(\n branches[i],\n decoded,\n allowPartial\n );\n }\n\n return matches;\n}\n\nexport interface UIMatch {\n id: string;\n pathname: string;\n params: AgnosticRouteMatch[\"params\"];\n data: Data;\n handle: Handle;\n}\n\nexport function convertRouteMatchToUiMatch(\n match: AgnosticDataRouteMatch,\n loaderData: RouteData\n): UIMatch {\n let { route, pathname, params } = match;\n return {\n id: route.id,\n pathname,\n params,\n data: loaderData[route.id],\n handle: route.handle,\n };\n}\n\ninterface RouteMeta<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n> {\n relativePath: string;\n caseSensitive: boolean;\n childrenIndex: number;\n route: RouteObjectType;\n}\n\ninterface RouteBranch<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n> {\n path: string;\n score: number;\n routesMeta: RouteMeta[];\n}\n\nfunction flattenRoutes<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n routes: RouteObjectType[],\n branches: RouteBranch[] = [],\n parentsMeta: RouteMeta[] = [],\n parentPath = \"\"\n): RouteBranch[] {\n let flattenRoute = (\n route: RouteObjectType,\n index: number,\n relativePath?: string\n ) => {\n let meta: RouteMeta = {\n relativePath:\n relativePath === undefined ? route.path || \"\" : relativePath,\n caseSensitive: route.caseSensitive === true,\n childrenIndex: index,\n route,\n };\n\n if (meta.relativePath.startsWith(\"/\")) {\n invariant(\n meta.relativePath.startsWith(parentPath),\n `Absolute route path \"${meta.relativePath}\" nested under path ` +\n `\"${parentPath}\" is not valid. An absolute child route path ` +\n `must start with the combined path of all its parent routes.`\n );\n\n meta.relativePath = meta.relativePath.slice(parentPath.length);\n }\n\n let path = joinPaths([parentPath, meta.relativePath]);\n let routesMeta = parentsMeta.concat(meta);\n\n // Add the children before adding this route to the array, so we traverse the\n // route tree depth-first and child routes appear before their parents in\n // the \"flattened\" version.\n if (route.children && route.children.length > 0) {\n invariant(\n // Our types know better, but runtime JS may not!\n // @ts-expect-error\n route.index !== true,\n `Index routes must not have child routes. Please remove ` +\n `all child routes from route path \"${path}\".`\n );\n flattenRoutes(route.children, branches, routesMeta, path);\n }\n\n // Routes without a path shouldn't ever match by themselves unless they are\n // index routes, so don't add them to the list of possible branches.\n if (route.path == null && !route.index) {\n return;\n }\n\n branches.push({\n path,\n score: computeScore(path, route.index),\n routesMeta,\n });\n };\n routes.forEach((route, index) => {\n // coarse-grain check for optional params\n if (route.path === \"\" || !route.path?.includes(\"?\")) {\n flattenRoute(route, index);\n } else {\n for (let exploded of explodeOptionalSegments(route.path)) {\n flattenRoute(route, index, exploded);\n }\n }\n });\n\n return branches;\n}\n\n/**\n * Computes all combinations of optional path segments for a given path,\n * excluding combinations that are ambiguous and of lower priority.\n *\n * For example, `/one/:two?/three/:four?/:five?` explodes to:\n * - `/one/three`\n * - `/one/:two/three`\n * - `/one/three/:four`\n * - `/one/three/:five`\n * - `/one/:two/three/:four`\n * - `/one/:two/three/:five`\n * - `/one/three/:four/:five`\n * - `/one/:two/three/:four/:five`\n */\nfunction explodeOptionalSegments(path: string): string[] {\n let segments = path.split(\"/\");\n if (segments.length === 0) return [];\n\n let [first, ...rest] = segments;\n\n // Optional path segments are denoted by a trailing `?`\n let isOptional = first.endsWith(\"?\");\n // Compute the corresponding required segment: `foo?` -> `foo`\n let required = first.replace(/\\?$/, \"\");\n\n if (rest.length === 0) {\n // Intepret empty string as omitting an optional segment\n // `[\"one\", \"\", \"three\"]` corresponds to omitting `:two` from `/one/:two?/three` -> `/one/three`\n return isOptional ? [required, \"\"] : [required];\n }\n\n let restExploded = explodeOptionalSegments(rest.join(\"/\"));\n\n let result: string[] = [];\n\n // All child paths with the prefix. Do this for all children before the\n // optional version for all children, so we get consistent ordering where the\n // parent optional aspect is preferred as required. Otherwise, we can get\n // child sections interspersed where deeper optional segments are higher than\n // parent optional segments, where for example, /:two would explode _earlier_\n // then /:one. By always including the parent as required _for all children_\n // first, we avoid this issue\n result.push(\n ...restExploded.map((subpath) =>\n subpath === \"\" ? required : [required, subpath].join(\"/\")\n )\n );\n\n // Then, if this is an optional value, add all child versions without\n if (isOptional) {\n result.push(...restExploded);\n }\n\n // for absolute paths, ensure `/` instead of empty segment\n return result.map((exploded) =>\n path.startsWith(\"/\") && exploded === \"\" ? \"/\" : exploded\n );\n}\n\nfunction rankRouteBranches(branches: RouteBranch[]): void {\n branches.sort((a, b) =>\n a.score !== b.score\n ? b.score - a.score // Higher score first\n : compareIndexes(\n a.routesMeta.map((meta) => meta.childrenIndex),\n b.routesMeta.map((meta) => meta.childrenIndex)\n )\n );\n}\n\nconst paramRe = /^:[\\w-]+$/;\nconst dynamicSegmentValue = 3;\nconst indexRouteValue = 2;\nconst emptySegmentValue = 1;\nconst staticSegmentValue = 10;\nconst splatPenalty = -2;\nconst isSplat = (s: string) => s === \"*\";\n\nfunction computeScore(path: string, index: boolean | undefined): number {\n let segments = path.split(\"/\");\n let initialScore = segments.length;\n if (segments.some(isSplat)) {\n initialScore += splatPenalty;\n }\n\n if (index) {\n initialScore += indexRouteValue;\n }\n\n return segments\n .filter((s) => !isSplat(s))\n .reduce(\n (score, segment) =>\n score +\n (paramRe.test(segment)\n ? dynamicSegmentValue\n : segment === \"\"\n ? emptySegmentValue\n : staticSegmentValue),\n initialScore\n );\n}\n\nfunction compareIndexes(a: number[], b: number[]): number {\n let siblings =\n a.length === b.length && a.slice(0, -1).every((n, i) => n === b[i]);\n\n return siblings\n ? // If two routes are siblings, we should try to match the earlier sibling\n // first. This allows people to have fine-grained control over the matching\n // behavior by simply putting routes with identical paths in the order they\n // want them tried.\n a[a.length - 1] - b[b.length - 1]\n : // Otherwise, it doesn't really make sense to rank non-siblings by index,\n // so they sort equally.\n 0;\n}\n\nfunction matchRouteBranch<\n ParamKey extends string = string,\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n branch: RouteBranch,\n pathname: string,\n allowPartial = false\n): AgnosticRouteMatch[] | null {\n let { routesMeta } = branch;\n\n let matchedParams = {};\n let matchedPathname = \"/\";\n let matches: AgnosticRouteMatch[] = [];\n for (let i = 0; i < routesMeta.length; ++i) {\n let meta = routesMeta[i];\n let end = i === routesMeta.length - 1;\n let remainingPathname =\n matchedPathname === \"/\"\n ? pathname\n : pathname.slice(matchedPathname.length) || \"/\";\n let match = matchPath(\n { path: meta.relativePath, caseSensitive: meta.caseSensitive, end },\n remainingPathname\n );\n\n let route = meta.route;\n\n if (\n !match &&\n end &&\n allowPartial &&\n !routesMeta[routesMeta.length - 1].route.index\n ) {\n match = matchPath(\n {\n path: meta.relativePath,\n caseSensitive: meta.caseSensitive,\n end: false,\n },\n remainingPathname\n );\n }\n\n if (!match) {\n return null;\n }\n\n Object.assign(matchedParams, match.params);\n\n matches.push({\n // TODO: Can this as be avoided?\n params: matchedParams as Params,\n pathname: joinPaths([matchedPathname, match.pathname]),\n pathnameBase: normalizePathname(\n joinPaths([matchedPathname, match.pathnameBase])\n ),\n route,\n });\n\n if (match.pathnameBase !== \"/\") {\n matchedPathname = joinPaths([matchedPathname, match.pathnameBase]);\n }\n }\n\n return matches;\n}\n\n/**\n * Returns a path with params interpolated.\n *\n * @see https://reactrouter.com/v6/utils/generate-path\n */\nexport function generatePath(\n originalPath: Path,\n params: {\n [key in PathParam]: string | null;\n } = {} as any\n): string {\n let path: string = originalPath;\n if (path.endsWith(\"*\") && path !== \"*\" && !path.endsWith(\"/*\")) {\n warning(\n false,\n `Route path \"${path}\" will be treated as if it were ` +\n `\"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must ` +\n `always follow a \\`/\\` in the pattern. To get rid of this warning, ` +\n `please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`\n );\n path = path.replace(/\\*$/, \"/*\") as Path;\n }\n\n // ensure `/` is added at the beginning if the path is absolute\n const prefix = path.startsWith(\"/\") ? \"/\" : \"\";\n\n const stringify = (p: any) =>\n p == null ? \"\" : typeof p === \"string\" ? p : String(p);\n\n const segments = path\n .split(/\\/+/)\n .map((segment, index, array) => {\n const isLastSegment = index === array.length - 1;\n\n // only apply the splat if it's the last segment\n if (isLastSegment && segment === \"*\") {\n const star = \"*\" as PathParam;\n // Apply the splat\n return stringify(params[star]);\n }\n\n const keyMatch = segment.match(/^:([\\w-]+)(\\??)$/);\n if (keyMatch) {\n const [, key, optional] = keyMatch;\n let param = params[key as PathParam];\n invariant(optional === \"?\" || param != null, `Missing \":${key}\" param`);\n return stringify(param);\n }\n\n // Remove any optional markers from optional static segments\n return segment.replace(/\\?$/g, \"\");\n })\n // Remove empty segments\n .filter((segment) => !!segment);\n\n return prefix + segments.join(\"/\");\n}\n\n/**\n * A PathPattern is used to match on some portion of a URL pathname.\n */\nexport interface PathPattern {\n /**\n * A string to match against a URL pathname. May contain `:id`-style segments\n * to indicate placeholders for dynamic parameters. May also end with `/*` to\n * indicate matching the rest of the URL pathname.\n */\n path: Path;\n /**\n * Should be `true` if the static portions of the `path` should be matched in\n * the same case.\n */\n caseSensitive?: boolean;\n /**\n * Should be `true` if this pattern should match the entire URL pathname.\n */\n end?: boolean;\n}\n\n/**\n * A PathMatch contains info about how a PathPattern matched on a URL pathname.\n */\nexport interface PathMatch {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The pattern that was used to match.\n */\n pattern: PathPattern;\n}\n\ntype Mutable = {\n -readonly [P in keyof T]: T[P];\n};\n\n/**\n * Performs pattern matching on a URL pathname and returns information about\n * the match.\n *\n * @see https://reactrouter.com/v6/utils/match-path\n */\nexport function matchPath<\n ParamKey extends ParamParseKey,\n Path extends string\n>(\n pattern: PathPattern | Path,\n pathname: string\n): PathMatch | null {\n if (typeof pattern === \"string\") {\n pattern = { path: pattern, caseSensitive: false, end: true };\n }\n\n let [matcher, compiledParams] = compilePath(\n pattern.path,\n pattern.caseSensitive,\n pattern.end\n );\n\n let match = pathname.match(matcher);\n if (!match) return null;\n\n let matchedPathname = match[0];\n let pathnameBase = matchedPathname.replace(/(.)\\/+$/, \"$1\");\n let captureGroups = match.slice(1);\n let params: Params = compiledParams.reduce>(\n (memo, { paramName, isOptional }, index) => {\n // We need to compute the pathnameBase here using the raw splat value\n // instead of using params[\"*\"] later because it will be decoded then\n if (paramName === \"*\") {\n let splatValue = captureGroups[index] || \"\";\n pathnameBase = matchedPathname\n .slice(0, matchedPathname.length - splatValue.length)\n .replace(/(.)\\/+$/, \"$1\");\n }\n\n const value = captureGroups[index];\n if (isOptional && !value) {\n memo[paramName] = undefined;\n } else {\n memo[paramName] = (value || \"\").replace(/%2F/g, \"/\");\n }\n return memo;\n },\n {}\n );\n\n return {\n params,\n pathname: matchedPathname,\n pathnameBase,\n pattern,\n };\n}\n\ntype CompiledPathParam = { paramName: string; isOptional?: boolean };\n\nfunction compilePath(\n path: string,\n caseSensitive = false,\n end = true\n): [RegExp, CompiledPathParam[]] {\n warning(\n path === \"*\" || !path.endsWith(\"*\") || path.endsWith(\"/*\"),\n `Route path \"${path}\" will be treated as if it were ` +\n `\"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must ` +\n `always follow a \\`/\\` in the pattern. To get rid of this warning, ` +\n `please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`\n );\n\n let params: CompiledPathParam[] = [];\n let regexpSource =\n \"^\" +\n path\n .replace(/\\/*\\*?$/, \"\") // Ignore trailing / and /*, we'll handle it below\n .replace(/^\\/*/, \"/\") // Make sure it has a leading /\n .replace(/[\\\\.*+^${}|()[\\]]/g, \"\\\\$&\") // Escape special regex chars\n .replace(\n /\\/:([\\w-]+)(\\?)?/g,\n (_: string, paramName: string, isOptional) => {\n params.push({ paramName, isOptional: isOptional != null });\n return isOptional ? \"/?([^\\\\/]+)?\" : \"/([^\\\\/]+)\";\n }\n );\n\n if (path.endsWith(\"*\")) {\n params.push({ paramName: \"*\" });\n regexpSource +=\n path === \"*\" || path === \"/*\"\n ? \"(.*)$\" // Already matched the initial /, just match the rest\n : \"(?:\\\\/(.+)|\\\\/*)$\"; // Don't include the / in params[\"*\"]\n } else if (end) {\n // When matching to the end, ignore trailing slashes\n regexpSource += \"\\\\/*$\";\n } else if (path !== \"\" && path !== \"/\") {\n // If our path is non-empty and contains anything beyond an initial slash,\n // then we have _some_ form of path in our regex, so we should expect to\n // match only if we find the end of this path segment. Look for an optional\n // non-captured trailing slash (to match a portion of the URL) or the end\n // of the path (if we've matched to the end). We used to do this with a\n // word boundary but that gives false positives on routes like\n // /user-preferences since `-` counts as a word boundary.\n regexpSource += \"(?:(?=\\\\/|$))\";\n } else {\n // Nothing to match for \"\" or \"/\"\n }\n\n let matcher = new RegExp(regexpSource, caseSensitive ? undefined : \"i\");\n\n return [matcher, params];\n}\n\nexport function decodePath(value: string) {\n try {\n return value\n .split(\"/\")\n .map((v) => decodeURIComponent(v).replace(/\\//g, \"%2F\"))\n .join(\"/\");\n } catch (error) {\n warning(\n false,\n `The URL path \"${value}\" could not be decoded because it is is a ` +\n `malformed URL segment. This is probably due to a bad percent ` +\n `encoding (${error}).`\n );\n\n return value;\n }\n}\n\n/**\n * @private\n */\nexport function stripBasename(\n pathname: string,\n basename: string\n): string | null {\n if (basename === \"/\") return pathname;\n\n if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {\n return null;\n }\n\n // We want to leave trailing slash behavior in the user's control, so if they\n // specify a basename with a trailing slash, we should support it\n let startIndex = basename.endsWith(\"/\")\n ? basename.length - 1\n : basename.length;\n let nextChar = pathname.charAt(startIndex);\n if (nextChar && nextChar !== \"/\") {\n // pathname does not start with basename/\n return null;\n }\n\n return pathname.slice(startIndex) || \"/\";\n}\n\n/**\n * Returns a resolved path object relative to the given pathname.\n *\n * @see https://reactrouter.com/v6/utils/resolve-path\n */\nexport function resolvePath(to: To, fromPathname = \"/\"): Path {\n let {\n pathname: toPathname,\n search = \"\",\n hash = \"\",\n } = typeof to === \"string\" ? parsePath(to) : to;\n\n let pathname = toPathname\n ? toPathname.startsWith(\"/\")\n ? toPathname\n : resolvePathname(toPathname, fromPathname)\n : fromPathname;\n\n return {\n pathname,\n search: normalizeSearch(search),\n hash: normalizeHash(hash),\n };\n}\n\nfunction resolvePathname(relativePath: string, fromPathname: string): string {\n let segments = fromPathname.replace(/\\/+$/, \"\").split(\"/\");\n let relativeSegments = relativePath.split(\"/\");\n\n relativeSegments.forEach((segment) => {\n if (segment === \"..\") {\n // Keep the root \"\" segment so the pathname starts at /\n if (segments.length > 1) segments.pop();\n } else if (segment !== \".\") {\n segments.push(segment);\n }\n });\n\n return segments.length > 1 ? segments.join(\"/\") : \"/\";\n}\n\nfunction getInvalidPathError(\n char: string,\n field: string,\n dest: string,\n path: Partial\n) {\n return (\n `Cannot include a '${char}' character in a manually specified ` +\n `\\`to.${field}\\` field [${JSON.stringify(\n path\n )}]. Please separate it out to the ` +\n `\\`to.${dest}\\` field. Alternatively you may provide the full path as ` +\n `a string in and the router will parse it for you.`\n );\n}\n\n/**\n * @private\n *\n * When processing relative navigation we want to ignore ancestor routes that\n * do not contribute to the path, such that index/pathless layout routes don't\n * interfere.\n *\n * For example, when moving a route element into an index route and/or a\n * pathless layout route, relative link behavior contained within should stay\n * the same. Both of the following examples should link back to the root:\n *\n * \n * \n * \n *\n * \n * \n * }> // <-- Does not contribute\n * // <-- Does not contribute\n * \n * \n */\nexport function getPathContributingMatches<\n T extends AgnosticRouteMatch = AgnosticRouteMatch\n>(matches: T[]) {\n return matches.filter(\n (match, index) =>\n index === 0 || (match.route.path && match.route.path.length > 0)\n );\n}\n\n// Return the array of pathnames for the current route matches - used to\n// generate the routePathnames input for resolveTo()\nexport function getResolveToMatches<\n T extends AgnosticRouteMatch = AgnosticRouteMatch\n>(matches: T[], v7_relativeSplatPath: boolean) {\n let pathMatches = getPathContributingMatches(matches);\n\n // When v7_relativeSplatPath is enabled, use the full pathname for the leaf\n // match so we include splat values for \".\" links. See:\n // https://github.com/remix-run/react-router/issues/11052#issuecomment-1836589329\n if (v7_relativeSplatPath) {\n return pathMatches.map((match, idx) =>\n idx === pathMatches.length - 1 ? match.pathname : match.pathnameBase\n );\n }\n\n return pathMatches.map((match) => match.pathnameBase);\n}\n\n/**\n * @private\n */\nexport function resolveTo(\n toArg: To,\n routePathnames: string[],\n locationPathname: string,\n isPathRelative = false\n): Path {\n let to: Partial;\n if (typeof toArg === \"string\") {\n to = parsePath(toArg);\n } else {\n to = { ...toArg };\n\n invariant(\n !to.pathname || !to.pathname.includes(\"?\"),\n getInvalidPathError(\"?\", \"pathname\", \"search\", to)\n );\n invariant(\n !to.pathname || !to.pathname.includes(\"#\"),\n getInvalidPathError(\"#\", \"pathname\", \"hash\", to)\n );\n invariant(\n !to.search || !to.search.includes(\"#\"),\n getInvalidPathError(\"#\", \"search\", \"hash\", to)\n );\n }\n\n let isEmptyPath = toArg === \"\" || to.pathname === \"\";\n let toPathname = isEmptyPath ? \"/\" : to.pathname;\n\n let from: string;\n\n // Routing is relative to the current pathname if explicitly requested.\n //\n // If a pathname is explicitly provided in `to`, it should be relative to the\n // route context. This is explained in `Note on `` values` in our\n // migration guide from v5 as a means of disambiguation between `to` values\n // that begin with `/` and those that do not. However, this is problematic for\n // `to` values that do not provide a pathname. `to` can simply be a search or\n // hash string, in which case we should assume that the navigation is relative\n // to the current location's pathname and *not* the route pathname.\n if (toPathname == null) {\n from = locationPathname;\n } else {\n let routePathnameIndex = routePathnames.length - 1;\n\n // With relative=\"route\" (the default), each leading .. segment means\n // \"go up one route\" instead of \"go up one URL segment\". This is a key\n // difference from how works and a major reason we call this a\n // \"to\" value instead of a \"href\".\n if (!isPathRelative && toPathname.startsWith(\"..\")) {\n let toSegments = toPathname.split(\"/\");\n\n while (toSegments[0] === \"..\") {\n toSegments.shift();\n routePathnameIndex -= 1;\n }\n\n to.pathname = toSegments.join(\"/\");\n }\n\n from = routePathnameIndex >= 0 ? routePathnames[routePathnameIndex] : \"/\";\n }\n\n let path = resolvePath(to, from);\n\n // Ensure the pathname has a trailing slash if the original \"to\" had one\n let hasExplicitTrailingSlash =\n toPathname && toPathname !== \"/\" && toPathname.endsWith(\"/\");\n // Or if this was a link to the current path which has a trailing slash\n let hasCurrentTrailingSlash =\n (isEmptyPath || toPathname === \".\") && locationPathname.endsWith(\"/\");\n if (\n !path.pathname.endsWith(\"/\") &&\n (hasExplicitTrailingSlash || hasCurrentTrailingSlash)\n ) {\n path.pathname += \"/\";\n }\n\n return path;\n}\n\n/**\n * @private\n */\nexport function getToPathname(to: To): string | undefined {\n // Empty strings should be treated the same as / paths\n return to === \"\" || (to as Path).pathname === \"\"\n ? \"/\"\n : typeof to === \"string\"\n ? parsePath(to).pathname\n : to.pathname;\n}\n\n/**\n * @private\n */\nexport const joinPaths = (paths: string[]): string =>\n paths.join(\"/\").replace(/\\/\\/+/g, \"/\");\n\n/**\n * @private\n */\nexport const normalizePathname = (pathname: string): string =>\n pathname.replace(/\\/+$/, \"\").replace(/^\\/*/, \"/\");\n\n/**\n * @private\n */\nexport const normalizeSearch = (search: string): string =>\n !search || search === \"?\"\n ? \"\"\n : search.startsWith(\"?\")\n ? search\n : \"?\" + search;\n\n/**\n * @private\n */\nexport const normalizeHash = (hash: string): string =>\n !hash || hash === \"#\" ? \"\" : hash.startsWith(\"#\") ? hash : \"#\" + hash;\n\nexport type JsonFunction = (\n data: Data,\n init?: number | ResponseInit\n) => Response;\n\n/**\n * This is a shortcut for creating `application/json` responses. Converts `data`\n * to JSON and sets the `Content-Type` header.\n *\n * @deprecated The `json` method is deprecated in favor of returning raw objects.\n * This method will be removed in v7.\n */\nexport const json: JsonFunction = (data, init = {}) => {\n let responseInit = typeof init === \"number\" ? { status: init } : init;\n\n let headers = new Headers(responseInit.headers);\n if (!headers.has(\"Content-Type\")) {\n headers.set(\"Content-Type\", \"application/json; charset=utf-8\");\n }\n\n return new Response(JSON.stringify(data), {\n ...responseInit,\n headers,\n });\n};\n\nexport class DataWithResponseInit {\n type: string = \"DataWithResponseInit\";\n data: D;\n init: ResponseInit | null;\n\n constructor(data: D, init?: ResponseInit) {\n this.data = data;\n this.init = init || null;\n }\n}\n\n/**\n * Create \"responses\" that contain `status`/`headers` without forcing\n * serialization into an actual `Response` - used by Remix single fetch\n */\nexport function data(data: D, init?: number | ResponseInit) {\n return new DataWithResponseInit(\n data,\n typeof init === \"number\" ? { status: init } : init\n );\n}\n\nexport interface TrackedPromise extends Promise {\n _tracked?: boolean;\n _data?: any;\n _error?: any;\n}\n\nexport class AbortedDeferredError extends Error {}\n\nexport class DeferredData {\n private pendingKeysSet: Set = new Set();\n private controller: AbortController;\n private abortPromise: Promise;\n private unlistenAbortSignal: () => void;\n private subscribers: Set<(aborted: boolean, settledKey?: string) => void> =\n new Set();\n data: Record;\n init?: ResponseInit;\n deferredKeys: string[] = [];\n\n constructor(data: Record, responseInit?: ResponseInit) {\n invariant(\n data && typeof data === \"object\" && !Array.isArray(data),\n \"defer() only accepts plain objects\"\n );\n\n // Set up an AbortController + Promise we can race against to exit early\n // cancellation\n let reject: (e: AbortedDeferredError) => void;\n this.abortPromise = new Promise((_, r) => (reject = r));\n this.controller = new AbortController();\n let onAbort = () =>\n reject(new AbortedDeferredError(\"Deferred data aborted\"));\n this.unlistenAbortSignal = () =>\n this.controller.signal.removeEventListener(\"abort\", onAbort);\n this.controller.signal.addEventListener(\"abort\", onAbort);\n\n this.data = Object.entries(data).reduce(\n (acc, [key, value]) =>\n Object.assign(acc, {\n [key]: this.trackPromise(key, value),\n }),\n {}\n );\n\n if (this.done) {\n // All incoming values were resolved\n this.unlistenAbortSignal();\n }\n\n this.init = responseInit;\n }\n\n private trackPromise(\n key: string,\n value: Promise | unknown\n ): TrackedPromise | unknown {\n if (!(value instanceof Promise)) {\n return value;\n }\n\n this.deferredKeys.push(key);\n this.pendingKeysSet.add(key);\n\n // We store a little wrapper promise that will be extended with\n // _data/_error props upon resolve/reject\n let promise: TrackedPromise = Promise.race([value, this.abortPromise]).then(\n (data) => this.onSettle(promise, key, undefined, data as unknown),\n (error) => this.onSettle(promise, key, error as unknown)\n );\n\n // Register rejection listeners to avoid uncaught promise rejections on\n // errors or aborted deferred values\n promise.catch(() => {});\n\n Object.defineProperty(promise, \"_tracked\", { get: () => true });\n return promise;\n }\n\n private onSettle(\n promise: TrackedPromise,\n key: string,\n error: unknown,\n data?: unknown\n ): unknown {\n if (\n this.controller.signal.aborted &&\n error instanceof AbortedDeferredError\n ) {\n this.unlistenAbortSignal();\n Object.defineProperty(promise, \"_error\", { get: () => error });\n return Promise.reject(error);\n }\n\n this.pendingKeysSet.delete(key);\n\n if (this.done) {\n // Nothing left to abort!\n this.unlistenAbortSignal();\n }\n\n // If the promise was resolved/rejected with undefined, we'll throw an error as you\n // should always resolve with a value or null\n if (error === undefined && data === undefined) {\n let undefinedError = new Error(\n `Deferred data for key \"${key}\" resolved/rejected with \\`undefined\\`, ` +\n `you must resolve/reject with a value or \\`null\\`.`\n );\n Object.defineProperty(promise, \"_error\", { get: () => undefinedError });\n this.emit(false, key);\n return Promise.reject(undefinedError);\n }\n\n if (data === undefined) {\n Object.defineProperty(promise, \"_error\", { get: () => error });\n this.emit(false, key);\n return Promise.reject(error);\n }\n\n Object.defineProperty(promise, \"_data\", { get: () => data });\n this.emit(false, key);\n return data;\n }\n\n private emit(aborted: boolean, settledKey?: string) {\n this.subscribers.forEach((subscriber) => subscriber(aborted, settledKey));\n }\n\n subscribe(fn: (aborted: boolean, settledKey?: string) => void) {\n this.subscribers.add(fn);\n return () => this.subscribers.delete(fn);\n }\n\n cancel() {\n this.controller.abort();\n this.pendingKeysSet.forEach((v, k) => this.pendingKeysSet.delete(k));\n this.emit(true);\n }\n\n async resolveData(signal: AbortSignal) {\n let aborted = false;\n if (!this.done) {\n let onAbort = () => this.cancel();\n signal.addEventListener(\"abort\", onAbort);\n aborted = await new Promise((resolve) => {\n this.subscribe((aborted) => {\n signal.removeEventListener(\"abort\", onAbort);\n if (aborted || this.done) {\n resolve(aborted);\n }\n });\n });\n }\n return aborted;\n }\n\n get done() {\n return this.pendingKeysSet.size === 0;\n }\n\n get unwrappedData() {\n invariant(\n this.data !== null && this.done,\n \"Can only unwrap data on initialized and settled deferreds\"\n );\n\n return Object.entries(this.data).reduce(\n (acc, [key, value]) =>\n Object.assign(acc, {\n [key]: unwrapTrackedPromise(value),\n }),\n {}\n );\n }\n\n get pendingKeys() {\n return Array.from(this.pendingKeysSet);\n }\n}\n\nfunction isTrackedPromise(value: any): value is TrackedPromise {\n return (\n value instanceof Promise && (value as TrackedPromise)._tracked === true\n );\n}\n\nfunction unwrapTrackedPromise(value: any) {\n if (!isTrackedPromise(value)) {\n return value;\n }\n\n if (value._error) {\n throw value._error;\n }\n return value._data;\n}\n\nexport type DeferFunction = (\n data: Record,\n init?: number | ResponseInit\n) => DeferredData;\n\n/**\n * @deprecated The `defer` method is deprecated in favor of returning raw\n * objects. This method will be removed in v7.\n */\nexport const defer: DeferFunction = (data, init = {}) => {\n let responseInit = typeof init === \"number\" ? { status: init } : init;\n\n return new DeferredData(data, responseInit);\n};\n\nexport type RedirectFunction = (\n url: string,\n init?: number | ResponseInit\n) => Response;\n\n/**\n * A redirect response. Sets the status code and the `Location` header.\n * Defaults to \"302 Found\".\n */\nexport const redirect: RedirectFunction = (url, init = 302) => {\n let responseInit = init;\n if (typeof responseInit === \"number\") {\n responseInit = { status: responseInit };\n } else if (typeof responseInit.status === \"undefined\") {\n responseInit.status = 302;\n }\n\n let headers = new Headers(responseInit.headers);\n headers.set(\"Location\", url);\n\n return new Response(null, {\n ...responseInit,\n headers,\n });\n};\n\n/**\n * A redirect response that will force a document reload to the new location.\n * Sets the status code and the `Location` header.\n * Defaults to \"302 Found\".\n */\nexport const redirectDocument: RedirectFunction = (url, init) => {\n let response = redirect(url, init);\n response.headers.set(\"X-Remix-Reload-Document\", \"true\");\n return response;\n};\n\n/**\n * A redirect response that will perform a `history.replaceState` instead of a\n * `history.pushState` for client-side navigation redirects.\n * Sets the status code and the `Location` header.\n * Defaults to \"302 Found\".\n */\nexport const replace: RedirectFunction = (url, init) => {\n let response = redirect(url, init);\n response.headers.set(\"X-Remix-Replace\", \"true\");\n return response;\n};\n\nexport type ErrorResponse = {\n status: number;\n statusText: string;\n data: any;\n};\n\n/**\n * @private\n * Utility class we use to hold auto-unwrapped 4xx/5xx Response bodies\n *\n * We don't export the class for public use since it's an implementation\n * detail, but we export the interface above so folks can build their own\n * abstractions around instances via isRouteErrorResponse()\n */\nexport class ErrorResponseImpl implements ErrorResponse {\n status: number;\n statusText: string;\n data: any;\n private error?: Error;\n private internal: boolean;\n\n constructor(\n status: number,\n statusText: string | undefined,\n data: any,\n internal = false\n ) {\n this.status = status;\n this.statusText = statusText || \"\";\n this.internal = internal;\n if (data instanceof Error) {\n this.data = data.toString();\n this.error = data;\n } else {\n this.data = data;\n }\n }\n}\n\n/**\n * Check if the given error is an ErrorResponse generated from a 4xx/5xx\n * Response thrown from an action/loader\n */\nexport function isRouteErrorResponse(error: any): error is ErrorResponse {\n return (\n error != null &&\n typeof error.status === \"number\" &&\n typeof error.statusText === \"string\" &&\n typeof error.internal === \"boolean\" &&\n \"data\" in error\n );\n}\n","import type { History, Location, Path, To } from \"./history\";\nimport {\n Action as HistoryAction,\n createLocation,\n createPath,\n invariant,\n parsePath,\n warning,\n} from \"./history\";\nimport type {\n AgnosticDataRouteMatch,\n AgnosticDataRouteObject,\n DataStrategyMatch,\n AgnosticRouteObject,\n DataResult,\n DataStrategyFunction,\n DataStrategyFunctionArgs,\n DeferredData,\n DeferredResult,\n DetectErrorBoundaryFunction,\n ErrorResult,\n FormEncType,\n FormMethod,\n HTMLFormMethod,\n DataStrategyResult,\n ImmutableRouteKey,\n MapRoutePropertiesFunction,\n MutationFormMethod,\n RedirectResult,\n RouteData,\n RouteManifest,\n ShouldRevalidateFunctionArgs,\n Submission,\n SuccessResult,\n UIMatch,\n V7_FormMethod,\n V7_MutationFormMethod,\n AgnosticPatchRoutesOnNavigationFunction,\n DataWithResponseInit,\n} from \"./utils\";\nimport {\n ErrorResponseImpl,\n ResultType,\n convertRouteMatchToUiMatch,\n convertRoutesToDataRoutes,\n getPathContributingMatches,\n getResolveToMatches,\n immutableRouteKeys,\n isRouteErrorResponse,\n joinPaths,\n matchRoutes,\n matchRoutesImpl,\n resolveTo,\n stripBasename,\n} from \"./utils\";\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Types and Constants\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A Router instance manages all navigation and data loading/mutations\n */\nexport interface Router {\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the basename for the router\n */\n get basename(): RouterInit[\"basename\"];\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the future config for the router\n */\n get future(): FutureConfig;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the current state of the router\n */\n get state(): RouterState;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the routes for this router instance\n */\n get routes(): AgnosticDataRouteObject[];\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the window associated with the router\n */\n get window(): RouterInit[\"window\"];\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Initialize the router, including adding history listeners and kicking off\n * initial data fetches. Returns a function to cleanup listeners and abort\n * any in-progress loads\n */\n initialize(): Router;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Subscribe to router.state updates\n *\n * @param fn function to call with the new state\n */\n subscribe(fn: RouterSubscriber): () => void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Enable scroll restoration behavior in the router\n *\n * @param savedScrollPositions Object that will manage positions, in case\n * it's being restored from sessionStorage\n * @param getScrollPosition Function to get the active Y scroll position\n * @param getKey Function to get the key to use for restoration\n */\n enableScrollRestoration(\n savedScrollPositions: Record,\n getScrollPosition: GetScrollPositionFunction,\n getKey?: GetScrollRestorationKeyFunction\n ): () => void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Navigate forward/backward in the history stack\n * @param to Delta to move in the history stack\n */\n navigate(to: number): Promise;\n\n /**\n * Navigate to the given path\n * @param to Path to navigate to\n * @param opts Navigation options (method, submission, etc.)\n */\n navigate(to: To | null, opts?: RouterNavigateOptions): Promise;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Trigger a fetcher load/submission\n *\n * @param key Fetcher key\n * @param routeId Route that owns the fetcher\n * @param href href to fetch\n * @param opts Fetcher options, (method, submission, etc.)\n */\n fetch(\n key: string,\n routeId: string,\n href: string | null,\n opts?: RouterFetchOptions\n ): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Trigger a revalidation of all current route loaders and fetcher loads\n */\n revalidate(): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Utility function to create an href for the given location\n * @param location\n */\n createHref(location: Location | URL): string;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Utility function to URL encode a destination path according to the internal\n * history implementation\n * @param to\n */\n encodeLocation(to: To): Path;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Get/create a fetcher for the given key\n * @param key\n */\n getFetcher(key: string): Fetcher;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Delete the fetcher for a given key\n * @param key\n */\n deleteFetcher(key: string): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Cleanup listeners and abort any in-progress loads\n */\n dispose(): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Get a navigation blocker\n * @param key The identifier for the blocker\n * @param fn The blocker function implementation\n */\n getBlocker(key: string, fn: BlockerFunction): Blocker;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Delete a navigation blocker\n * @param key The identifier for the blocker\n */\n deleteBlocker(key: string): void;\n\n /**\n * @internal\n * PRIVATE DO NOT USE\n *\n * Patch additional children routes into an existing parent route\n * @param routeId The parent route id or a callback function accepting `patch`\n * to perform batch patching\n * @param children The additional children routes\n */\n patchRoutes(routeId: string | null, children: AgnosticRouteObject[]): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * HMR needs to pass in-flight route updates to React Router\n * TODO: Replace this with granular route update APIs (addRoute, updateRoute, deleteRoute)\n */\n _internalSetRoutes(routes: AgnosticRouteObject[]): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Internal fetch AbortControllers accessed by unit tests\n */\n _internalFetchControllers: Map;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Internal pending DeferredData instances accessed by unit tests\n */\n _internalActiveDeferreds: Map;\n}\n\n/**\n * State maintained internally by the router. During a navigation, all states\n * reflect the the \"old\" location unless otherwise noted.\n */\nexport interface RouterState {\n /**\n * The action of the most recent navigation\n */\n historyAction: HistoryAction;\n\n /**\n * The current location reflected by the router\n */\n location: Location;\n\n /**\n * The current set of route matches\n */\n matches: AgnosticDataRouteMatch[];\n\n /**\n * Tracks whether we've completed our initial data load\n */\n initialized: boolean;\n\n /**\n * Current scroll position we should start at for a new view\n * - number -> scroll position to restore to\n * - false -> do not restore scroll at all (used during submissions)\n * - null -> don't have a saved position, scroll to hash or top of page\n */\n restoreScrollPosition: number | false | null;\n\n /**\n * Indicate whether this navigation should skip resetting the scroll position\n * if we are unable to restore the scroll position\n */\n preventScrollReset: boolean;\n\n /**\n * Tracks the state of the current navigation\n */\n navigation: Navigation;\n\n /**\n * Tracks any in-progress revalidations\n */\n revalidation: RevalidationState;\n\n /**\n * Data from the loaders for the current matches\n */\n loaderData: RouteData;\n\n /**\n * Data from the action for the current matches\n */\n actionData: RouteData | null;\n\n /**\n * Errors caught from loaders for the current matches\n */\n errors: RouteData | null;\n\n /**\n * Map of current fetchers\n */\n fetchers: Map;\n\n /**\n * Map of current blockers\n */\n blockers: Map;\n}\n\n/**\n * Data that can be passed into hydrate a Router from SSR\n */\nexport type HydrationState = Partial<\n Pick\n>;\n\n/**\n * Future flags to toggle new feature behavior\n */\nexport interface FutureConfig {\n v7_fetcherPersist: boolean;\n v7_normalizeFormMethod: boolean;\n v7_partialHydration: boolean;\n v7_prependBasename: boolean;\n v7_relativeSplatPath: boolean;\n v7_skipActionErrorRevalidation: boolean;\n}\n\n/**\n * Initialization options for createRouter\n */\nexport interface RouterInit {\n routes: AgnosticRouteObject[];\n history: History;\n basename?: string;\n /**\n * @deprecated Use `mapRouteProperties` instead\n */\n detectErrorBoundary?: DetectErrorBoundaryFunction;\n mapRouteProperties?: MapRoutePropertiesFunction;\n future?: Partial;\n hydrationData?: HydrationState;\n window?: Window;\n dataStrategy?: DataStrategyFunction;\n patchRoutesOnNavigation?: AgnosticPatchRoutesOnNavigationFunction;\n}\n\n/**\n * State returned from a server-side query() call\n */\nexport interface StaticHandlerContext {\n basename: Router[\"basename\"];\n location: RouterState[\"location\"];\n matches: RouterState[\"matches\"];\n loaderData: RouterState[\"loaderData\"];\n actionData: RouterState[\"actionData\"];\n errors: RouterState[\"errors\"];\n statusCode: number;\n loaderHeaders: Record;\n actionHeaders: Record;\n activeDeferreds: Record | null;\n _deepestRenderedBoundaryId?: string | null;\n}\n\n/**\n * A StaticHandler instance manages a singular SSR navigation/fetch event\n */\nexport interface StaticHandler {\n dataRoutes: AgnosticDataRouteObject[];\n query(\n request: Request,\n opts?: {\n requestContext?: unknown;\n skipLoaderErrorBubbling?: boolean;\n dataStrategy?: DataStrategyFunction;\n }\n ): Promise;\n queryRoute(\n request: Request,\n opts?: {\n routeId?: string;\n requestContext?: unknown;\n dataStrategy?: DataStrategyFunction;\n }\n ): Promise;\n}\n\ntype ViewTransitionOpts = {\n currentLocation: Location;\n nextLocation: Location;\n};\n\n/**\n * Subscriber function signature for changes to router state\n */\nexport interface RouterSubscriber {\n (\n state: RouterState,\n opts: {\n deletedFetchers: string[];\n viewTransitionOpts?: ViewTransitionOpts;\n flushSync: boolean;\n }\n ): void;\n}\n\n/**\n * Function signature for determining the key to be used in scroll restoration\n * for a given location\n */\nexport interface GetScrollRestorationKeyFunction {\n (location: Location, matches: UIMatch[]): string | null;\n}\n\n/**\n * Function signature for determining the current scroll position\n */\nexport interface GetScrollPositionFunction {\n (): number;\n}\n\nexport type RelativeRoutingType = \"route\" | \"path\";\n\n// Allowed for any navigation or fetch\ntype BaseNavigateOrFetchOptions = {\n preventScrollReset?: boolean;\n relative?: RelativeRoutingType;\n flushSync?: boolean;\n};\n\n// Only allowed for navigations\ntype BaseNavigateOptions = BaseNavigateOrFetchOptions & {\n replace?: boolean;\n state?: any;\n fromRouteId?: string;\n viewTransition?: boolean;\n};\n\n// Only allowed for submission navigations\ntype BaseSubmissionOptions = {\n formMethod?: HTMLFormMethod;\n formEncType?: FormEncType;\n} & (\n | { formData: FormData; body?: undefined }\n | { formData?: undefined; body: any }\n);\n\n/**\n * Options for a navigate() call for a normal (non-submission) navigation\n */\ntype LinkNavigateOptions = BaseNavigateOptions;\n\n/**\n * Options for a navigate() call for a submission navigation\n */\ntype SubmissionNavigateOptions = BaseNavigateOptions & BaseSubmissionOptions;\n\n/**\n * Options to pass to navigate() for a navigation\n */\nexport type RouterNavigateOptions =\n | LinkNavigateOptions\n | SubmissionNavigateOptions;\n\n/**\n * Options for a fetch() load\n */\ntype LoadFetchOptions = BaseNavigateOrFetchOptions;\n\n/**\n * Options for a fetch() submission\n */\ntype SubmitFetchOptions = BaseNavigateOrFetchOptions & BaseSubmissionOptions;\n\n/**\n * Options to pass to fetch()\n */\nexport type RouterFetchOptions = LoadFetchOptions | SubmitFetchOptions;\n\n/**\n * Potential states for state.navigation\n */\nexport type NavigationStates = {\n Idle: {\n state: \"idle\";\n location: undefined;\n formMethod: undefined;\n formAction: undefined;\n formEncType: undefined;\n formData: undefined;\n json: undefined;\n text: undefined;\n };\n Loading: {\n state: \"loading\";\n location: Location;\n formMethod: Submission[\"formMethod\"] | undefined;\n formAction: Submission[\"formAction\"] | undefined;\n formEncType: Submission[\"formEncType\"] | undefined;\n formData: Submission[\"formData\"] | undefined;\n json: Submission[\"json\"] | undefined;\n text: Submission[\"text\"] | undefined;\n };\n Submitting: {\n state: \"submitting\";\n location: Location;\n formMethod: Submission[\"formMethod\"];\n formAction: Submission[\"formAction\"];\n formEncType: Submission[\"formEncType\"];\n formData: Submission[\"formData\"];\n json: Submission[\"json\"];\n text: Submission[\"text\"];\n };\n};\n\nexport type Navigation = NavigationStates[keyof NavigationStates];\n\nexport type RevalidationState = \"idle\" | \"loading\";\n\n/**\n * Potential states for fetchers\n */\ntype FetcherStates = {\n Idle: {\n state: \"idle\";\n formMethod: undefined;\n formAction: undefined;\n formEncType: undefined;\n text: undefined;\n formData: undefined;\n json: undefined;\n data: TData | undefined;\n };\n Loading: {\n state: \"loading\";\n formMethod: Submission[\"formMethod\"] | undefined;\n formAction: Submission[\"formAction\"] | undefined;\n formEncType: Submission[\"formEncType\"] | undefined;\n text: Submission[\"text\"] | undefined;\n formData: Submission[\"formData\"] | undefined;\n json: Submission[\"json\"] | undefined;\n data: TData | undefined;\n };\n Submitting: {\n state: \"submitting\";\n formMethod: Submission[\"formMethod\"];\n formAction: Submission[\"formAction\"];\n formEncType: Submission[\"formEncType\"];\n text: Submission[\"text\"];\n formData: Submission[\"formData\"];\n json: Submission[\"json\"];\n data: TData | undefined;\n };\n};\n\nexport type Fetcher =\n FetcherStates[keyof FetcherStates];\n\ninterface BlockerBlocked {\n state: \"blocked\";\n reset(): void;\n proceed(): void;\n location: Location;\n}\n\ninterface BlockerUnblocked {\n state: \"unblocked\";\n reset: undefined;\n proceed: undefined;\n location: undefined;\n}\n\ninterface BlockerProceeding {\n state: \"proceeding\";\n reset: undefined;\n proceed: undefined;\n location: Location;\n}\n\nexport type Blocker = BlockerUnblocked | BlockerBlocked | BlockerProceeding;\n\nexport type BlockerFunction = (args: {\n currentLocation: Location;\n nextLocation: Location;\n historyAction: HistoryAction;\n}) => boolean;\n\ninterface ShortCircuitable {\n /**\n * startNavigation does not need to complete the navigation because we\n * redirected or got interrupted\n */\n shortCircuited?: boolean;\n}\n\ntype PendingActionResult = [string, SuccessResult | ErrorResult];\n\ninterface HandleActionResult extends ShortCircuitable {\n /**\n * Route matches which may have been updated from fog of war discovery\n */\n matches?: RouterState[\"matches\"];\n /**\n * Tuple for the returned or thrown value from the current action. The routeId\n * is the action route for success and the bubbled boundary route for errors.\n */\n pendingActionResult?: PendingActionResult;\n}\n\ninterface HandleLoadersResult extends ShortCircuitable {\n /**\n * Route matches which may have been updated from fog of war discovery\n */\n matches?: RouterState[\"matches\"];\n /**\n * loaderData returned from the current set of loaders\n */\n loaderData?: RouterState[\"loaderData\"];\n /**\n * errors thrown from the current set of loaders\n */\n errors?: RouterState[\"errors\"];\n}\n\n/**\n * Cached info for active fetcher.load() instances so they can participate\n * in revalidation\n */\ninterface FetchLoadMatch {\n routeId: string;\n path: string;\n}\n\n/**\n * Identified fetcher.load() calls that need to be revalidated\n */\ninterface RevalidatingFetcher extends FetchLoadMatch {\n key: string;\n match: AgnosticDataRouteMatch | null;\n matches: AgnosticDataRouteMatch[] | null;\n controller: AbortController | null;\n}\n\nconst validMutationMethodsArr: MutationFormMethod[] = [\n \"post\",\n \"put\",\n \"patch\",\n \"delete\",\n];\nconst validMutationMethods = new Set(\n validMutationMethodsArr\n);\n\nconst validRequestMethodsArr: FormMethod[] = [\n \"get\",\n ...validMutationMethodsArr,\n];\nconst validRequestMethods = new Set(validRequestMethodsArr);\n\nconst redirectStatusCodes = new Set([301, 302, 303, 307, 308]);\nconst redirectPreserveMethodStatusCodes = new Set([307, 308]);\n\nexport const IDLE_NAVIGATION: NavigationStates[\"Idle\"] = {\n state: \"idle\",\n location: undefined,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n};\n\nexport const IDLE_FETCHER: FetcherStates[\"Idle\"] = {\n state: \"idle\",\n data: undefined,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n};\n\nexport const IDLE_BLOCKER: BlockerUnblocked = {\n state: \"unblocked\",\n proceed: undefined,\n reset: undefined,\n location: undefined,\n};\n\nconst ABSOLUTE_URL_REGEX = /^(?:[a-z][a-z0-9+.-]*:|\\/\\/)/i;\n\nconst defaultMapRouteProperties: MapRoutePropertiesFunction = (route) => ({\n hasErrorBoundary: Boolean(route.hasErrorBoundary),\n});\n\nconst TRANSITIONS_STORAGE_KEY = \"remix-router-transitions\";\n\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region createRouter\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Create a router and listen to history POP navigations\n */\nexport function createRouter(init: RouterInit): Router {\n const routerWindow = init.window\n ? init.window\n : typeof window !== \"undefined\"\n ? window\n : undefined;\n const isBrowser =\n typeof routerWindow !== \"undefined\" &&\n typeof routerWindow.document !== \"undefined\" &&\n typeof routerWindow.document.createElement !== \"undefined\";\n const isServer = !isBrowser;\n\n invariant(\n init.routes.length > 0,\n \"You must provide a non-empty routes array to createRouter\"\n );\n\n let mapRouteProperties: MapRoutePropertiesFunction;\n if (init.mapRouteProperties) {\n mapRouteProperties = init.mapRouteProperties;\n } else if (init.detectErrorBoundary) {\n // If they are still using the deprecated version, wrap it with the new API\n let detectErrorBoundary = init.detectErrorBoundary;\n mapRouteProperties = (route) => ({\n hasErrorBoundary: detectErrorBoundary(route),\n });\n } else {\n mapRouteProperties = defaultMapRouteProperties;\n }\n\n // Routes keyed by ID\n let manifest: RouteManifest = {};\n // Routes in tree format for matching\n let dataRoutes = convertRoutesToDataRoutes(\n init.routes,\n mapRouteProperties,\n undefined,\n manifest\n );\n let inFlightDataRoutes: AgnosticDataRouteObject[] | undefined;\n let basename = init.basename || \"/\";\n let dataStrategyImpl = init.dataStrategy || defaultDataStrategy;\n let patchRoutesOnNavigationImpl = init.patchRoutesOnNavigation;\n\n // Config driven behavior flags\n let future: FutureConfig = {\n v7_fetcherPersist: false,\n v7_normalizeFormMethod: false,\n v7_partialHydration: false,\n v7_prependBasename: false,\n v7_relativeSplatPath: false,\n v7_skipActionErrorRevalidation: false,\n ...init.future,\n };\n // Cleanup function for history\n let unlistenHistory: (() => void) | null = null;\n // Externally-provided functions to call on all state changes\n let subscribers = new Set();\n // Externally-provided object to hold scroll restoration locations during routing\n let savedScrollPositions: Record | null = null;\n // Externally-provided function to get scroll restoration keys\n let getScrollRestorationKey: GetScrollRestorationKeyFunction | null = null;\n // Externally-provided function to get current scroll position\n let getScrollPosition: GetScrollPositionFunction | null = null;\n // One-time flag to control the initial hydration scroll restoration. Because\n // we don't get the saved positions from until _after_\n // the initial render, we need to manually trigger a separate updateState to\n // send along the restoreScrollPosition\n // Set to true if we have `hydrationData` since we assume we were SSR'd and that\n // SSR did the initial scroll restoration.\n let initialScrollRestored = init.hydrationData != null;\n\n let initialMatches = matchRoutes(dataRoutes, init.history.location, basename);\n let initialErrors: RouteData | null = null;\n\n if (initialMatches == null && !patchRoutesOnNavigationImpl) {\n // If we do not match a user-provided-route, fall back to the root\n // to allow the error boundary to take over\n let error = getInternalRouterError(404, {\n pathname: init.history.location.pathname,\n });\n let { matches, route } = getShortCircuitMatches(dataRoutes);\n initialMatches = matches;\n initialErrors = { [route.id]: error };\n }\n\n // In SPA apps, if the user provided a patchRoutesOnNavigation implementation and\n // our initial match is a splat route, clear them out so we run through lazy\n // discovery on hydration in case there's a more accurate lazy route match.\n // In SSR apps (with `hydrationData`), we expect that the server will send\n // up the proper matched routes so we don't want to run lazy discovery on\n // initial hydration and want to hydrate into the splat route.\n if (initialMatches && !init.hydrationData) {\n let fogOfWar = checkFogOfWar(\n initialMatches,\n dataRoutes,\n init.history.location.pathname\n );\n if (fogOfWar.active) {\n initialMatches = null;\n }\n }\n\n let initialized: boolean;\n if (!initialMatches) {\n initialized = false;\n initialMatches = [];\n\n // If partial hydration and fog of war is enabled, we will be running\n // `patchRoutesOnNavigation` during hydration so include any partial matches as\n // the initial matches so we can properly render `HydrateFallback`'s\n if (future.v7_partialHydration) {\n let fogOfWar = checkFogOfWar(\n null,\n dataRoutes,\n init.history.location.pathname\n );\n if (fogOfWar.active && fogOfWar.matches) {\n initialMatches = fogOfWar.matches;\n }\n }\n } else if (initialMatches.some((m) => m.route.lazy)) {\n // All initialMatches need to be loaded before we're ready. If we have lazy\n // functions around still then we'll need to run them in initialize()\n initialized = false;\n } else if (!initialMatches.some((m) => m.route.loader)) {\n // If we've got no loaders to run, then we're good to go\n initialized = true;\n } else if (future.v7_partialHydration) {\n // If partial hydration is enabled, we're initialized so long as we were\n // provided with hydrationData for every route with a loader, and no loaders\n // were marked for explicit hydration\n let loaderData = init.hydrationData ? init.hydrationData.loaderData : null;\n let errors = init.hydrationData ? init.hydrationData.errors : null;\n // If errors exist, don't consider routes below the boundary\n if (errors) {\n let idx = initialMatches.findIndex(\n (m) => errors![m.route.id] !== undefined\n );\n initialized = initialMatches\n .slice(0, idx + 1)\n .every((m) => !shouldLoadRouteOnHydration(m.route, loaderData, errors));\n } else {\n initialized = initialMatches.every(\n (m) => !shouldLoadRouteOnHydration(m.route, loaderData, errors)\n );\n }\n } else {\n // Without partial hydration - we're initialized if we were provided any\n // hydrationData - which is expected to be complete\n initialized = init.hydrationData != null;\n }\n\n let router: Router;\n let state: RouterState = {\n historyAction: init.history.action,\n location: init.history.location,\n matches: initialMatches,\n initialized,\n navigation: IDLE_NAVIGATION,\n // Don't restore on initial updateState() if we were SSR'd\n restoreScrollPosition: init.hydrationData != null ? false : null,\n preventScrollReset: false,\n revalidation: \"idle\",\n loaderData: (init.hydrationData && init.hydrationData.loaderData) || {},\n actionData: (init.hydrationData && init.hydrationData.actionData) || null,\n errors: (init.hydrationData && init.hydrationData.errors) || initialErrors,\n fetchers: new Map(),\n blockers: new Map(),\n };\n\n // -- Stateful internal variables to manage navigations --\n // Current navigation in progress (to be committed in completeNavigation)\n let pendingAction: HistoryAction = HistoryAction.Pop;\n\n // Should the current navigation prevent the scroll reset if scroll cannot\n // be restored?\n let pendingPreventScrollReset = false;\n\n // AbortController for the active navigation\n let pendingNavigationController: AbortController | null;\n\n // Should the current navigation enable document.startViewTransition?\n let pendingViewTransitionEnabled = false;\n\n // Store applied view transitions so we can apply them on POP\n let appliedViewTransitions: Map> = new Map<\n string,\n Set\n >();\n\n // Cleanup function for persisting applied transitions to sessionStorage\n let removePageHideEventListener: (() => void) | null = null;\n\n // We use this to avoid touching history in completeNavigation if a\n // revalidation is entirely uninterrupted\n let isUninterruptedRevalidation = false;\n\n // Use this internal flag to force revalidation of all loaders:\n // - submissions (completed or interrupted)\n // - useRevalidator()\n // - X-Remix-Revalidate (from redirect)\n let isRevalidationRequired = false;\n\n // Use this internal array to capture routes that require revalidation due\n // to a cancelled deferred on action submission\n let cancelledDeferredRoutes: string[] = [];\n\n // Use this internal array to capture fetcher loads that were cancelled by an\n // action navigation and require revalidation\n let cancelledFetcherLoads: Set = new Set();\n\n // AbortControllers for any in-flight fetchers\n let fetchControllers = new Map();\n\n // Track loads based on the order in which they started\n let incrementingLoadId = 0;\n\n // Track the outstanding pending navigation data load to be compared against\n // the globally incrementing load when a fetcher load lands after a completed\n // navigation\n let pendingNavigationLoadId = -1;\n\n // Fetchers that triggered data reloads as a result of their actions\n let fetchReloadIds = new Map();\n\n // Fetchers that triggered redirect navigations\n let fetchRedirectIds = new Set();\n\n // Most recent href/match for fetcher.load calls for fetchers\n let fetchLoadMatches = new Map();\n\n // Ref-count mounted fetchers so we know when it's ok to clean them up\n let activeFetchers = new Map();\n\n // Fetchers that have requested a delete when using v7_fetcherPersist,\n // they'll be officially removed after they return to idle\n let deletedFetchers = new Set();\n\n // Store DeferredData instances for active route matches. When a\n // route loader returns defer() we stick one in here. Then, when a nested\n // promise resolves we update loaderData. If a new navigation starts we\n // cancel active deferreds for eliminated routes.\n let activeDeferreds = new Map();\n\n // Store blocker functions in a separate Map outside of router state since\n // we don't need to update UI state if they change\n let blockerFunctions = new Map();\n\n // Map of pending patchRoutesOnNavigation() promises (keyed by path/matches) so\n // that we only kick them off once for a given combo\n let pendingPatchRoutes = new Map<\n string,\n ReturnType\n >();\n\n // Flag to ignore the next history update, so we can revert the URL change on\n // a POP navigation that was blocked by the user without touching router state\n let unblockBlockerHistoryUpdate: (() => void) | undefined = undefined;\n\n // Initialize the router, all side effects should be kicked off from here.\n // Implemented as a Fluent API for ease of:\n // let router = createRouter(init).initialize();\n function initialize() {\n // If history informs us of a POP navigation, start the navigation but do not update\n // state. We'll update our own state once the navigation completes\n unlistenHistory = init.history.listen(\n ({ action: historyAction, location, delta }) => {\n // Ignore this event if it was just us resetting the URL from a\n // blocked POP navigation\n if (unblockBlockerHistoryUpdate) {\n unblockBlockerHistoryUpdate();\n unblockBlockerHistoryUpdate = undefined;\n return;\n }\n\n warning(\n blockerFunctions.size === 0 || delta != null,\n \"You are trying to use a blocker on a POP navigation to a location \" +\n \"that was not created by @remix-run/router. This will fail silently in \" +\n \"production. This can happen if you are navigating outside the router \" +\n \"via `window.history.pushState`/`window.location.hash` instead of using \" +\n \"router navigation APIs. This can also happen if you are using \" +\n \"createHashRouter and the user manually changes the URL.\"\n );\n\n let blockerKey = shouldBlockNavigation({\n currentLocation: state.location,\n nextLocation: location,\n historyAction,\n });\n\n if (blockerKey && delta != null) {\n // Restore the URL to match the current UI, but don't update router state\n let nextHistoryUpdatePromise = new Promise((resolve) => {\n unblockBlockerHistoryUpdate = resolve;\n });\n init.history.go(delta * -1);\n\n // Put the blocker into a blocked state\n updateBlocker(blockerKey, {\n state: \"blocked\",\n location,\n proceed() {\n updateBlocker(blockerKey!, {\n state: \"proceeding\",\n proceed: undefined,\n reset: undefined,\n location,\n });\n // Re-do the same POP navigation we just blocked, after the url\n // restoration is also complete. See:\n // https://github.com/remix-run/react-router/issues/11613\n nextHistoryUpdatePromise.then(() => init.history.go(delta));\n },\n reset() {\n let blockers = new Map(state.blockers);\n blockers.set(blockerKey!, IDLE_BLOCKER);\n updateState({ blockers });\n },\n });\n return;\n }\n\n return startNavigation(historyAction, location);\n }\n );\n\n if (isBrowser) {\n // FIXME: This feels gross. How can we cleanup the lines between\n // scrollRestoration/appliedTransitions persistance?\n restoreAppliedTransitions(routerWindow, appliedViewTransitions);\n let _saveAppliedTransitions = () =>\n persistAppliedTransitions(routerWindow, appliedViewTransitions);\n routerWindow.addEventListener(\"pagehide\", _saveAppliedTransitions);\n removePageHideEventListener = () =>\n routerWindow.removeEventListener(\"pagehide\", _saveAppliedTransitions);\n }\n\n // Kick off initial data load if needed. Use Pop to avoid modifying history\n // Note we don't do any handling of lazy here. For SPA's it'll get handled\n // in the normal navigation flow. For SSR it's expected that lazy modules are\n // resolved prior to router creation since we can't go into a fallbackElement\n // UI for SSR'd apps\n if (!state.initialized) {\n startNavigation(HistoryAction.Pop, state.location, {\n initialHydration: true,\n });\n }\n\n return router;\n }\n\n // Clean up a router and it's side effects\n function dispose() {\n if (unlistenHistory) {\n unlistenHistory();\n }\n if (removePageHideEventListener) {\n removePageHideEventListener();\n }\n subscribers.clear();\n pendingNavigationController && pendingNavigationController.abort();\n state.fetchers.forEach((_, key) => deleteFetcher(key));\n state.blockers.forEach((_, key) => deleteBlocker(key));\n }\n\n // Subscribe to state updates for the router\n function subscribe(fn: RouterSubscriber) {\n subscribers.add(fn);\n return () => subscribers.delete(fn);\n }\n\n // Update our state and notify the calling context of the change\n function updateState(\n newState: Partial,\n opts: {\n flushSync?: boolean;\n viewTransitionOpts?: ViewTransitionOpts;\n } = {}\n ): void {\n state = {\n ...state,\n ...newState,\n };\n\n // Prep fetcher cleanup so we can tell the UI which fetcher data entries\n // can be removed\n let completedFetchers: string[] = [];\n let deletedFetchersKeys: string[] = [];\n\n if (future.v7_fetcherPersist) {\n state.fetchers.forEach((fetcher, key) => {\n if (fetcher.state === \"idle\") {\n if (deletedFetchers.has(key)) {\n // Unmounted from the UI and can be totally removed\n deletedFetchersKeys.push(key);\n } else {\n // Returned to idle but still mounted in the UI, so semi-remains for\n // revalidations and such\n completedFetchers.push(key);\n }\n }\n });\n }\n\n // Iterate over a local copy so that if flushSync is used and we end up\n // removing and adding a new subscriber due to the useCallback dependencies,\n // we don't get ourselves into a loop calling the new subscriber immediately\n [...subscribers].forEach((subscriber) =>\n subscriber(state, {\n deletedFetchers: deletedFetchersKeys,\n viewTransitionOpts: opts.viewTransitionOpts,\n flushSync: opts.flushSync === true,\n })\n );\n\n // Remove idle fetchers from state since we only care about in-flight fetchers.\n if (future.v7_fetcherPersist) {\n completedFetchers.forEach((key) => state.fetchers.delete(key));\n deletedFetchersKeys.forEach((key) => deleteFetcher(key));\n }\n }\n\n // Complete a navigation returning the state.navigation back to the IDLE_NAVIGATION\n // and setting state.[historyAction/location/matches] to the new route.\n // - Location is a required param\n // - Navigation will always be set to IDLE_NAVIGATION\n // - Can pass any other state in newState\n function completeNavigation(\n location: Location,\n newState: Partial>,\n { flushSync }: { flushSync?: boolean } = {}\n ): void {\n // Deduce if we're in a loading/actionReload state:\n // - We have committed actionData in the store\n // - The current navigation was a mutation submission\n // - We're past the submitting state and into the loading state\n // - The location being loaded is not the result of a redirect\n let isActionReload =\n state.actionData != null &&\n state.navigation.formMethod != null &&\n isMutationMethod(state.navigation.formMethod) &&\n state.navigation.state === \"loading\" &&\n location.state?._isRedirect !== true;\n\n let actionData: RouteData | null;\n if (newState.actionData) {\n if (Object.keys(newState.actionData).length > 0) {\n actionData = newState.actionData;\n } else {\n // Empty actionData -> clear prior actionData due to an action error\n actionData = null;\n }\n } else if (isActionReload) {\n // Keep the current data if we're wrapping up the action reload\n actionData = state.actionData;\n } else {\n // Clear actionData on any other completed navigations\n actionData = null;\n }\n\n // Always preserve any existing loaderData from re-used routes\n let loaderData = newState.loaderData\n ? mergeLoaderData(\n state.loaderData,\n newState.loaderData,\n newState.matches || [],\n newState.errors\n )\n : state.loaderData;\n\n // On a successful navigation we can assume we got through all blockers\n // so we can start fresh\n let blockers = state.blockers;\n if (blockers.size > 0) {\n blockers = new Map(blockers);\n blockers.forEach((_, k) => blockers.set(k, IDLE_BLOCKER));\n }\n\n // Always respect the user flag. Otherwise don't reset on mutation\n // submission navigations unless they redirect\n let preventScrollReset =\n pendingPreventScrollReset === true ||\n (state.navigation.formMethod != null &&\n isMutationMethod(state.navigation.formMethod) &&\n location.state?._isRedirect !== true);\n\n // Commit any in-flight routes at the end of the HMR revalidation \"navigation\"\n if (inFlightDataRoutes) {\n dataRoutes = inFlightDataRoutes;\n inFlightDataRoutes = undefined;\n }\n\n if (isUninterruptedRevalidation) {\n // If this was an uninterrupted revalidation then do not touch history\n } else if (pendingAction === HistoryAction.Pop) {\n // Do nothing for POP - URL has already been updated\n } else if (pendingAction === HistoryAction.Push) {\n init.history.push(location, location.state);\n } else if (pendingAction === HistoryAction.Replace) {\n init.history.replace(location, location.state);\n }\n\n let viewTransitionOpts: ViewTransitionOpts | undefined;\n\n // On POP, enable transitions if they were enabled on the original navigation\n if (pendingAction === HistoryAction.Pop) {\n // Forward takes precedence so they behave like the original navigation\n let priorPaths = appliedViewTransitions.get(state.location.pathname);\n if (priorPaths && priorPaths.has(location.pathname)) {\n viewTransitionOpts = {\n currentLocation: state.location,\n nextLocation: location,\n };\n } else if (appliedViewTransitions.has(location.pathname)) {\n // If we don't have a previous forward nav, assume we're popping back to\n // the new location and enable if that location previously enabled\n viewTransitionOpts = {\n currentLocation: location,\n nextLocation: state.location,\n };\n }\n } else if (pendingViewTransitionEnabled) {\n // Store the applied transition on PUSH/REPLACE\n let toPaths = appliedViewTransitions.get(state.location.pathname);\n if (toPaths) {\n toPaths.add(location.pathname);\n } else {\n toPaths = new Set([location.pathname]);\n appliedViewTransitions.set(state.location.pathname, toPaths);\n }\n viewTransitionOpts = {\n currentLocation: state.location,\n nextLocation: location,\n };\n }\n\n updateState(\n {\n ...newState, // matches, errors, fetchers go through as-is\n actionData,\n loaderData,\n historyAction: pendingAction,\n location,\n initialized: true,\n navigation: IDLE_NAVIGATION,\n revalidation: \"idle\",\n restoreScrollPosition: getSavedScrollPosition(\n location,\n newState.matches || state.matches\n ),\n preventScrollReset,\n blockers,\n },\n {\n viewTransitionOpts,\n flushSync: flushSync === true,\n }\n );\n\n // Reset stateful navigation vars\n pendingAction = HistoryAction.Pop;\n pendingPreventScrollReset = false;\n pendingViewTransitionEnabled = false;\n isUninterruptedRevalidation = false;\n isRevalidationRequired = false;\n cancelledDeferredRoutes = [];\n }\n\n // Trigger a navigation event, which can either be a numerical POP or a PUSH\n // replace with an optional submission\n async function navigate(\n to: number | To | null,\n opts?: RouterNavigateOptions\n ): Promise {\n if (typeof to === \"number\") {\n init.history.go(to);\n return;\n }\n\n let normalizedPath = normalizeTo(\n state.location,\n state.matches,\n basename,\n future.v7_prependBasename,\n to,\n future.v7_relativeSplatPath,\n opts?.fromRouteId,\n opts?.relative\n );\n let { path, submission, error } = normalizeNavigateOptions(\n future.v7_normalizeFormMethod,\n false,\n normalizedPath,\n opts\n );\n\n let currentLocation = state.location;\n let nextLocation = createLocation(state.location, path, opts && opts.state);\n\n // When using navigate as a PUSH/REPLACE we aren't reading an already-encoded\n // URL from window.location, so we need to encode it here so the behavior\n // remains the same as POP and non-data-router usages. new URL() does all\n // the same encoding we'd get from a history.pushState/window.location read\n // without having to touch history\n nextLocation = {\n ...nextLocation,\n ...init.history.encodeLocation(nextLocation),\n };\n\n let userReplace = opts && opts.replace != null ? opts.replace : undefined;\n\n let historyAction = HistoryAction.Push;\n\n if (userReplace === true) {\n historyAction = HistoryAction.Replace;\n } else if (userReplace === false) {\n // no-op\n } else if (\n submission != null &&\n isMutationMethod(submission.formMethod) &&\n submission.formAction === state.location.pathname + state.location.search\n ) {\n // By default on submissions to the current location we REPLACE so that\n // users don't have to double-click the back button to get to the prior\n // location. If the user redirects to a different location from the\n // action/loader this will be ignored and the redirect will be a PUSH\n historyAction = HistoryAction.Replace;\n }\n\n let preventScrollReset =\n opts && \"preventScrollReset\" in opts\n ? opts.preventScrollReset === true\n : undefined;\n\n let flushSync = (opts && opts.flushSync) === true;\n\n let blockerKey = shouldBlockNavigation({\n currentLocation,\n nextLocation,\n historyAction,\n });\n\n if (blockerKey) {\n // Put the blocker into a blocked state\n updateBlocker(blockerKey, {\n state: \"blocked\",\n location: nextLocation,\n proceed() {\n updateBlocker(blockerKey!, {\n state: \"proceeding\",\n proceed: undefined,\n reset: undefined,\n location: nextLocation,\n });\n // Send the same navigation through\n navigate(to, opts);\n },\n reset() {\n let blockers = new Map(state.blockers);\n blockers.set(blockerKey!, IDLE_BLOCKER);\n updateState({ blockers });\n },\n });\n return;\n }\n\n return await startNavigation(historyAction, nextLocation, {\n submission,\n // Send through the formData serialization error if we have one so we can\n // render at the right error boundary after we match routes\n pendingError: error,\n preventScrollReset,\n replace: opts && opts.replace,\n enableViewTransition: opts && opts.viewTransition,\n flushSync,\n });\n }\n\n // Revalidate all current loaders. If a navigation is in progress or if this\n // is interrupted by a navigation, allow this to \"succeed\" by calling all\n // loaders during the next loader round\n function revalidate() {\n interruptActiveLoads();\n updateState({ revalidation: \"loading\" });\n\n // If we're currently submitting an action, we don't need to start a new\n // navigation, we'll just let the follow up loader execution call all loaders\n if (state.navigation.state === \"submitting\") {\n return;\n }\n\n // If we're currently in an idle state, start a new navigation for the current\n // action/location and mark it as uninterrupted, which will skip the history\n // update in completeNavigation\n if (state.navigation.state === \"idle\") {\n startNavigation(state.historyAction, state.location, {\n startUninterruptedRevalidation: true,\n });\n return;\n }\n\n // Otherwise, if we're currently in a loading state, just start a new\n // navigation to the navigation.location but do not trigger an uninterrupted\n // revalidation so that history correctly updates once the navigation completes\n startNavigation(\n pendingAction || state.historyAction,\n state.navigation.location,\n {\n overrideNavigation: state.navigation,\n // Proxy through any rending view transition\n enableViewTransition: pendingViewTransitionEnabled === true,\n }\n );\n }\n\n // Start a navigation to the given action/location. Can optionally provide a\n // overrideNavigation which will override the normalLoad in the case of a redirect\n // navigation\n async function startNavigation(\n historyAction: HistoryAction,\n location: Location,\n opts?: {\n initialHydration?: boolean;\n submission?: Submission;\n fetcherSubmission?: Submission;\n overrideNavigation?: Navigation;\n pendingError?: ErrorResponseImpl;\n startUninterruptedRevalidation?: boolean;\n preventScrollReset?: boolean;\n replace?: boolean;\n enableViewTransition?: boolean;\n flushSync?: boolean;\n }\n ): Promise {\n // Abort any in-progress navigations and start a new one. Unset any ongoing\n // uninterrupted revalidations unless told otherwise, since we want this\n // new navigation to update history normally\n pendingNavigationController && pendingNavigationController.abort();\n pendingNavigationController = null;\n pendingAction = historyAction;\n isUninterruptedRevalidation =\n (opts && opts.startUninterruptedRevalidation) === true;\n\n // Save the current scroll position every time we start a new navigation,\n // and track whether we should reset scroll on completion\n saveScrollPosition(state.location, state.matches);\n pendingPreventScrollReset = (opts && opts.preventScrollReset) === true;\n\n pendingViewTransitionEnabled = (opts && opts.enableViewTransition) === true;\n\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let loadingNavigation = opts && opts.overrideNavigation;\n let matches = matchRoutes(routesToUse, location, basename);\n let flushSync = (opts && opts.flushSync) === true;\n\n let fogOfWar = checkFogOfWar(matches, routesToUse, location.pathname);\n if (fogOfWar.active && fogOfWar.matches) {\n matches = fogOfWar.matches;\n }\n\n // Short circuit with a 404 on the root error boundary if we match nothing\n if (!matches) {\n let { error, notFoundMatches, route } = handleNavigational404(\n location.pathname\n );\n completeNavigation(\n location,\n {\n matches: notFoundMatches,\n loaderData: {},\n errors: {\n [route.id]: error,\n },\n },\n { flushSync }\n );\n return;\n }\n\n // Short circuit if it's only a hash change and not a revalidation or\n // mutation submission.\n //\n // Ignore on initial page loads because since the initial hydration will always\n // be \"same hash\". For example, on /page#hash and submit a \n // which will default to a navigation to /page\n if (\n state.initialized &&\n !isRevalidationRequired &&\n isHashChangeOnly(state.location, location) &&\n !(opts && opts.submission && isMutationMethod(opts.submission.formMethod))\n ) {\n completeNavigation(location, { matches }, { flushSync });\n return;\n }\n\n // Create a controller/Request for this navigation\n pendingNavigationController = new AbortController();\n let request = createClientSideRequest(\n init.history,\n location,\n pendingNavigationController.signal,\n opts && opts.submission\n );\n let pendingActionResult: PendingActionResult | undefined;\n\n if (opts && opts.pendingError) {\n // If we have a pendingError, it means the user attempted a GET submission\n // with binary FormData so assign here and skip to handleLoaders. That\n // way we handle calling loaders above the boundary etc. It's not really\n // different from an actionError in that sense.\n pendingActionResult = [\n findNearestBoundary(matches).route.id,\n { type: ResultType.error, error: opts.pendingError },\n ];\n } else if (\n opts &&\n opts.submission &&\n isMutationMethod(opts.submission.formMethod)\n ) {\n // Call action if we received an action submission\n let actionResult = await handleAction(\n request,\n location,\n opts.submission,\n matches,\n fogOfWar.active,\n { replace: opts.replace, flushSync }\n );\n\n if (actionResult.shortCircuited) {\n return;\n }\n\n // If we received a 404 from handleAction, it's because we couldn't lazily\n // discover the destination route so we don't want to call loaders\n if (actionResult.pendingActionResult) {\n let [routeId, result] = actionResult.pendingActionResult;\n if (\n isErrorResult(result) &&\n isRouteErrorResponse(result.error) &&\n result.error.status === 404\n ) {\n pendingNavigationController = null;\n\n completeNavigation(location, {\n matches: actionResult.matches,\n loaderData: {},\n errors: {\n [routeId]: result.error,\n },\n });\n return;\n }\n }\n\n matches = actionResult.matches || matches;\n pendingActionResult = actionResult.pendingActionResult;\n loadingNavigation = getLoadingNavigation(location, opts.submission);\n flushSync = false;\n // No need to do fog of war matching again on loader execution\n fogOfWar.active = false;\n\n // Create a GET request for the loaders\n request = createClientSideRequest(\n init.history,\n request.url,\n request.signal\n );\n }\n\n // Call loaders\n let {\n shortCircuited,\n matches: updatedMatches,\n loaderData,\n errors,\n } = await handleLoaders(\n request,\n location,\n matches,\n fogOfWar.active,\n loadingNavigation,\n opts && opts.submission,\n opts && opts.fetcherSubmission,\n opts && opts.replace,\n opts && opts.initialHydration === true,\n flushSync,\n pendingActionResult\n );\n\n if (shortCircuited) {\n return;\n }\n\n // Clean up now that the action/loaders have completed. Don't clean up if\n // we short circuited because pendingNavigationController will have already\n // been assigned to a new controller for the next navigation\n pendingNavigationController = null;\n\n completeNavigation(location, {\n matches: updatedMatches || matches,\n ...getActionDataForCommit(pendingActionResult),\n loaderData,\n errors,\n });\n }\n\n // Call the action matched by the leaf route for this navigation and handle\n // redirects/errors\n async function handleAction(\n request: Request,\n location: Location,\n submission: Submission,\n matches: AgnosticDataRouteMatch[],\n isFogOfWar: boolean,\n opts: { replace?: boolean; flushSync?: boolean } = {}\n ): Promise {\n interruptActiveLoads();\n\n // Put us in a submitting state\n let navigation = getSubmittingNavigation(location, submission);\n updateState({ navigation }, { flushSync: opts.flushSync === true });\n\n if (isFogOfWar) {\n let discoverResult = await discoverRoutes(\n matches,\n location.pathname,\n request.signal\n );\n if (discoverResult.type === \"aborted\") {\n return { shortCircuited: true };\n } else if (discoverResult.type === \"error\") {\n let boundaryId = findNearestBoundary(discoverResult.partialMatches)\n .route.id;\n return {\n matches: discoverResult.partialMatches,\n pendingActionResult: [\n boundaryId,\n {\n type: ResultType.error,\n error: discoverResult.error,\n },\n ],\n };\n } else if (!discoverResult.matches) {\n let { notFoundMatches, error, route } = handleNavigational404(\n location.pathname\n );\n return {\n matches: notFoundMatches,\n pendingActionResult: [\n route.id,\n {\n type: ResultType.error,\n error,\n },\n ],\n };\n } else {\n matches = discoverResult.matches;\n }\n }\n\n // Call our action and get the result\n let result: DataResult;\n let actionMatch = getTargetMatch(matches, location);\n\n if (!actionMatch.route.action && !actionMatch.route.lazy) {\n result = {\n type: ResultType.error,\n error: getInternalRouterError(405, {\n method: request.method,\n pathname: location.pathname,\n routeId: actionMatch.route.id,\n }),\n };\n } else {\n let results = await callDataStrategy(\n \"action\",\n state,\n request,\n [actionMatch],\n matches,\n null\n );\n result = results[actionMatch.route.id];\n\n if (request.signal.aborted) {\n return { shortCircuited: true };\n }\n }\n\n if (isRedirectResult(result)) {\n let replace: boolean;\n if (opts && opts.replace != null) {\n replace = opts.replace;\n } else {\n // If the user didn't explicity indicate replace behavior, replace if\n // we redirected to the exact same location we're currently at to avoid\n // double back-buttons\n let location = normalizeRedirectLocation(\n result.response.headers.get(\"Location\")!,\n new URL(request.url),\n basename\n );\n replace = location === state.location.pathname + state.location.search;\n }\n await startRedirectNavigation(request, result, true, {\n submission,\n replace,\n });\n return { shortCircuited: true };\n }\n\n if (isDeferredResult(result)) {\n throw getInternalRouterError(400, { type: \"defer-action\" });\n }\n\n if (isErrorResult(result)) {\n // Store off the pending error - we use it to determine which loaders\n // to call and will commit it when we complete the navigation\n let boundaryMatch = findNearestBoundary(matches, actionMatch.route.id);\n\n // By default, all submissions to the current location are REPLACE\n // navigations, but if the action threw an error that'll be rendered in\n // an errorElement, we fall back to PUSH so that the user can use the\n // back button to get back to the pre-submission form location to try\n // again\n if ((opts && opts.replace) !== true) {\n pendingAction = HistoryAction.Push;\n }\n\n return {\n matches,\n pendingActionResult: [boundaryMatch.route.id, result],\n };\n }\n\n return {\n matches,\n pendingActionResult: [actionMatch.route.id, result],\n };\n }\n\n // Call all applicable loaders for the given matches, handling redirects,\n // errors, etc.\n async function handleLoaders(\n request: Request,\n location: Location,\n matches: AgnosticDataRouteMatch[],\n isFogOfWar: boolean,\n overrideNavigation?: Navigation,\n submission?: Submission,\n fetcherSubmission?: Submission,\n replace?: boolean,\n initialHydration?: boolean,\n flushSync?: boolean,\n pendingActionResult?: PendingActionResult\n ): Promise {\n // Figure out the right navigation we want to use for data loading\n let loadingNavigation =\n overrideNavigation || getLoadingNavigation(location, submission);\n\n // If this was a redirect from an action we don't have a \"submission\" but\n // we have it on the loading navigation so use that if available\n let activeSubmission =\n submission ||\n fetcherSubmission ||\n getSubmissionFromNavigation(loadingNavigation);\n\n // If this is an uninterrupted revalidation, we remain in our current idle\n // state. If not, we need to switch to our loading state and load data,\n // preserving any new action data or existing action data (in the case of\n // a revalidation interrupting an actionReload)\n // If we have partialHydration enabled, then don't update the state for the\n // initial data load since it's not a \"navigation\"\n let shouldUpdateNavigationState =\n !isUninterruptedRevalidation &&\n (!future.v7_partialHydration || !initialHydration);\n\n // When fog of war is enabled, we enter our `loading` state earlier so we\n // can discover new routes during the `loading` state. We skip this if\n // we've already run actions since we would have done our matching already.\n // If the children() function threw then, we want to proceed with the\n // partial matches it discovered.\n if (isFogOfWar) {\n if (shouldUpdateNavigationState) {\n let actionData = getUpdatedActionData(pendingActionResult);\n updateState(\n {\n navigation: loadingNavigation,\n ...(actionData !== undefined ? { actionData } : {}),\n },\n {\n flushSync,\n }\n );\n }\n\n let discoverResult = await discoverRoutes(\n matches,\n location.pathname,\n request.signal\n );\n\n if (discoverResult.type === \"aborted\") {\n return { shortCircuited: true };\n } else if (discoverResult.type === \"error\") {\n let boundaryId = findNearestBoundary(discoverResult.partialMatches)\n .route.id;\n return {\n matches: discoverResult.partialMatches,\n loaderData: {},\n errors: {\n [boundaryId]: discoverResult.error,\n },\n };\n } else if (!discoverResult.matches) {\n let { error, notFoundMatches, route } = handleNavigational404(\n location.pathname\n );\n return {\n matches: notFoundMatches,\n loaderData: {},\n errors: {\n [route.id]: error,\n },\n };\n } else {\n matches = discoverResult.matches;\n }\n }\n\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(\n init.history,\n state,\n matches,\n activeSubmission,\n location,\n future.v7_partialHydration && initialHydration === true,\n future.v7_skipActionErrorRevalidation,\n isRevalidationRequired,\n cancelledDeferredRoutes,\n cancelledFetcherLoads,\n deletedFetchers,\n fetchLoadMatches,\n fetchRedirectIds,\n routesToUse,\n basename,\n pendingActionResult\n );\n\n // Cancel pending deferreds for no-longer-matched routes or routes we're\n // about to reload. Note that if this is an action reload we would have\n // already cancelled all pending deferreds so this would be a no-op\n cancelActiveDeferreds(\n (routeId) =>\n !(matches && matches.some((m) => m.route.id === routeId)) ||\n (matchesToLoad && matchesToLoad.some((m) => m.route.id === routeId))\n );\n\n pendingNavigationLoadId = ++incrementingLoadId;\n\n // Short circuit if we have no loaders to run\n if (matchesToLoad.length === 0 && revalidatingFetchers.length === 0) {\n let updatedFetchers = markFetchRedirectsDone();\n completeNavigation(\n location,\n {\n matches,\n loaderData: {},\n // Commit pending error if we're short circuiting\n errors:\n pendingActionResult && isErrorResult(pendingActionResult[1])\n ? { [pendingActionResult[0]]: pendingActionResult[1].error }\n : null,\n ...getActionDataForCommit(pendingActionResult),\n ...(updatedFetchers ? { fetchers: new Map(state.fetchers) } : {}),\n },\n { flushSync }\n );\n return { shortCircuited: true };\n }\n\n if (shouldUpdateNavigationState) {\n let updates: Partial = {};\n if (!isFogOfWar) {\n // Only update navigation/actionNData if we didn't already do it above\n updates.navigation = loadingNavigation;\n let actionData = getUpdatedActionData(pendingActionResult);\n if (actionData !== undefined) {\n updates.actionData = actionData;\n }\n }\n if (revalidatingFetchers.length > 0) {\n updates.fetchers = getUpdatedRevalidatingFetchers(revalidatingFetchers);\n }\n updateState(updates, { flushSync });\n }\n\n revalidatingFetchers.forEach((rf) => {\n abortFetcher(rf.key);\n if (rf.controller) {\n // Fetchers use an independent AbortController so that aborting a fetcher\n // (via deleteFetcher) does not abort the triggering navigation that\n // triggered the revalidation\n fetchControllers.set(rf.key, rf.controller);\n }\n });\n\n // Proxy navigation abort through to revalidation fetchers\n let abortPendingFetchRevalidations = () =>\n revalidatingFetchers.forEach((f) => abortFetcher(f.key));\n if (pendingNavigationController) {\n pendingNavigationController.signal.addEventListener(\n \"abort\",\n abortPendingFetchRevalidations\n );\n }\n\n let { loaderResults, fetcherResults } =\n await callLoadersAndMaybeResolveData(\n state,\n matches,\n matchesToLoad,\n revalidatingFetchers,\n request\n );\n\n if (request.signal.aborted) {\n return { shortCircuited: true };\n }\n\n // Clean up _after_ loaders have completed. Don't clean up if we short\n // circuited because fetchControllers would have been aborted and\n // reassigned to new controllers for the next navigation\n if (pendingNavigationController) {\n pendingNavigationController.signal.removeEventListener(\n \"abort\",\n abortPendingFetchRevalidations\n );\n }\n\n revalidatingFetchers.forEach((rf) => fetchControllers.delete(rf.key));\n\n // If any loaders returned a redirect Response, start a new REPLACE navigation\n let redirect = findRedirect(loaderResults);\n if (redirect) {\n await startRedirectNavigation(request, redirect.result, true, {\n replace,\n });\n return { shortCircuited: true };\n }\n\n redirect = findRedirect(fetcherResults);\n if (redirect) {\n // If this redirect came from a fetcher make sure we mark it in\n // fetchRedirectIds so it doesn't get revalidated on the next set of\n // loader executions\n fetchRedirectIds.add(redirect.key);\n await startRedirectNavigation(request, redirect.result, true, {\n replace,\n });\n return { shortCircuited: true };\n }\n\n // Process and commit output from loaders\n let { loaderData, errors } = processLoaderData(\n state,\n matches,\n loaderResults,\n pendingActionResult,\n revalidatingFetchers,\n fetcherResults,\n activeDeferreds\n );\n\n // Wire up subscribers to update loaderData as promises settle\n activeDeferreds.forEach((deferredData, routeId) => {\n deferredData.subscribe((aborted) => {\n // Note: No need to updateState here since the TrackedPromise on\n // loaderData is stable across resolve/reject\n // Remove this instance if we were aborted or if promises have settled\n if (aborted || deferredData.done) {\n activeDeferreds.delete(routeId);\n }\n });\n });\n\n // Preserve SSR errors during partial hydration\n if (future.v7_partialHydration && initialHydration && state.errors) {\n errors = { ...state.errors, ...errors };\n }\n\n let updatedFetchers = markFetchRedirectsDone();\n let didAbortFetchLoads = abortStaleFetchLoads(pendingNavigationLoadId);\n let shouldUpdateFetchers =\n updatedFetchers || didAbortFetchLoads || revalidatingFetchers.length > 0;\n\n return {\n matches,\n loaderData,\n errors,\n ...(shouldUpdateFetchers ? { fetchers: new Map(state.fetchers) } : {}),\n };\n }\n\n function getUpdatedActionData(\n pendingActionResult: PendingActionResult | undefined\n ): Record | null | undefined {\n if (pendingActionResult && !isErrorResult(pendingActionResult[1])) {\n // This is cast to `any` currently because `RouteData`uses any and it\n // would be a breaking change to use any.\n // TODO: v7 - change `RouteData` to use `unknown` instead of `any`\n return {\n [pendingActionResult[0]]: pendingActionResult[1].data as any,\n };\n } else if (state.actionData) {\n if (Object.keys(state.actionData).length === 0) {\n return null;\n } else {\n return state.actionData;\n }\n }\n }\n\n function getUpdatedRevalidatingFetchers(\n revalidatingFetchers: RevalidatingFetcher[]\n ) {\n revalidatingFetchers.forEach((rf) => {\n let fetcher = state.fetchers.get(rf.key);\n let revalidatingFetcher = getLoadingFetcher(\n undefined,\n fetcher ? fetcher.data : undefined\n );\n state.fetchers.set(rf.key, revalidatingFetcher);\n });\n return new Map(state.fetchers);\n }\n\n // Trigger a fetcher load/submit for the given fetcher key\n function fetch(\n key: string,\n routeId: string,\n href: string | null,\n opts?: RouterFetchOptions\n ) {\n if (isServer) {\n throw new Error(\n \"router.fetch() was called during the server render, but it shouldn't be. \" +\n \"You are likely calling a useFetcher() method in the body of your component. \" +\n \"Try moving it to a useEffect or a callback.\"\n );\n }\n\n abortFetcher(key);\n\n let flushSync = (opts && opts.flushSync) === true;\n\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let normalizedPath = normalizeTo(\n state.location,\n state.matches,\n basename,\n future.v7_prependBasename,\n href,\n future.v7_relativeSplatPath,\n routeId,\n opts?.relative\n );\n let matches = matchRoutes(routesToUse, normalizedPath, basename);\n\n let fogOfWar = checkFogOfWar(matches, routesToUse, normalizedPath);\n if (fogOfWar.active && fogOfWar.matches) {\n matches = fogOfWar.matches;\n }\n\n if (!matches) {\n setFetcherError(\n key,\n routeId,\n getInternalRouterError(404, { pathname: normalizedPath }),\n { flushSync }\n );\n return;\n }\n\n let { path, submission, error } = normalizeNavigateOptions(\n future.v7_normalizeFormMethod,\n true,\n normalizedPath,\n opts\n );\n\n if (error) {\n setFetcherError(key, routeId, error, { flushSync });\n return;\n }\n\n let match = getTargetMatch(matches, path);\n\n let preventScrollReset = (opts && opts.preventScrollReset) === true;\n\n if (submission && isMutationMethod(submission.formMethod)) {\n handleFetcherAction(\n key,\n routeId,\n path,\n match,\n matches,\n fogOfWar.active,\n flushSync,\n preventScrollReset,\n submission\n );\n return;\n }\n\n // Store off the match so we can call it's shouldRevalidate on subsequent\n // revalidations\n fetchLoadMatches.set(key, { routeId, path });\n handleFetcherLoader(\n key,\n routeId,\n path,\n match,\n matches,\n fogOfWar.active,\n flushSync,\n preventScrollReset,\n submission\n );\n }\n\n // Call the action for the matched fetcher.submit(), and then handle redirects,\n // errors, and revalidation\n async function handleFetcherAction(\n key: string,\n routeId: string,\n path: string,\n match: AgnosticDataRouteMatch,\n requestMatches: AgnosticDataRouteMatch[],\n isFogOfWar: boolean,\n flushSync: boolean,\n preventScrollReset: boolean,\n submission: Submission\n ) {\n interruptActiveLoads();\n fetchLoadMatches.delete(key);\n\n function detectAndHandle405Error(m: AgnosticDataRouteMatch) {\n if (!m.route.action && !m.route.lazy) {\n let error = getInternalRouterError(405, {\n method: submission.formMethod,\n pathname: path,\n routeId: routeId,\n });\n setFetcherError(key, routeId, error, { flushSync });\n return true;\n }\n return false;\n }\n\n if (!isFogOfWar && detectAndHandle405Error(match)) {\n return;\n }\n\n // Put this fetcher into it's submitting state\n let existingFetcher = state.fetchers.get(key);\n updateFetcherState(key, getSubmittingFetcher(submission, existingFetcher), {\n flushSync,\n });\n\n let abortController = new AbortController();\n let fetchRequest = createClientSideRequest(\n init.history,\n path,\n abortController.signal,\n submission\n );\n\n if (isFogOfWar) {\n let discoverResult = await discoverRoutes(\n requestMatches,\n path,\n fetchRequest.signal\n );\n\n if (discoverResult.type === \"aborted\") {\n return;\n } else if (discoverResult.type === \"error\") {\n setFetcherError(key, routeId, discoverResult.error, { flushSync });\n return;\n } else if (!discoverResult.matches) {\n setFetcherError(\n key,\n routeId,\n getInternalRouterError(404, { pathname: path }),\n { flushSync }\n );\n return;\n } else {\n requestMatches = discoverResult.matches;\n match = getTargetMatch(requestMatches, path);\n\n if (detectAndHandle405Error(match)) {\n return;\n }\n }\n }\n\n // Call the action for the fetcher\n fetchControllers.set(key, abortController);\n\n let originatingLoadId = incrementingLoadId;\n let actionResults = await callDataStrategy(\n \"action\",\n state,\n fetchRequest,\n [match],\n requestMatches,\n key\n );\n let actionResult = actionResults[match.route.id];\n\n if (fetchRequest.signal.aborted) {\n // We can delete this so long as we weren't aborted by our own fetcher\n // re-submit which would have put _new_ controller is in fetchControllers\n if (fetchControllers.get(key) === abortController) {\n fetchControllers.delete(key);\n }\n return;\n }\n\n // When using v7_fetcherPersist, we don't want errors bubbling up to the UI\n // or redirects processed for unmounted fetchers so we just revert them to\n // idle\n if (future.v7_fetcherPersist && deletedFetchers.has(key)) {\n if (isRedirectResult(actionResult) || isErrorResult(actionResult)) {\n updateFetcherState(key, getDoneFetcher(undefined));\n return;\n }\n // Let SuccessResult's fall through for revalidation\n } else {\n if (isRedirectResult(actionResult)) {\n fetchControllers.delete(key);\n if (pendingNavigationLoadId > originatingLoadId) {\n // A new navigation was kicked off after our action started, so that\n // should take precedence over this redirect navigation. We already\n // set isRevalidationRequired so all loaders for the new route should\n // fire unless opted out via shouldRevalidate\n updateFetcherState(key, getDoneFetcher(undefined));\n return;\n } else {\n fetchRedirectIds.add(key);\n updateFetcherState(key, getLoadingFetcher(submission));\n return startRedirectNavigation(fetchRequest, actionResult, false, {\n fetcherSubmission: submission,\n preventScrollReset,\n });\n }\n }\n\n // Process any non-redirect errors thrown\n if (isErrorResult(actionResult)) {\n setFetcherError(key, routeId, actionResult.error);\n return;\n }\n }\n\n if (isDeferredResult(actionResult)) {\n throw getInternalRouterError(400, { type: \"defer-action\" });\n }\n\n // Start the data load for current matches, or the next location if we're\n // in the middle of a navigation\n let nextLocation = state.navigation.location || state.location;\n let revalidationRequest = createClientSideRequest(\n init.history,\n nextLocation,\n abortController.signal\n );\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let matches =\n state.navigation.state !== \"idle\"\n ? matchRoutes(routesToUse, state.navigation.location, basename)\n : state.matches;\n\n invariant(matches, \"Didn't find any matches after fetcher action\");\n\n let loadId = ++incrementingLoadId;\n fetchReloadIds.set(key, loadId);\n\n let loadFetcher = getLoadingFetcher(submission, actionResult.data);\n state.fetchers.set(key, loadFetcher);\n\n let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(\n init.history,\n state,\n matches,\n submission,\n nextLocation,\n false,\n future.v7_skipActionErrorRevalidation,\n isRevalidationRequired,\n cancelledDeferredRoutes,\n cancelledFetcherLoads,\n deletedFetchers,\n fetchLoadMatches,\n fetchRedirectIds,\n routesToUse,\n basename,\n [match.route.id, actionResult]\n );\n\n // Put all revalidating fetchers into the loading state, except for the\n // current fetcher which we want to keep in it's current loading state which\n // contains it's action submission info + action data\n revalidatingFetchers\n .filter((rf) => rf.key !== key)\n .forEach((rf) => {\n let staleKey = rf.key;\n let existingFetcher = state.fetchers.get(staleKey);\n let revalidatingFetcher = getLoadingFetcher(\n undefined,\n existingFetcher ? existingFetcher.data : undefined\n );\n state.fetchers.set(staleKey, revalidatingFetcher);\n abortFetcher(staleKey);\n if (rf.controller) {\n fetchControllers.set(staleKey, rf.controller);\n }\n });\n\n updateState({ fetchers: new Map(state.fetchers) });\n\n let abortPendingFetchRevalidations = () =>\n revalidatingFetchers.forEach((rf) => abortFetcher(rf.key));\n\n abortController.signal.addEventListener(\n \"abort\",\n abortPendingFetchRevalidations\n );\n\n let { loaderResults, fetcherResults } =\n await callLoadersAndMaybeResolveData(\n state,\n matches,\n matchesToLoad,\n revalidatingFetchers,\n revalidationRequest\n );\n\n if (abortController.signal.aborted) {\n return;\n }\n\n abortController.signal.removeEventListener(\n \"abort\",\n abortPendingFetchRevalidations\n );\n\n fetchReloadIds.delete(key);\n fetchControllers.delete(key);\n revalidatingFetchers.forEach((r) => fetchControllers.delete(r.key));\n\n let redirect = findRedirect(loaderResults);\n if (redirect) {\n return startRedirectNavigation(\n revalidationRequest,\n redirect.result,\n false,\n { preventScrollReset }\n );\n }\n\n redirect = findRedirect(fetcherResults);\n if (redirect) {\n // If this redirect came from a fetcher make sure we mark it in\n // fetchRedirectIds so it doesn't get revalidated on the next set of\n // loader executions\n fetchRedirectIds.add(redirect.key);\n return startRedirectNavigation(\n revalidationRequest,\n redirect.result,\n false,\n { preventScrollReset }\n );\n }\n\n // Process and commit output from loaders\n let { loaderData, errors } = processLoaderData(\n state,\n matches,\n loaderResults,\n undefined,\n revalidatingFetchers,\n fetcherResults,\n activeDeferreds\n );\n\n // Since we let revalidations complete even if the submitting fetcher was\n // deleted, only put it back to idle if it hasn't been deleted\n if (state.fetchers.has(key)) {\n let doneFetcher = getDoneFetcher(actionResult.data);\n state.fetchers.set(key, doneFetcher);\n }\n\n abortStaleFetchLoads(loadId);\n\n // If we are currently in a navigation loading state and this fetcher is\n // more recent than the navigation, we want the newer data so abort the\n // navigation and complete it with the fetcher data\n if (\n state.navigation.state === \"loading\" &&\n loadId > pendingNavigationLoadId\n ) {\n invariant(pendingAction, \"Expected pending action\");\n pendingNavigationController && pendingNavigationController.abort();\n\n completeNavigation(state.navigation.location, {\n matches,\n loaderData,\n errors,\n fetchers: new Map(state.fetchers),\n });\n } else {\n // otherwise just update with the fetcher data, preserving any existing\n // loaderData for loaders that did not need to reload. We have to\n // manually merge here since we aren't going through completeNavigation\n updateState({\n errors,\n loaderData: mergeLoaderData(\n state.loaderData,\n loaderData,\n matches,\n errors\n ),\n fetchers: new Map(state.fetchers),\n });\n isRevalidationRequired = false;\n }\n }\n\n // Call the matched loader for fetcher.load(), handling redirects, errors, etc.\n async function handleFetcherLoader(\n key: string,\n routeId: string,\n path: string,\n match: AgnosticDataRouteMatch,\n matches: AgnosticDataRouteMatch[],\n isFogOfWar: boolean,\n flushSync: boolean,\n preventScrollReset: boolean,\n submission?: Submission\n ) {\n let existingFetcher = state.fetchers.get(key);\n updateFetcherState(\n key,\n getLoadingFetcher(\n submission,\n existingFetcher ? existingFetcher.data : undefined\n ),\n { flushSync }\n );\n\n let abortController = new AbortController();\n let fetchRequest = createClientSideRequest(\n init.history,\n path,\n abortController.signal\n );\n\n if (isFogOfWar) {\n let discoverResult = await discoverRoutes(\n matches,\n path,\n fetchRequest.signal\n );\n\n if (discoverResult.type === \"aborted\") {\n return;\n } else if (discoverResult.type === \"error\") {\n setFetcherError(key, routeId, discoverResult.error, { flushSync });\n return;\n } else if (!discoverResult.matches) {\n setFetcherError(\n key,\n routeId,\n getInternalRouterError(404, { pathname: path }),\n { flushSync }\n );\n return;\n } else {\n matches = discoverResult.matches;\n match = getTargetMatch(matches, path);\n }\n }\n\n // Call the loader for this fetcher route match\n fetchControllers.set(key, abortController);\n\n let originatingLoadId = incrementingLoadId;\n let results = await callDataStrategy(\n \"loader\",\n state,\n fetchRequest,\n [match],\n matches,\n key\n );\n let result = results[match.route.id];\n\n // Deferred isn't supported for fetcher loads, await everything and treat it\n // as a normal load. resolveDeferredData will return undefined if this\n // fetcher gets aborted, so we just leave result untouched and short circuit\n // below if that happens\n if (isDeferredResult(result)) {\n result =\n (await resolveDeferredData(result, fetchRequest.signal, true)) ||\n result;\n }\n\n // We can delete this so long as we weren't aborted by our our own fetcher\n // re-load which would have put _new_ controller is in fetchControllers\n if (fetchControllers.get(key) === abortController) {\n fetchControllers.delete(key);\n }\n\n if (fetchRequest.signal.aborted) {\n return;\n }\n\n // We don't want errors bubbling up or redirects followed for unmounted\n // fetchers, so short circuit here if it was removed from the UI\n if (deletedFetchers.has(key)) {\n updateFetcherState(key, getDoneFetcher(undefined));\n return;\n }\n\n // If the loader threw a redirect Response, start a new REPLACE navigation\n if (isRedirectResult(result)) {\n if (pendingNavigationLoadId > originatingLoadId) {\n // A new navigation was kicked off after our loader started, so that\n // should take precedence over this redirect navigation\n updateFetcherState(key, getDoneFetcher(undefined));\n return;\n } else {\n fetchRedirectIds.add(key);\n await startRedirectNavigation(fetchRequest, result, false, {\n preventScrollReset,\n });\n return;\n }\n }\n\n // Process any non-redirect errors thrown\n if (isErrorResult(result)) {\n setFetcherError(key, routeId, result.error);\n return;\n }\n\n invariant(!isDeferredResult(result), \"Unhandled fetcher deferred data\");\n\n // Put the fetcher back into an idle state\n updateFetcherState(key, getDoneFetcher(result.data));\n }\n\n /**\n * Utility function to handle redirects returned from an action or loader.\n * Normally, a redirect \"replaces\" the navigation that triggered it. So, for\n * example:\n *\n * - user is on /a\n * - user clicks a link to /b\n * - loader for /b redirects to /c\n *\n * In a non-JS app the browser would track the in-flight navigation to /b and\n * then replace it with /c when it encountered the redirect response. In\n * the end it would only ever update the URL bar with /c.\n *\n * In client-side routing using pushState/replaceState, we aim to emulate\n * this behavior and we also do not update history until the end of the\n * navigation (including processed redirects). This means that we never\n * actually touch history until we've processed redirects, so we just use\n * the history action from the original navigation (PUSH or REPLACE).\n */\n async function startRedirectNavigation(\n request: Request,\n redirect: RedirectResult,\n isNavigation: boolean,\n {\n submission,\n fetcherSubmission,\n preventScrollReset,\n replace,\n }: {\n submission?: Submission;\n fetcherSubmission?: Submission;\n preventScrollReset?: boolean;\n replace?: boolean;\n } = {}\n ) {\n if (redirect.response.headers.has(\"X-Remix-Revalidate\")) {\n isRevalidationRequired = true;\n }\n\n let location = redirect.response.headers.get(\"Location\");\n invariant(location, \"Expected a Location header on the redirect Response\");\n location = normalizeRedirectLocation(\n location,\n new URL(request.url),\n basename\n );\n let redirectLocation = createLocation(state.location, location, {\n _isRedirect: true,\n });\n\n if (isBrowser) {\n let isDocumentReload = false;\n\n if (redirect.response.headers.has(\"X-Remix-Reload-Document\")) {\n // Hard reload if the response contained X-Remix-Reload-Document\n isDocumentReload = true;\n } else if (ABSOLUTE_URL_REGEX.test(location)) {\n const url = init.history.createURL(location);\n isDocumentReload =\n // Hard reload if it's an absolute URL to a new origin\n url.origin !== routerWindow.location.origin ||\n // Hard reload if it's an absolute URL that does not match our basename\n stripBasename(url.pathname, basename) == null;\n }\n\n if (isDocumentReload) {\n if (replace) {\n routerWindow.location.replace(location);\n } else {\n routerWindow.location.assign(location);\n }\n return;\n }\n }\n\n // There's no need to abort on redirects, since we don't detect the\n // redirect until the action/loaders have settled\n pendingNavigationController = null;\n\n let redirectHistoryAction =\n replace === true || redirect.response.headers.has(\"X-Remix-Replace\")\n ? HistoryAction.Replace\n : HistoryAction.Push;\n\n // Use the incoming submission if provided, fallback on the active one in\n // state.navigation\n let { formMethod, formAction, formEncType } = state.navigation;\n if (\n !submission &&\n !fetcherSubmission &&\n formMethod &&\n formAction &&\n formEncType\n ) {\n submission = getSubmissionFromNavigation(state.navigation);\n }\n\n // If this was a 307/308 submission we want to preserve the HTTP method and\n // re-submit the GET/POST/PUT/PATCH/DELETE as a submission navigation to the\n // redirected location\n let activeSubmission = submission || fetcherSubmission;\n if (\n redirectPreserveMethodStatusCodes.has(redirect.response.status) &&\n activeSubmission &&\n isMutationMethod(activeSubmission.formMethod)\n ) {\n await startNavigation(redirectHistoryAction, redirectLocation, {\n submission: {\n ...activeSubmission,\n formAction: location,\n },\n // Preserve these flags across redirects\n preventScrollReset: preventScrollReset || pendingPreventScrollReset,\n enableViewTransition: isNavigation\n ? pendingViewTransitionEnabled\n : undefined,\n });\n } else {\n // If we have a navigation submission, we will preserve it through the\n // redirect navigation\n let overrideNavigation = getLoadingNavigation(\n redirectLocation,\n submission\n );\n await startNavigation(redirectHistoryAction, redirectLocation, {\n overrideNavigation,\n // Send fetcher submissions through for shouldRevalidate\n fetcherSubmission,\n // Preserve these flags across redirects\n preventScrollReset: preventScrollReset || pendingPreventScrollReset,\n enableViewTransition: isNavigation\n ? pendingViewTransitionEnabled\n : undefined,\n });\n }\n }\n\n // Utility wrapper for calling dataStrategy client-side without having to\n // pass around the manifest, mapRouteProperties, etc.\n async function callDataStrategy(\n type: \"loader\" | \"action\",\n state: RouterState,\n request: Request,\n matchesToLoad: AgnosticDataRouteMatch[],\n matches: AgnosticDataRouteMatch[],\n fetcherKey: string | null\n ): Promise> {\n let results: Record;\n let dataResults: Record = {};\n try {\n results = await callDataStrategyImpl(\n dataStrategyImpl,\n type,\n state,\n request,\n matchesToLoad,\n matches,\n fetcherKey,\n manifest,\n mapRouteProperties\n );\n } catch (e) {\n // If the outer dataStrategy method throws, just return the error for all\n // matches - and it'll naturally bubble to the root\n matchesToLoad.forEach((m) => {\n dataResults[m.route.id] = {\n type: ResultType.error,\n error: e,\n };\n });\n return dataResults;\n }\n\n for (let [routeId, result] of Object.entries(results)) {\n if (isRedirectDataStrategyResultResult(result)) {\n let response = result.result as Response;\n dataResults[routeId] = {\n type: ResultType.redirect,\n response: normalizeRelativeRoutingRedirectResponse(\n response,\n request,\n routeId,\n matches,\n basename,\n future.v7_relativeSplatPath\n ),\n };\n } else {\n dataResults[routeId] = await convertDataStrategyResultToDataResult(\n result\n );\n }\n }\n\n return dataResults;\n }\n\n async function callLoadersAndMaybeResolveData(\n state: RouterState,\n matches: AgnosticDataRouteMatch[],\n matchesToLoad: AgnosticDataRouteMatch[],\n fetchersToLoad: RevalidatingFetcher[],\n request: Request\n ) {\n let currentMatches = state.matches;\n\n // Kick off loaders and fetchers in parallel\n let loaderResultsPromise = callDataStrategy(\n \"loader\",\n state,\n request,\n matchesToLoad,\n matches,\n null\n );\n\n let fetcherResultsPromise = Promise.all(\n fetchersToLoad.map(async (f) => {\n if (f.matches && f.match && f.controller) {\n let results = await callDataStrategy(\n \"loader\",\n state,\n createClientSideRequest(init.history, f.path, f.controller.signal),\n [f.match],\n f.matches,\n f.key\n );\n let result = results[f.match.route.id];\n // Fetcher results are keyed by fetcher key from here on out, not routeId\n return { [f.key]: result };\n } else {\n return Promise.resolve({\n [f.key]: {\n type: ResultType.error,\n error: getInternalRouterError(404, {\n pathname: f.path,\n }),\n } as ErrorResult,\n });\n }\n })\n );\n\n let loaderResults = await loaderResultsPromise;\n let fetcherResults = (await fetcherResultsPromise).reduce(\n (acc, r) => Object.assign(acc, r),\n {}\n );\n\n await Promise.all([\n resolveNavigationDeferredResults(\n matches,\n loaderResults,\n request.signal,\n currentMatches,\n state.loaderData\n ),\n resolveFetcherDeferredResults(matches, fetcherResults, fetchersToLoad),\n ]);\n\n return {\n loaderResults,\n fetcherResults,\n };\n }\n\n function interruptActiveLoads() {\n // Every interruption triggers a revalidation\n isRevalidationRequired = true;\n\n // Cancel pending route-level deferreds and mark cancelled routes for\n // revalidation\n cancelledDeferredRoutes.push(...cancelActiveDeferreds());\n\n // Abort in-flight fetcher loads\n fetchLoadMatches.forEach((_, key) => {\n if (fetchControllers.has(key)) {\n cancelledFetcherLoads.add(key);\n }\n abortFetcher(key);\n });\n }\n\n function updateFetcherState(\n key: string,\n fetcher: Fetcher,\n opts: { flushSync?: boolean } = {}\n ) {\n state.fetchers.set(key, fetcher);\n updateState(\n { fetchers: new Map(state.fetchers) },\n { flushSync: (opts && opts.flushSync) === true }\n );\n }\n\n function setFetcherError(\n key: string,\n routeId: string,\n error: any,\n opts: { flushSync?: boolean } = {}\n ) {\n let boundaryMatch = findNearestBoundary(state.matches, routeId);\n deleteFetcher(key);\n updateState(\n {\n errors: {\n [boundaryMatch.route.id]: error,\n },\n fetchers: new Map(state.fetchers),\n },\n { flushSync: (opts && opts.flushSync) === true }\n );\n }\n\n function getFetcher(key: string): Fetcher {\n if (future.v7_fetcherPersist) {\n activeFetchers.set(key, (activeFetchers.get(key) || 0) + 1);\n // If this fetcher was previously marked for deletion, unmark it since we\n // have a new instance\n if (deletedFetchers.has(key)) {\n deletedFetchers.delete(key);\n }\n }\n return state.fetchers.get(key) || IDLE_FETCHER;\n }\n\n function deleteFetcher(key: string): void {\n let fetcher = state.fetchers.get(key);\n // Don't abort the controller if this is a deletion of a fetcher.submit()\n // in it's loading phase since - we don't want to abort the corresponding\n // revalidation and want them to complete and land\n if (\n fetchControllers.has(key) &&\n !(fetcher && fetcher.state === \"loading\" && fetchReloadIds.has(key))\n ) {\n abortFetcher(key);\n }\n fetchLoadMatches.delete(key);\n fetchReloadIds.delete(key);\n fetchRedirectIds.delete(key);\n deletedFetchers.delete(key);\n cancelledFetcherLoads.delete(key);\n state.fetchers.delete(key);\n }\n\n function deleteFetcherAndUpdateState(key: string): void {\n if (future.v7_fetcherPersist) {\n let count = (activeFetchers.get(key) || 0) - 1;\n if (count <= 0) {\n activeFetchers.delete(key);\n deletedFetchers.add(key);\n } else {\n activeFetchers.set(key, count);\n }\n } else {\n deleteFetcher(key);\n }\n updateState({ fetchers: new Map(state.fetchers) });\n }\n\n function abortFetcher(key: string) {\n let controller = fetchControllers.get(key);\n if (controller) {\n controller.abort();\n fetchControllers.delete(key);\n }\n }\n\n function markFetchersDone(keys: string[]) {\n for (let key of keys) {\n let fetcher = getFetcher(key);\n let doneFetcher = getDoneFetcher(fetcher.data);\n state.fetchers.set(key, doneFetcher);\n }\n }\n\n function markFetchRedirectsDone(): boolean {\n let doneKeys = [];\n let updatedFetchers = false;\n for (let key of fetchRedirectIds) {\n let fetcher = state.fetchers.get(key);\n invariant(fetcher, `Expected fetcher: ${key}`);\n if (fetcher.state === \"loading\") {\n fetchRedirectIds.delete(key);\n doneKeys.push(key);\n updatedFetchers = true;\n }\n }\n markFetchersDone(doneKeys);\n return updatedFetchers;\n }\n\n function abortStaleFetchLoads(landedId: number): boolean {\n let yeetedKeys = [];\n for (let [key, id] of fetchReloadIds) {\n if (id < landedId) {\n let fetcher = state.fetchers.get(key);\n invariant(fetcher, `Expected fetcher: ${key}`);\n if (fetcher.state === \"loading\") {\n abortFetcher(key);\n fetchReloadIds.delete(key);\n yeetedKeys.push(key);\n }\n }\n }\n markFetchersDone(yeetedKeys);\n return yeetedKeys.length > 0;\n }\n\n function getBlocker(key: string, fn: BlockerFunction) {\n let blocker: Blocker = state.blockers.get(key) || IDLE_BLOCKER;\n\n if (blockerFunctions.get(key) !== fn) {\n blockerFunctions.set(key, fn);\n }\n\n return blocker;\n }\n\n function deleteBlocker(key: string) {\n state.blockers.delete(key);\n blockerFunctions.delete(key);\n }\n\n // Utility function to update blockers, ensuring valid state transitions\n function updateBlocker(key: string, newBlocker: Blocker) {\n let blocker = state.blockers.get(key) || IDLE_BLOCKER;\n\n // Poor mans state machine :)\n // https://mermaid.live/edit#pako:eNqVkc9OwzAMxl8l8nnjAYrEtDIOHEBIgwvKJTReGy3_lDpIqO27k6awMG0XcrLlnz87nwdonESogKXXBuE79rq75XZO3-yHds0RJVuv70YrPlUrCEe2HfrORS3rubqZfuhtpg5C9wk5tZ4VKcRUq88q9Z8RS0-48cE1iHJkL0ugbHuFLus9L6spZy8nX9MP2CNdomVaposqu3fGayT8T8-jJQwhepo_UtpgBQaDEUom04dZhAN1aJBDlUKJBxE1ceB2Smj0Mln-IBW5AFU2dwUiktt_2Qaq2dBfaKdEup85UV7Yd-dKjlnkabl2Pvr0DTkTreM\n invariant(\n (blocker.state === \"unblocked\" && newBlocker.state === \"blocked\") ||\n (blocker.state === \"blocked\" && newBlocker.state === \"blocked\") ||\n (blocker.state === \"blocked\" && newBlocker.state === \"proceeding\") ||\n (blocker.state === \"blocked\" && newBlocker.state === \"unblocked\") ||\n (blocker.state === \"proceeding\" && newBlocker.state === \"unblocked\"),\n `Invalid blocker state transition: ${blocker.state} -> ${newBlocker.state}`\n );\n\n let blockers = new Map(state.blockers);\n blockers.set(key, newBlocker);\n updateState({ blockers });\n }\n\n function shouldBlockNavigation({\n currentLocation,\n nextLocation,\n historyAction,\n }: {\n currentLocation: Location;\n nextLocation: Location;\n historyAction: HistoryAction;\n }): string | undefined {\n if (blockerFunctions.size === 0) {\n return;\n }\n\n // We ony support a single active blocker at the moment since we don't have\n // any compelling use cases for multi-blocker yet\n if (blockerFunctions.size > 1) {\n warning(false, \"A router only supports one blocker at a time\");\n }\n\n let entries = Array.from(blockerFunctions.entries());\n let [blockerKey, blockerFunction] = entries[entries.length - 1];\n let blocker = state.blockers.get(blockerKey);\n\n if (blocker && blocker.state === \"proceeding\") {\n // If the blocker is currently proceeding, we don't need to re-check\n // it and can let this navigation continue\n return;\n }\n\n // At this point, we know we're unblocked/blocked so we need to check the\n // user-provided blocker function\n if (blockerFunction({ currentLocation, nextLocation, historyAction })) {\n return blockerKey;\n }\n }\n\n function handleNavigational404(pathname: string) {\n let error = getInternalRouterError(404, { pathname });\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let { matches, route } = getShortCircuitMatches(routesToUse);\n\n // Cancel all pending deferred on 404s since we don't keep any routes\n cancelActiveDeferreds();\n\n return { notFoundMatches: matches, route, error };\n }\n\n function cancelActiveDeferreds(\n predicate?: (routeId: string) => boolean\n ): string[] {\n let cancelledRouteIds: string[] = [];\n activeDeferreds.forEach((dfd, routeId) => {\n if (!predicate || predicate(routeId)) {\n // Cancel the deferred - but do not remove from activeDeferreds here -\n // we rely on the subscribers to do that so our tests can assert proper\n // cleanup via _internalActiveDeferreds\n dfd.cancel();\n cancelledRouteIds.push(routeId);\n activeDeferreds.delete(routeId);\n }\n });\n return cancelledRouteIds;\n }\n\n // Opt in to capturing and reporting scroll positions during navigations,\n // used by the component\n function enableScrollRestoration(\n positions: Record,\n getPosition: GetScrollPositionFunction,\n getKey?: GetScrollRestorationKeyFunction\n ) {\n savedScrollPositions = positions;\n getScrollPosition = getPosition;\n getScrollRestorationKey = getKey || null;\n\n // Perform initial hydration scroll restoration, since we miss the boat on\n // the initial updateState() because we've not yet rendered \n // and therefore have no savedScrollPositions available\n if (!initialScrollRestored && state.navigation === IDLE_NAVIGATION) {\n initialScrollRestored = true;\n let y = getSavedScrollPosition(state.location, state.matches);\n if (y != null) {\n updateState({ restoreScrollPosition: y });\n }\n }\n\n return () => {\n savedScrollPositions = null;\n getScrollPosition = null;\n getScrollRestorationKey = null;\n };\n }\n\n function getScrollKey(location: Location, matches: AgnosticDataRouteMatch[]) {\n if (getScrollRestorationKey) {\n let key = getScrollRestorationKey(\n location,\n matches.map((m) => convertRouteMatchToUiMatch(m, state.loaderData))\n );\n return key || location.key;\n }\n return location.key;\n }\n\n function saveScrollPosition(\n location: Location,\n matches: AgnosticDataRouteMatch[]\n ): void {\n if (savedScrollPositions && getScrollPosition) {\n let key = getScrollKey(location, matches);\n savedScrollPositions[key] = getScrollPosition();\n }\n }\n\n function getSavedScrollPosition(\n location: Location,\n matches: AgnosticDataRouteMatch[]\n ): number | null {\n if (savedScrollPositions) {\n let key = getScrollKey(location, matches);\n let y = savedScrollPositions[key];\n if (typeof y === \"number\") {\n return y;\n }\n }\n return null;\n }\n\n function checkFogOfWar(\n matches: AgnosticDataRouteMatch[] | null,\n routesToUse: AgnosticDataRouteObject[],\n pathname: string\n ): { active: boolean; matches: AgnosticDataRouteMatch[] | null } {\n if (patchRoutesOnNavigationImpl) {\n if (!matches) {\n let fogMatches = matchRoutesImpl(\n routesToUse,\n pathname,\n basename,\n true\n );\n\n return { active: true, matches: fogMatches || [] };\n } else {\n if (Object.keys(matches[0].params).length > 0) {\n // If we matched a dynamic param or a splat, it might only be because\n // we haven't yet discovered other routes that would match with a\n // higher score. Call patchRoutesOnNavigation just to be sure\n let partialMatches = matchRoutesImpl(\n routesToUse,\n pathname,\n basename,\n true\n );\n return { active: true, matches: partialMatches };\n }\n }\n }\n\n return { active: false, matches: null };\n }\n\n type DiscoverRoutesSuccessResult = {\n type: \"success\";\n matches: AgnosticDataRouteMatch[] | null;\n };\n type DiscoverRoutesErrorResult = {\n type: \"error\";\n error: any;\n partialMatches: AgnosticDataRouteMatch[];\n };\n type DiscoverRoutesAbortedResult = { type: \"aborted\" };\n type DiscoverRoutesResult =\n | DiscoverRoutesSuccessResult\n | DiscoverRoutesErrorResult\n | DiscoverRoutesAbortedResult;\n\n async function discoverRoutes(\n matches: AgnosticDataRouteMatch[],\n pathname: string,\n signal: AbortSignal\n ): Promise {\n if (!patchRoutesOnNavigationImpl) {\n return { type: \"success\", matches };\n }\n\n let partialMatches: AgnosticDataRouteMatch[] | null = matches;\n while (true) {\n let isNonHMR = inFlightDataRoutes == null;\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let localManifest = manifest;\n try {\n await patchRoutesOnNavigationImpl({\n path: pathname,\n matches: partialMatches,\n patch: (routeId, children) => {\n if (signal.aborted) return;\n patchRoutesImpl(\n routeId,\n children,\n routesToUse,\n localManifest,\n mapRouteProperties\n );\n },\n });\n } catch (e) {\n return { type: \"error\", error: e, partialMatches };\n } finally {\n // If we are not in the middle of an HMR revalidation and we changed the\n // routes, provide a new identity so when we `updateState` at the end of\n // this navigation/fetch `router.routes` will be a new identity and\n // trigger a re-run of memoized `router.routes` dependencies.\n // HMR will already update the identity and reflow when it lands\n // `inFlightDataRoutes` in `completeNavigation`\n if (isNonHMR && !signal.aborted) {\n dataRoutes = [...dataRoutes];\n }\n }\n\n if (signal.aborted) {\n return { type: \"aborted\" };\n }\n\n let newMatches = matchRoutes(routesToUse, pathname, basename);\n if (newMatches) {\n return { type: \"success\", matches: newMatches };\n }\n\n let newPartialMatches = matchRoutesImpl(\n routesToUse,\n pathname,\n basename,\n true\n );\n\n // Avoid loops if the second pass results in the same partial matches\n if (\n !newPartialMatches ||\n (partialMatches.length === newPartialMatches.length &&\n partialMatches.every(\n (m, i) => m.route.id === newPartialMatches![i].route.id\n ))\n ) {\n return { type: \"success\", matches: null };\n }\n\n partialMatches = newPartialMatches;\n }\n }\n\n function _internalSetRoutes(newRoutes: AgnosticDataRouteObject[]) {\n manifest = {};\n inFlightDataRoutes = convertRoutesToDataRoutes(\n newRoutes,\n mapRouteProperties,\n undefined,\n manifest\n );\n }\n\n function patchRoutes(\n routeId: string | null,\n children: AgnosticRouteObject[]\n ): void {\n let isNonHMR = inFlightDataRoutes == null;\n let routesToUse = inFlightDataRoutes || dataRoutes;\n patchRoutesImpl(\n routeId,\n children,\n routesToUse,\n manifest,\n mapRouteProperties\n );\n\n // If we are not in the middle of an HMR revalidation and we changed the\n // routes, provide a new identity and trigger a reflow via `updateState`\n // to re-run memoized `router.routes` dependencies.\n // HMR will already update the identity and reflow when it lands\n // `inFlightDataRoutes` in `completeNavigation`\n if (isNonHMR) {\n dataRoutes = [...dataRoutes];\n updateState({});\n }\n }\n\n router = {\n get basename() {\n return basename;\n },\n get future() {\n return future;\n },\n get state() {\n return state;\n },\n get routes() {\n return dataRoutes;\n },\n get window() {\n return routerWindow;\n },\n initialize,\n subscribe,\n enableScrollRestoration,\n navigate,\n fetch,\n revalidate,\n // Passthrough to history-aware createHref used by useHref so we get proper\n // hash-aware URLs in DOM paths\n createHref: (to: To) => init.history.createHref(to),\n encodeLocation: (to: To) => init.history.encodeLocation(to),\n getFetcher,\n deleteFetcher: deleteFetcherAndUpdateState,\n dispose,\n getBlocker,\n deleteBlocker,\n patchRoutes,\n _internalFetchControllers: fetchControllers,\n _internalActiveDeferreds: activeDeferreds,\n // TODO: Remove setRoutes, it's temporary to avoid dealing with\n // updating the tree while validating the update algorithm.\n _internalSetRoutes,\n };\n\n return router;\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region createStaticHandler\n////////////////////////////////////////////////////////////////////////////////\n\nexport const UNSAFE_DEFERRED_SYMBOL = Symbol(\"deferred\");\n\n/**\n * Future flags to toggle new feature behavior\n */\nexport interface StaticHandlerFutureConfig {\n v7_relativeSplatPath: boolean;\n v7_throwAbortReason: boolean;\n}\n\nexport interface CreateStaticHandlerOptions {\n basename?: string;\n /**\n * @deprecated Use `mapRouteProperties` instead\n */\n detectErrorBoundary?: DetectErrorBoundaryFunction;\n mapRouteProperties?: MapRoutePropertiesFunction;\n future?: Partial;\n}\n\nexport function createStaticHandler(\n routes: AgnosticRouteObject[],\n opts?: CreateStaticHandlerOptions\n): StaticHandler {\n invariant(\n routes.length > 0,\n \"You must provide a non-empty routes array to createStaticHandler\"\n );\n\n let manifest: RouteManifest = {};\n let basename = (opts ? opts.basename : null) || \"/\";\n let mapRouteProperties: MapRoutePropertiesFunction;\n if (opts?.mapRouteProperties) {\n mapRouteProperties = opts.mapRouteProperties;\n } else if (opts?.detectErrorBoundary) {\n // If they are still using the deprecated version, wrap it with the new API\n let detectErrorBoundary = opts.detectErrorBoundary;\n mapRouteProperties = (route) => ({\n hasErrorBoundary: detectErrorBoundary(route),\n });\n } else {\n mapRouteProperties = defaultMapRouteProperties;\n }\n // Config driven behavior flags\n let future: StaticHandlerFutureConfig = {\n v7_relativeSplatPath: false,\n v7_throwAbortReason: false,\n ...(opts ? opts.future : null),\n };\n\n let dataRoutes = convertRoutesToDataRoutes(\n routes,\n mapRouteProperties,\n undefined,\n manifest\n );\n\n /**\n * The query() method is intended for document requests, in which we want to\n * call an optional action and potentially multiple loaders for all nested\n * routes. It returns a StaticHandlerContext object, which is very similar\n * to the router state (location, loaderData, actionData, errors, etc.) and\n * also adds SSR-specific information such as the statusCode and headers\n * from action/loaders Responses.\n *\n * It _should_ never throw and should report all errors through the\n * returned context.errors object, properly associating errors to their error\n * boundary. Additionally, it tracks _deepestRenderedBoundaryId which can be\n * used to emulate React error boundaries during SSr by performing a second\n * pass only down to the boundaryId.\n *\n * The one exception where we do not return a StaticHandlerContext is when a\n * redirect response is returned or thrown from any action/loader. We\n * propagate that out and return the raw Response so the HTTP server can\n * return it directly.\n *\n * - `opts.requestContext` is an optional server context that will be passed\n * to actions/loaders in the `context` parameter\n * - `opts.skipLoaderErrorBubbling` is an optional parameter that will prevent\n * the bubbling of errors which allows single-fetch-type implementations\n * where the client will handle the bubbling and we may need to return data\n * for the handling route\n */\n async function query(\n request: Request,\n {\n requestContext,\n skipLoaderErrorBubbling,\n dataStrategy,\n }: {\n requestContext?: unknown;\n skipLoaderErrorBubbling?: boolean;\n dataStrategy?: DataStrategyFunction;\n } = {}\n ): Promise {\n let url = new URL(request.url);\n let method = request.method;\n let location = createLocation(\"\", createPath(url), null, \"default\");\n let matches = matchRoutes(dataRoutes, location, basename);\n\n // SSR supports HEAD requests while SPA doesn't\n if (!isValidMethod(method) && method !== \"HEAD\") {\n let error = getInternalRouterError(405, { method });\n let { matches: methodNotAllowedMatches, route } =\n getShortCircuitMatches(dataRoutes);\n return {\n basename,\n location,\n matches: methodNotAllowedMatches,\n loaderData: {},\n actionData: null,\n errors: {\n [route.id]: error,\n },\n statusCode: error.status,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null,\n };\n } else if (!matches) {\n let error = getInternalRouterError(404, { pathname: location.pathname });\n let { matches: notFoundMatches, route } =\n getShortCircuitMatches(dataRoutes);\n return {\n basename,\n location,\n matches: notFoundMatches,\n loaderData: {},\n actionData: null,\n errors: {\n [route.id]: error,\n },\n statusCode: error.status,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null,\n };\n }\n\n let result = await queryImpl(\n request,\n location,\n matches,\n requestContext,\n dataStrategy || null,\n skipLoaderErrorBubbling === true,\n null\n );\n if (isResponse(result)) {\n return result;\n }\n\n // When returning StaticHandlerContext, we patch back in the location here\n // since we need it for React Context. But this helps keep our submit and\n // loadRouteData operating on a Request instead of a Location\n return { location, basename, ...result };\n }\n\n /**\n * The queryRoute() method is intended for targeted route requests, either\n * for fetch ?_data requests or resource route requests. In this case, we\n * are only ever calling a single action or loader, and we are returning the\n * returned value directly. In most cases, this will be a Response returned\n * from the action/loader, but it may be a primitive or other value as well -\n * and in such cases the calling context should handle that accordingly.\n *\n * We do respect the throw/return differentiation, so if an action/loader\n * throws, then this method will throw the value. This is important so we\n * can do proper boundary identification in Remix where a thrown Response\n * must go to the Catch Boundary but a returned Response is happy-path.\n *\n * One thing to note is that any Router-initiated Errors that make sense\n * to associate with a status code will be thrown as an ErrorResponse\n * instance which include the raw Error, such that the calling context can\n * serialize the error as they see fit while including the proper response\n * code. Examples here are 404 and 405 errors that occur prior to reaching\n * any user-defined loaders.\n *\n * - `opts.routeId` allows you to specify the specific route handler to call.\n * If not provided the handler will determine the proper route by matching\n * against `request.url`\n * - `opts.requestContext` is an optional server context that will be passed\n * to actions/loaders in the `context` parameter\n */\n async function queryRoute(\n request: Request,\n {\n routeId,\n requestContext,\n dataStrategy,\n }: {\n requestContext?: unknown;\n routeId?: string;\n dataStrategy?: DataStrategyFunction;\n } = {}\n ): Promise {\n let url = new URL(request.url);\n let method = request.method;\n let location = createLocation(\"\", createPath(url), null, \"default\");\n let matches = matchRoutes(dataRoutes, location, basename);\n\n // SSR supports HEAD requests while SPA doesn't\n if (!isValidMethod(method) && method !== \"HEAD\" && method !== \"OPTIONS\") {\n throw getInternalRouterError(405, { method });\n } else if (!matches) {\n throw getInternalRouterError(404, { pathname: location.pathname });\n }\n\n let match = routeId\n ? matches.find((m) => m.route.id === routeId)\n : getTargetMatch(matches, location);\n\n if (routeId && !match) {\n throw getInternalRouterError(403, {\n pathname: location.pathname,\n routeId,\n });\n } else if (!match) {\n // This should never hit I don't think?\n throw getInternalRouterError(404, { pathname: location.pathname });\n }\n\n let result = await queryImpl(\n request,\n location,\n matches,\n requestContext,\n dataStrategy || null,\n false,\n match\n );\n\n if (isResponse(result)) {\n return result;\n }\n\n let error = result.errors ? Object.values(result.errors)[0] : undefined;\n if (error !== undefined) {\n // If we got back result.errors, that means the loader/action threw\n // _something_ that wasn't a Response, but it's not guaranteed/required\n // to be an `instanceof Error` either, so we have to use throw here to\n // preserve the \"error\" state outside of queryImpl.\n throw error;\n }\n\n // Pick off the right state value to return\n if (result.actionData) {\n return Object.values(result.actionData)[0];\n }\n\n if (result.loaderData) {\n let data = Object.values(result.loaderData)[0];\n if (result.activeDeferreds?.[match.route.id]) {\n data[UNSAFE_DEFERRED_SYMBOL] = result.activeDeferreds[match.route.id];\n }\n return data;\n }\n\n return undefined;\n }\n\n async function queryImpl(\n request: Request,\n location: Location,\n matches: AgnosticDataRouteMatch[],\n requestContext: unknown,\n dataStrategy: DataStrategyFunction | null,\n skipLoaderErrorBubbling: boolean,\n routeMatch: AgnosticDataRouteMatch | null\n ): Promise | Response> {\n invariant(\n request.signal,\n \"query()/queryRoute() requests must contain an AbortController signal\"\n );\n\n try {\n if (isMutationMethod(request.method.toLowerCase())) {\n let result = await submit(\n request,\n matches,\n routeMatch || getTargetMatch(matches, location),\n requestContext,\n dataStrategy,\n skipLoaderErrorBubbling,\n routeMatch != null\n );\n return result;\n }\n\n let result = await loadRouteData(\n request,\n matches,\n requestContext,\n dataStrategy,\n skipLoaderErrorBubbling,\n routeMatch\n );\n return isResponse(result)\n ? result\n : {\n ...result,\n actionData: null,\n actionHeaders: {},\n };\n } catch (e) {\n // If the user threw/returned a Response in callLoaderOrAction for a\n // `queryRoute` call, we throw the `DataStrategyResult` to bail out early\n // and then return or throw the raw Response here accordingly\n if (isDataStrategyResult(e) && isResponse(e.result)) {\n if (e.type === ResultType.error) {\n throw e.result;\n }\n return e.result;\n }\n // Redirects are always returned since they don't propagate to catch\n // boundaries\n if (isRedirectResponse(e)) {\n return e;\n }\n throw e;\n }\n }\n\n async function submit(\n request: Request,\n matches: AgnosticDataRouteMatch[],\n actionMatch: AgnosticDataRouteMatch,\n requestContext: unknown,\n dataStrategy: DataStrategyFunction | null,\n skipLoaderErrorBubbling: boolean,\n isRouteRequest: boolean\n ): Promise | Response> {\n let result: DataResult;\n\n if (!actionMatch.route.action && !actionMatch.route.lazy) {\n let error = getInternalRouterError(405, {\n method: request.method,\n pathname: new URL(request.url).pathname,\n routeId: actionMatch.route.id,\n });\n if (isRouteRequest) {\n throw error;\n }\n result = {\n type: ResultType.error,\n error,\n };\n } else {\n let results = await callDataStrategy(\n \"action\",\n request,\n [actionMatch],\n matches,\n isRouteRequest,\n requestContext,\n dataStrategy\n );\n result = results[actionMatch.route.id];\n\n if (request.signal.aborted) {\n throwStaticHandlerAbortedError(request, isRouteRequest, future);\n }\n }\n\n if (isRedirectResult(result)) {\n // Uhhhh - this should never happen, we should always throw these from\n // callLoaderOrAction, but the type narrowing here keeps TS happy and we\n // can get back on the \"throw all redirect responses\" train here should\n // this ever happen :/\n throw new Response(null, {\n status: result.response.status,\n headers: {\n Location: result.response.headers.get(\"Location\")!,\n },\n });\n }\n\n if (isDeferredResult(result)) {\n let error = getInternalRouterError(400, { type: \"defer-action\" });\n if (isRouteRequest) {\n throw error;\n }\n result = {\n type: ResultType.error,\n error,\n };\n }\n\n if (isRouteRequest) {\n // Note: This should only be non-Response values if we get here, since\n // isRouteRequest should throw any Response received in callLoaderOrAction\n if (isErrorResult(result)) {\n throw result.error;\n }\n\n return {\n matches: [actionMatch],\n loaderData: {},\n actionData: { [actionMatch.route.id]: result.data },\n errors: null,\n // Note: statusCode + headers are unused here since queryRoute will\n // return the raw Response or value\n statusCode: 200,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null,\n };\n }\n\n // Create a GET request for the loaders\n let loaderRequest = new Request(request.url, {\n headers: request.headers,\n redirect: request.redirect,\n signal: request.signal,\n });\n\n if (isErrorResult(result)) {\n // Store off the pending error - we use it to determine which loaders\n // to call and will commit it when we complete the navigation\n let boundaryMatch = skipLoaderErrorBubbling\n ? actionMatch\n : findNearestBoundary(matches, actionMatch.route.id);\n\n let context = await loadRouteData(\n loaderRequest,\n matches,\n requestContext,\n dataStrategy,\n skipLoaderErrorBubbling,\n null,\n [boundaryMatch.route.id, result]\n );\n\n // action status codes take precedence over loader status codes\n return {\n ...context,\n statusCode: isRouteErrorResponse(result.error)\n ? result.error.status\n : result.statusCode != null\n ? result.statusCode\n : 500,\n actionData: null,\n actionHeaders: {\n ...(result.headers ? { [actionMatch.route.id]: result.headers } : {}),\n },\n };\n }\n\n let context = await loadRouteData(\n loaderRequest,\n matches,\n requestContext,\n dataStrategy,\n skipLoaderErrorBubbling,\n null\n );\n\n return {\n ...context,\n actionData: {\n [actionMatch.route.id]: result.data,\n },\n // action status codes take precedence over loader status codes\n ...(result.statusCode ? { statusCode: result.statusCode } : {}),\n actionHeaders: result.headers\n ? { [actionMatch.route.id]: result.headers }\n : {},\n };\n }\n\n async function loadRouteData(\n request: Request,\n matches: AgnosticDataRouteMatch[],\n requestContext: unknown,\n dataStrategy: DataStrategyFunction | null,\n skipLoaderErrorBubbling: boolean,\n routeMatch: AgnosticDataRouteMatch | null,\n pendingActionResult?: PendingActionResult\n ): Promise<\n | Omit<\n StaticHandlerContext,\n \"location\" | \"basename\" | \"actionData\" | \"actionHeaders\"\n >\n | Response\n > {\n let isRouteRequest = routeMatch != null;\n\n // Short circuit if we have no loaders to run (queryRoute())\n if (\n isRouteRequest &&\n !routeMatch?.route.loader &&\n !routeMatch?.route.lazy\n ) {\n throw getInternalRouterError(400, {\n method: request.method,\n pathname: new URL(request.url).pathname,\n routeId: routeMatch?.route.id,\n });\n }\n\n let requestMatches = routeMatch\n ? [routeMatch]\n : pendingActionResult && isErrorResult(pendingActionResult[1])\n ? getLoaderMatchesUntilBoundary(matches, pendingActionResult[0])\n : matches;\n let matchesToLoad = requestMatches.filter(\n (m) => m.route.loader || m.route.lazy\n );\n\n // Short circuit if we have no loaders to run (query())\n if (matchesToLoad.length === 0) {\n return {\n matches,\n // Add a null for all matched routes for proper revalidation on the client\n loaderData: matches.reduce(\n (acc, m) => Object.assign(acc, { [m.route.id]: null }),\n {}\n ),\n errors:\n pendingActionResult && isErrorResult(pendingActionResult[1])\n ? {\n [pendingActionResult[0]]: pendingActionResult[1].error,\n }\n : null,\n statusCode: 200,\n loaderHeaders: {},\n activeDeferreds: null,\n };\n }\n\n let results = await callDataStrategy(\n \"loader\",\n request,\n matchesToLoad,\n matches,\n isRouteRequest,\n requestContext,\n dataStrategy\n );\n\n if (request.signal.aborted) {\n throwStaticHandlerAbortedError(request, isRouteRequest, future);\n }\n\n // Process and commit output from loaders\n let activeDeferreds = new Map();\n let context = processRouteLoaderData(\n matches,\n results,\n pendingActionResult,\n activeDeferreds,\n skipLoaderErrorBubbling\n );\n\n // Add a null for any non-loader matches for proper revalidation on the client\n let executedLoaders = new Set(\n matchesToLoad.map((match) => match.route.id)\n );\n matches.forEach((match) => {\n if (!executedLoaders.has(match.route.id)) {\n context.loaderData[match.route.id] = null;\n }\n });\n\n return {\n ...context,\n matches,\n activeDeferreds:\n activeDeferreds.size > 0\n ? Object.fromEntries(activeDeferreds.entries())\n : null,\n };\n }\n\n // Utility wrapper for calling dataStrategy server-side without having to\n // pass around the manifest, mapRouteProperties, etc.\n async function callDataStrategy(\n type: \"loader\" | \"action\",\n request: Request,\n matchesToLoad: AgnosticDataRouteMatch[],\n matches: AgnosticDataRouteMatch[],\n isRouteRequest: boolean,\n requestContext: unknown,\n dataStrategy: DataStrategyFunction | null\n ): Promise> {\n let results = await callDataStrategyImpl(\n dataStrategy || defaultDataStrategy,\n type,\n null,\n request,\n matchesToLoad,\n matches,\n null,\n manifest,\n mapRouteProperties,\n requestContext\n );\n\n let dataResults: Record = {};\n await Promise.all(\n matches.map(async (match) => {\n if (!(match.route.id in results)) {\n return;\n }\n let result = results[match.route.id];\n if (isRedirectDataStrategyResultResult(result)) {\n let response = result.result as Response;\n // Throw redirects and let the server handle them with an HTTP redirect\n throw normalizeRelativeRoutingRedirectResponse(\n response,\n request,\n match.route.id,\n matches,\n basename,\n future.v7_relativeSplatPath\n );\n }\n if (isResponse(result.result) && isRouteRequest) {\n // For SSR single-route requests, we want to hand Responses back\n // directly without unwrapping\n throw result;\n }\n\n dataResults[match.route.id] =\n await convertDataStrategyResultToDataResult(result);\n })\n );\n return dataResults;\n }\n\n return {\n dataRoutes,\n query,\n queryRoute,\n };\n}\n\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Helpers\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Given an existing StaticHandlerContext and an error thrown at render time,\n * provide an updated StaticHandlerContext suitable for a second SSR render\n */\nexport function getStaticContextFromError(\n routes: AgnosticDataRouteObject[],\n context: StaticHandlerContext,\n error: any\n) {\n let newContext: StaticHandlerContext = {\n ...context,\n statusCode: isRouteErrorResponse(error) ? error.status : 500,\n errors: {\n [context._deepestRenderedBoundaryId || routes[0].id]: error,\n },\n };\n return newContext;\n}\n\nfunction throwStaticHandlerAbortedError(\n request: Request,\n isRouteRequest: boolean,\n future: StaticHandlerFutureConfig\n) {\n if (future.v7_throwAbortReason && request.signal.reason !== undefined) {\n throw request.signal.reason;\n }\n\n let method = isRouteRequest ? \"queryRoute\" : \"query\";\n throw new Error(`${method}() call aborted: ${request.method} ${request.url}`);\n}\n\nfunction isSubmissionNavigation(\n opts: BaseNavigateOrFetchOptions\n): opts is SubmissionNavigateOptions {\n return (\n opts != null &&\n ((\"formData\" in opts && opts.formData != null) ||\n (\"body\" in opts && opts.body !== undefined))\n );\n}\n\nfunction normalizeTo(\n location: Path,\n matches: AgnosticDataRouteMatch[],\n basename: string,\n prependBasename: boolean,\n to: To | null,\n v7_relativeSplatPath: boolean,\n fromRouteId?: string,\n relative?: RelativeRoutingType\n) {\n let contextualMatches: AgnosticDataRouteMatch[];\n let activeRouteMatch: AgnosticDataRouteMatch | undefined;\n if (fromRouteId) {\n // Grab matches up to the calling route so our route-relative logic is\n // relative to the correct source route\n contextualMatches = [];\n for (let match of matches) {\n contextualMatches.push(match);\n if (match.route.id === fromRouteId) {\n activeRouteMatch = match;\n break;\n }\n }\n } else {\n contextualMatches = matches;\n activeRouteMatch = matches[matches.length - 1];\n }\n\n // Resolve the relative path\n let path = resolveTo(\n to ? to : \".\",\n getResolveToMatches(contextualMatches, v7_relativeSplatPath),\n stripBasename(location.pathname, basename) || location.pathname,\n relative === \"path\"\n );\n\n // When `to` is not specified we inherit search/hash from the current\n // location, unlike when to=\".\" and we just inherit the path.\n // See https://github.com/remix-run/remix/issues/927\n if (to == null) {\n path.search = location.search;\n path.hash = location.hash;\n }\n\n // Account for `?index` params when routing to the current location\n if ((to == null || to === \"\" || to === \".\") && activeRouteMatch) {\n let nakedIndex = hasNakedIndexQuery(path.search);\n if (activeRouteMatch.route.index && !nakedIndex) {\n // Add one when we're targeting an index route\n path.search = path.search\n ? path.search.replace(/^\\?/, \"?index&\")\n : \"?index\";\n } else if (!activeRouteMatch.route.index && nakedIndex) {\n // Remove existing ones when we're not\n let params = new URLSearchParams(path.search);\n let indexValues = params.getAll(\"index\");\n params.delete(\"index\");\n indexValues.filter((v) => v).forEach((v) => params.append(\"index\", v));\n let qs = params.toString();\n path.search = qs ? `?${qs}` : \"\";\n }\n }\n\n // If we're operating within a basename, prepend it to the pathname. If\n // this is a root navigation, then just use the raw basename which allows\n // the basename to have full control over the presence of a trailing slash\n // on root actions\n if (prependBasename && basename !== \"/\") {\n path.pathname =\n path.pathname === \"/\" ? basename : joinPaths([basename, path.pathname]);\n }\n\n return createPath(path);\n}\n\n// Normalize navigation options by converting formMethod=GET formData objects to\n// URLSearchParams so they behave identically to links with query params\nfunction normalizeNavigateOptions(\n normalizeFormMethod: boolean,\n isFetcher: boolean,\n path: string,\n opts?: BaseNavigateOrFetchOptions\n): {\n path: string;\n submission?: Submission;\n error?: ErrorResponseImpl;\n} {\n // Return location verbatim on non-submission navigations\n if (!opts || !isSubmissionNavigation(opts)) {\n return { path };\n }\n\n if (opts.formMethod && !isValidMethod(opts.formMethod)) {\n return {\n path,\n error: getInternalRouterError(405, { method: opts.formMethod }),\n };\n }\n\n let getInvalidBodyError = () => ({\n path,\n error: getInternalRouterError(400, { type: \"invalid-body\" }),\n });\n\n // Create a Submission on non-GET navigations\n let rawFormMethod = opts.formMethod || \"get\";\n let formMethod = normalizeFormMethod\n ? (rawFormMethod.toUpperCase() as V7_FormMethod)\n : (rawFormMethod.toLowerCase() as FormMethod);\n let formAction = stripHashFromPath(path);\n\n if (opts.body !== undefined) {\n if (opts.formEncType === \"text/plain\") {\n // text only support POST/PUT/PATCH/DELETE submissions\n if (!isMutationMethod(formMethod)) {\n return getInvalidBodyError();\n }\n\n let text =\n typeof opts.body === \"string\"\n ? opts.body\n : opts.body instanceof FormData ||\n opts.body instanceof URLSearchParams\n ? // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#plain-text-form-data\n Array.from(opts.body.entries()).reduce(\n (acc, [name, value]) => `${acc}${name}=${value}\\n`,\n \"\"\n )\n : String(opts.body);\n\n return {\n path,\n submission: {\n formMethod,\n formAction,\n formEncType: opts.formEncType,\n formData: undefined,\n json: undefined,\n text,\n },\n };\n } else if (opts.formEncType === \"application/json\") {\n // json only supports POST/PUT/PATCH/DELETE submissions\n if (!isMutationMethod(formMethod)) {\n return getInvalidBodyError();\n }\n\n try {\n let json =\n typeof opts.body === \"string\" ? JSON.parse(opts.body) : opts.body;\n\n return {\n path,\n submission: {\n formMethod,\n formAction,\n formEncType: opts.formEncType,\n formData: undefined,\n json,\n text: undefined,\n },\n };\n } catch (e) {\n return getInvalidBodyError();\n }\n }\n }\n\n invariant(\n typeof FormData === \"function\",\n \"FormData is not available in this environment\"\n );\n\n let searchParams: URLSearchParams;\n let formData: FormData;\n\n if (opts.formData) {\n searchParams = convertFormDataToSearchParams(opts.formData);\n formData = opts.formData;\n } else if (opts.body instanceof FormData) {\n searchParams = convertFormDataToSearchParams(opts.body);\n formData = opts.body;\n } else if (opts.body instanceof URLSearchParams) {\n searchParams = opts.body;\n formData = convertSearchParamsToFormData(searchParams);\n } else if (opts.body == null) {\n searchParams = new URLSearchParams();\n formData = new FormData();\n } else {\n try {\n searchParams = new URLSearchParams(opts.body);\n formData = convertSearchParamsToFormData(searchParams);\n } catch (e) {\n return getInvalidBodyError();\n }\n }\n\n let submission: Submission = {\n formMethod,\n formAction,\n formEncType:\n (opts && opts.formEncType) || \"application/x-www-form-urlencoded\",\n formData,\n json: undefined,\n text: undefined,\n };\n\n if (isMutationMethod(submission.formMethod)) {\n return { path, submission };\n }\n\n // Flatten submission onto URLSearchParams for GET submissions\n let parsedPath = parsePath(path);\n // On GET navigation submissions we can drop the ?index param from the\n // resulting location since all loaders will run. But fetcher GET submissions\n // only run a single loader so we need to preserve any incoming ?index params\n if (isFetcher && parsedPath.search && hasNakedIndexQuery(parsedPath.search)) {\n searchParams.append(\"index\", \"\");\n }\n parsedPath.search = `?${searchParams}`;\n\n return { path: createPath(parsedPath), submission };\n}\n\n// Filter out all routes at/below any caught error as they aren't going to\n// render so we don't need to load them\nfunction getLoaderMatchesUntilBoundary(\n matches: AgnosticDataRouteMatch[],\n boundaryId: string,\n includeBoundary = false\n) {\n let index = matches.findIndex((m) => m.route.id === boundaryId);\n if (index >= 0) {\n return matches.slice(0, includeBoundary ? index + 1 : index);\n }\n return matches;\n}\n\nfunction getMatchesToLoad(\n history: History,\n state: RouterState,\n matches: AgnosticDataRouteMatch[],\n submission: Submission | undefined,\n location: Location,\n initialHydration: boolean,\n skipActionErrorRevalidation: boolean,\n isRevalidationRequired: boolean,\n cancelledDeferredRoutes: string[],\n cancelledFetcherLoads: Set,\n deletedFetchers: Set,\n fetchLoadMatches: Map,\n fetchRedirectIds: Set,\n routesToUse: AgnosticDataRouteObject[],\n basename: string | undefined,\n pendingActionResult?: PendingActionResult\n): [AgnosticDataRouteMatch[], RevalidatingFetcher[]] {\n let actionResult = pendingActionResult\n ? isErrorResult(pendingActionResult[1])\n ? pendingActionResult[1].error\n : pendingActionResult[1].data\n : undefined;\n let currentUrl = history.createURL(state.location);\n let nextUrl = history.createURL(location);\n\n // Pick navigation matches that are net-new or qualify for revalidation\n let boundaryMatches = matches;\n if (initialHydration && state.errors) {\n // On initial hydration, only consider matches up to _and including_ the boundary.\n // This is inclusive to handle cases where a server loader ran successfully,\n // a child server loader bubbled up to this route, but this route has\n // `clientLoader.hydrate` so we want to still run the `clientLoader` so that\n // we have a complete version of `loaderData`\n boundaryMatches = getLoaderMatchesUntilBoundary(\n matches,\n Object.keys(state.errors)[0],\n true\n );\n } else if (pendingActionResult && isErrorResult(pendingActionResult[1])) {\n // If an action threw an error, we call loaders up to, but not including the\n // boundary\n boundaryMatches = getLoaderMatchesUntilBoundary(\n matches,\n pendingActionResult[0]\n );\n }\n\n // Don't revalidate loaders by default after action 4xx/5xx responses\n // when the flag is enabled. They can still opt-into revalidation via\n // `shouldRevalidate` via `actionResult`\n let actionStatus = pendingActionResult\n ? pendingActionResult[1].statusCode\n : undefined;\n let shouldSkipRevalidation =\n skipActionErrorRevalidation && actionStatus && actionStatus >= 400;\n\n let navigationMatches = boundaryMatches.filter((match, index) => {\n let { route } = match;\n if (route.lazy) {\n // We haven't loaded this route yet so we don't know if it's got a loader!\n return true;\n }\n\n if (route.loader == null) {\n return false;\n }\n\n if (initialHydration) {\n return shouldLoadRouteOnHydration(route, state.loaderData, state.errors);\n }\n\n // Always call the loader on new route instances and pending defer cancellations\n if (\n isNewLoader(state.loaderData, state.matches[index], match) ||\n cancelledDeferredRoutes.some((id) => id === match.route.id)\n ) {\n return true;\n }\n\n // This is the default implementation for when we revalidate. If the route\n // provides it's own implementation, then we give them full control but\n // provide this value so they can leverage it if needed after they check\n // their own specific use cases\n let currentRouteMatch = state.matches[index];\n let nextRouteMatch = match;\n\n return shouldRevalidateLoader(match, {\n currentUrl,\n currentParams: currentRouteMatch.params,\n nextUrl,\n nextParams: nextRouteMatch.params,\n ...submission,\n actionResult,\n actionStatus,\n defaultShouldRevalidate: shouldSkipRevalidation\n ? false\n : // Forced revalidation due to submission, useRevalidator, or X-Remix-Revalidate\n isRevalidationRequired ||\n currentUrl.pathname + currentUrl.search ===\n nextUrl.pathname + nextUrl.search ||\n // Search params affect all loaders\n currentUrl.search !== nextUrl.search ||\n isNewRouteInstance(currentRouteMatch, nextRouteMatch),\n });\n });\n\n // Pick fetcher.loads that need to be revalidated\n let revalidatingFetchers: RevalidatingFetcher[] = [];\n fetchLoadMatches.forEach((f, key) => {\n // Don't revalidate:\n // - on initial hydration (shouldn't be any fetchers then anyway)\n // - if fetcher won't be present in the subsequent render\n // - no longer matches the URL (v7_fetcherPersist=false)\n // - was unmounted but persisted due to v7_fetcherPersist=true\n if (\n initialHydration ||\n !matches.some((m) => m.route.id === f.routeId) ||\n deletedFetchers.has(key)\n ) {\n return;\n }\n\n let fetcherMatches = matchRoutes(routesToUse, f.path, basename);\n\n // If the fetcher path no longer matches, push it in with null matches so\n // we can trigger a 404 in callLoadersAndMaybeResolveData. Note this is\n // currently only a use-case for Remix HMR where the route tree can change\n // at runtime and remove a route previously loaded via a fetcher\n if (!fetcherMatches) {\n revalidatingFetchers.push({\n key,\n routeId: f.routeId,\n path: f.path,\n matches: null,\n match: null,\n controller: null,\n });\n return;\n }\n\n // Revalidating fetchers are decoupled from the route matches since they\n // load from a static href. They revalidate based on explicit revalidation\n // (submission, useRevalidator, or X-Remix-Revalidate)\n let fetcher = state.fetchers.get(key);\n let fetcherMatch = getTargetMatch(fetcherMatches, f.path);\n\n let shouldRevalidate = false;\n if (fetchRedirectIds.has(key)) {\n // Never trigger a revalidation of an actively redirecting fetcher\n shouldRevalidate = false;\n } else if (cancelledFetcherLoads.has(key)) {\n // Always mark for revalidation if the fetcher was cancelled\n cancelledFetcherLoads.delete(key);\n shouldRevalidate = true;\n } else if (\n fetcher &&\n fetcher.state !== \"idle\" &&\n fetcher.data === undefined\n ) {\n // If the fetcher hasn't ever completed loading yet, then this isn't a\n // revalidation, it would just be a brand new load if an explicit\n // revalidation is required\n shouldRevalidate = isRevalidationRequired;\n } else {\n // Otherwise fall back on any user-defined shouldRevalidate, defaulting\n // to explicit revalidations only\n shouldRevalidate = shouldRevalidateLoader(fetcherMatch, {\n currentUrl,\n currentParams: state.matches[state.matches.length - 1].params,\n nextUrl,\n nextParams: matches[matches.length - 1].params,\n ...submission,\n actionResult,\n actionStatus,\n defaultShouldRevalidate: shouldSkipRevalidation\n ? false\n : isRevalidationRequired,\n });\n }\n\n if (shouldRevalidate) {\n revalidatingFetchers.push({\n key,\n routeId: f.routeId,\n path: f.path,\n matches: fetcherMatches,\n match: fetcherMatch,\n controller: new AbortController(),\n });\n }\n });\n\n return [navigationMatches, revalidatingFetchers];\n}\n\nfunction shouldLoadRouteOnHydration(\n route: AgnosticDataRouteObject,\n loaderData: RouteData | null | undefined,\n errors: RouteData | null | undefined\n) {\n // We dunno if we have a loader - gotta find out!\n if (route.lazy) {\n return true;\n }\n\n // No loader, nothing to initialize\n if (!route.loader) {\n return false;\n }\n\n let hasData = loaderData != null && loaderData[route.id] !== undefined;\n let hasError = errors != null && errors[route.id] !== undefined;\n\n // Don't run if we error'd during SSR\n if (!hasData && hasError) {\n return false;\n }\n\n // Explicitly opting-in to running on hydration\n if (typeof route.loader === \"function\" && route.loader.hydrate === true) {\n return true;\n }\n\n // Otherwise, run if we're not yet initialized with anything\n return !hasData && !hasError;\n}\n\nfunction isNewLoader(\n currentLoaderData: RouteData,\n currentMatch: AgnosticDataRouteMatch,\n match: AgnosticDataRouteMatch\n) {\n let isNew =\n // [a] -> [a, b]\n !currentMatch ||\n // [a, b] -> [a, c]\n match.route.id !== currentMatch.route.id;\n\n // Handle the case that we don't have data for a re-used route, potentially\n // from a prior error or from a cancelled pending deferred\n let isMissingData = currentLoaderData[match.route.id] === undefined;\n\n // Always load if this is a net-new route or we don't yet have data\n return isNew || isMissingData;\n}\n\nfunction isNewRouteInstance(\n currentMatch: AgnosticDataRouteMatch,\n match: AgnosticDataRouteMatch\n) {\n let currentPath = currentMatch.route.path;\n return (\n // param change for this match, /users/123 -> /users/456\n currentMatch.pathname !== match.pathname ||\n // splat param changed, which is not present in match.path\n // e.g. /files/images/avatar.jpg -> files/finances.xls\n (currentPath != null &&\n currentPath.endsWith(\"*\") &&\n currentMatch.params[\"*\"] !== match.params[\"*\"])\n );\n}\n\nfunction shouldRevalidateLoader(\n loaderMatch: AgnosticDataRouteMatch,\n arg: ShouldRevalidateFunctionArgs\n) {\n if (loaderMatch.route.shouldRevalidate) {\n let routeChoice = loaderMatch.route.shouldRevalidate(arg);\n if (typeof routeChoice === \"boolean\") {\n return routeChoice;\n }\n }\n\n return arg.defaultShouldRevalidate;\n}\n\nfunction patchRoutesImpl(\n routeId: string | null,\n children: AgnosticRouteObject[],\n routesToUse: AgnosticDataRouteObject[],\n manifest: RouteManifest,\n mapRouteProperties: MapRoutePropertiesFunction\n) {\n let childrenToPatch: AgnosticDataRouteObject[];\n if (routeId) {\n let route = manifest[routeId];\n invariant(\n route,\n `No route found to patch children into: routeId = ${routeId}`\n );\n if (!route.children) {\n route.children = [];\n }\n childrenToPatch = route.children;\n } else {\n childrenToPatch = routesToUse;\n }\n\n // Don't patch in routes we already know about so that `patch` is idempotent\n // to simplify user-land code. This is useful because we re-call the\n // `patchRoutesOnNavigation` function for matched routes with params.\n let uniqueChildren = children.filter(\n (newRoute) =>\n !childrenToPatch.some((existingRoute) =>\n isSameRoute(newRoute, existingRoute)\n )\n );\n\n let newRoutes = convertRoutesToDataRoutes(\n uniqueChildren,\n mapRouteProperties,\n [routeId || \"_\", \"patch\", String(childrenToPatch?.length || \"0\")],\n manifest\n );\n\n childrenToPatch.push(...newRoutes);\n}\n\nfunction isSameRoute(\n newRoute: AgnosticRouteObject,\n existingRoute: AgnosticRouteObject\n): boolean {\n // Most optimal check is by id\n if (\n \"id\" in newRoute &&\n \"id\" in existingRoute &&\n newRoute.id === existingRoute.id\n ) {\n return true;\n }\n\n // Second is by pathing differences\n if (\n !(\n newRoute.index === existingRoute.index &&\n newRoute.path === existingRoute.path &&\n newRoute.caseSensitive === existingRoute.caseSensitive\n )\n ) {\n return false;\n }\n\n // Pathless layout routes are trickier since we need to check children.\n // If they have no children then they're the same as far as we can tell\n if (\n (!newRoute.children || newRoute.children.length === 0) &&\n (!existingRoute.children || existingRoute.children.length === 0)\n ) {\n return true;\n }\n\n // Otherwise, we look to see if every child in the new route is already\n // represented in the existing route's children\n return newRoute.children!.every((aChild, i) =>\n existingRoute.children?.some((bChild) => isSameRoute(aChild, bChild))\n );\n}\n\n/**\n * Execute route.lazy() methods to lazily load route modules (loader, action,\n * shouldRevalidate) and update the routeManifest in place which shares objects\n * with dataRoutes so those get updated as well.\n */\nasync function loadLazyRouteModule(\n route: AgnosticDataRouteObject,\n mapRouteProperties: MapRoutePropertiesFunction,\n manifest: RouteManifest\n) {\n if (!route.lazy) {\n return;\n }\n\n let lazyRoute = await route.lazy();\n\n // If the lazy route function was executed and removed by another parallel\n // call then we can return - first lazy() to finish wins because the return\n // value of lazy is expected to be static\n if (!route.lazy) {\n return;\n }\n\n let routeToUpdate = manifest[route.id];\n invariant(routeToUpdate, \"No route found in manifest\");\n\n // Update the route in place. This should be safe because there's no way\n // we could yet be sitting on this route as we can't get there without\n // resolving lazy() first.\n //\n // This is different than the HMR \"update\" use-case where we may actively be\n // on the route being updated. The main concern boils down to \"does this\n // mutation affect any ongoing navigations or any current state.matches\n // values?\". If not, it should be safe to update in place.\n let routeUpdates: Record = {};\n for (let lazyRouteProperty in lazyRoute) {\n let staticRouteValue =\n routeToUpdate[lazyRouteProperty as keyof typeof routeToUpdate];\n\n let isPropertyStaticallyDefined =\n staticRouteValue !== undefined &&\n // This property isn't static since it should always be updated based\n // on the route updates\n lazyRouteProperty !== \"hasErrorBoundary\";\n\n warning(\n !isPropertyStaticallyDefined,\n `Route \"${routeToUpdate.id}\" has a static property \"${lazyRouteProperty}\" ` +\n `defined but its lazy function is also returning a value for this property. ` +\n `The lazy route property \"${lazyRouteProperty}\" will be ignored.`\n );\n\n if (\n !isPropertyStaticallyDefined &&\n !immutableRouteKeys.has(lazyRouteProperty as ImmutableRouteKey)\n ) {\n routeUpdates[lazyRouteProperty] =\n lazyRoute[lazyRouteProperty as keyof typeof lazyRoute];\n }\n }\n\n // Mutate the route with the provided updates. Do this first so we pass\n // the updated version to mapRouteProperties\n Object.assign(routeToUpdate, routeUpdates);\n\n // Mutate the `hasErrorBoundary` property on the route based on the route\n // updates and remove the `lazy` function so we don't resolve the lazy\n // route again.\n Object.assign(routeToUpdate, {\n // To keep things framework agnostic, we use the provided\n // `mapRouteProperties` (or wrapped `detectErrorBoundary`) function to\n // set the framework-aware properties (`element`/`hasErrorBoundary`) since\n // the logic will differ between frameworks.\n ...mapRouteProperties(routeToUpdate),\n lazy: undefined,\n });\n}\n\n// Default implementation of `dataStrategy` which fetches all loaders in parallel\nasync function defaultDataStrategy({\n matches,\n}: DataStrategyFunctionArgs): ReturnType {\n let matchesToLoad = matches.filter((m) => m.shouldLoad);\n let results = await Promise.all(matchesToLoad.map((m) => m.resolve()));\n return results.reduce(\n (acc, result, i) =>\n Object.assign(acc, { [matchesToLoad[i].route.id]: result }),\n {}\n );\n}\n\nasync function callDataStrategyImpl(\n dataStrategyImpl: DataStrategyFunction,\n type: \"loader\" | \"action\",\n state: RouterState | null,\n request: Request,\n matchesToLoad: AgnosticDataRouteMatch[],\n matches: AgnosticDataRouteMatch[],\n fetcherKey: string | null,\n manifest: RouteManifest,\n mapRouteProperties: MapRoutePropertiesFunction,\n requestContext?: unknown\n): Promise> {\n let loadRouteDefinitionsPromises = matches.map((m) =>\n m.route.lazy\n ? loadLazyRouteModule(m.route, mapRouteProperties, manifest)\n : undefined\n );\n\n let dsMatches = matches.map((match, i) => {\n let loadRoutePromise = loadRouteDefinitionsPromises[i];\n let shouldLoad = matchesToLoad.some((m) => m.route.id === match.route.id);\n // `resolve` encapsulates route.lazy(), executing the loader/action,\n // and mapping return values/thrown errors to a `DataStrategyResult`. Users\n // can pass a callback to take fine-grained control over the execution\n // of the loader/action\n let resolve: DataStrategyMatch[\"resolve\"] = async (handlerOverride) => {\n if (\n handlerOverride &&\n request.method === \"GET\" &&\n (match.route.lazy || match.route.loader)\n ) {\n shouldLoad = true;\n }\n return shouldLoad\n ? callLoaderOrAction(\n type,\n request,\n match,\n loadRoutePromise,\n handlerOverride,\n requestContext\n )\n : Promise.resolve({ type: ResultType.data, result: undefined });\n };\n\n return {\n ...match,\n shouldLoad,\n resolve,\n };\n });\n\n // Send all matches here to allow for a middleware-type implementation.\n // handler will be a no-op for unneeded routes and we filter those results\n // back out below.\n let results = await dataStrategyImpl({\n matches: dsMatches,\n request,\n params: matches[0].params,\n fetcherKey,\n context: requestContext,\n });\n\n // Wait for all routes to load here but 'swallow the error since we want\n // it to bubble up from the `await loadRoutePromise` in `callLoaderOrAction` -\n // called from `match.resolve()`\n try {\n await Promise.all(loadRouteDefinitionsPromises);\n } catch (e) {\n // No-op\n }\n\n return results;\n}\n\n// Default logic for calling a loader/action is the user has no specified a dataStrategy\nasync function callLoaderOrAction(\n type: \"loader\" | \"action\",\n request: Request,\n match: AgnosticDataRouteMatch,\n loadRoutePromise: Promise | undefined,\n handlerOverride: Parameters[0],\n staticContext?: unknown\n): Promise {\n let result: DataStrategyResult;\n let onReject: (() => void) | undefined;\n\n let runHandler = (\n handler: AgnosticRouteObject[\"loader\"] | AgnosticRouteObject[\"action\"]\n ): Promise => {\n // Setup a promise we can race against so that abort signals short circuit\n let reject: () => void;\n // This will never resolve so safe to type it as Promise to\n // satisfy the function return value\n let abortPromise = new Promise((_, r) => (reject = r));\n onReject = () => reject();\n request.signal.addEventListener(\"abort\", onReject);\n\n let actualHandler = (ctx?: unknown) => {\n if (typeof handler !== \"function\") {\n return Promise.reject(\n new Error(\n `You cannot call the handler for a route which defines a boolean ` +\n `\"${type}\" [routeId: ${match.route.id}]`\n )\n );\n }\n return handler(\n {\n request,\n params: match.params,\n context: staticContext,\n },\n ...(ctx !== undefined ? [ctx] : [])\n );\n };\n\n let handlerPromise: Promise = (async () => {\n try {\n let val = await (handlerOverride\n ? handlerOverride((ctx: unknown) => actualHandler(ctx))\n : actualHandler());\n return { type: \"data\", result: val };\n } catch (e) {\n return { type: \"error\", result: e };\n }\n })();\n\n return Promise.race([handlerPromise, abortPromise]);\n };\n\n try {\n let handler = match.route[type];\n\n // If we have a route.lazy promise, await that first\n if (loadRoutePromise) {\n if (handler) {\n // Run statically defined handler in parallel with lazy()\n let handlerError;\n let [value] = await Promise.all([\n // If the handler throws, don't let it immediately bubble out,\n // since we need to let the lazy() execution finish so we know if this\n // route has a boundary that can handle the error\n runHandler(handler).catch((e) => {\n handlerError = e;\n }),\n loadRoutePromise,\n ]);\n if (handlerError !== undefined) {\n throw handlerError;\n }\n result = value!;\n } else {\n // Load lazy route module, then run any returned handler\n await loadRoutePromise;\n\n handler = match.route[type];\n if (handler) {\n // Handler still runs even if we got interrupted to maintain consistency\n // with un-abortable behavior of handler execution on non-lazy or\n // previously-lazy-loaded routes\n result = await runHandler(handler);\n } else if (type === \"action\") {\n let url = new URL(request.url);\n let pathname = url.pathname + url.search;\n throw getInternalRouterError(405, {\n method: request.method,\n pathname,\n routeId: match.route.id,\n });\n } else {\n // lazy() route has no loader to run. Short circuit here so we don't\n // hit the invariant below that errors on returning undefined.\n return { type: ResultType.data, result: undefined };\n }\n }\n } else if (!handler) {\n let url = new URL(request.url);\n let pathname = url.pathname + url.search;\n throw getInternalRouterError(404, {\n pathname,\n });\n } else {\n result = await runHandler(handler);\n }\n\n invariant(\n result.result !== undefined,\n `You defined ${type === \"action\" ? \"an action\" : \"a loader\"} for route ` +\n `\"${match.route.id}\" but didn't return anything from your \\`${type}\\` ` +\n `function. Please return a value or \\`null\\`.`\n );\n } catch (e) {\n // We should already be catching and converting normal handler executions to\n // DataStrategyResults and returning them, so anything that throws here is an\n // unexpected error we still need to wrap\n return { type: ResultType.error, result: e };\n } finally {\n if (onReject) {\n request.signal.removeEventListener(\"abort\", onReject);\n }\n }\n\n return result;\n}\n\nasync function convertDataStrategyResultToDataResult(\n dataStrategyResult: DataStrategyResult\n): Promise {\n let { result, type } = dataStrategyResult;\n\n if (isResponse(result)) {\n let data: any;\n\n try {\n let contentType = result.headers.get(\"Content-Type\");\n // Check between word boundaries instead of startsWith() due to the last\n // paragraph of https://httpwg.org/specs/rfc9110.html#field.content-type\n if (contentType && /\\bapplication\\/json\\b/.test(contentType)) {\n if (result.body == null) {\n data = null;\n } else {\n data = await result.json();\n }\n } else {\n data = await result.text();\n }\n } catch (e) {\n return { type: ResultType.error, error: e };\n }\n\n if (type === ResultType.error) {\n return {\n type: ResultType.error,\n error: new ErrorResponseImpl(result.status, result.statusText, data),\n statusCode: result.status,\n headers: result.headers,\n };\n }\n\n return {\n type: ResultType.data,\n data,\n statusCode: result.status,\n headers: result.headers,\n };\n }\n\n if (type === ResultType.error) {\n if (isDataWithResponseInit(result)) {\n if (result.data instanceof Error) {\n return {\n type: ResultType.error,\n error: result.data,\n statusCode: result.init?.status,\n };\n }\n\n // Convert thrown data() to ErrorResponse instances\n result = new ErrorResponseImpl(\n result.init?.status || 500,\n undefined,\n result.data\n );\n }\n return {\n type: ResultType.error,\n error: result,\n statusCode: isRouteErrorResponse(result) ? result.status : undefined,\n };\n }\n\n if (isDeferredData(result)) {\n return {\n type: ResultType.deferred,\n deferredData: result,\n statusCode: result.init?.status,\n headers: result.init?.headers && new Headers(result.init.headers),\n };\n }\n\n if (isDataWithResponseInit(result)) {\n return {\n type: ResultType.data,\n data: result.data,\n statusCode: result.init?.status,\n headers: result.init?.headers\n ? new Headers(result.init.headers)\n : undefined,\n };\n }\n\n return { type: ResultType.data, data: result };\n}\n\n// Support relative routing in internal redirects\nfunction normalizeRelativeRoutingRedirectResponse(\n response: Response,\n request: Request,\n routeId: string,\n matches: AgnosticDataRouteMatch[],\n basename: string,\n v7_relativeSplatPath: boolean\n) {\n let location = response.headers.get(\"Location\");\n invariant(\n location,\n \"Redirects returned/thrown from loaders/actions must have a Location header\"\n );\n\n if (!ABSOLUTE_URL_REGEX.test(location)) {\n let trimmedMatches = matches.slice(\n 0,\n matches.findIndex((m) => m.route.id === routeId) + 1\n );\n location = normalizeTo(\n new URL(request.url),\n trimmedMatches,\n basename,\n true,\n location,\n v7_relativeSplatPath\n );\n response.headers.set(\"Location\", location);\n }\n\n return response;\n}\n\nfunction normalizeRedirectLocation(\n location: string,\n currentUrl: URL,\n basename: string\n): string {\n if (ABSOLUTE_URL_REGEX.test(location)) {\n // Strip off the protocol+origin for same-origin + same-basename absolute redirects\n let normalizedLocation = location;\n let url = normalizedLocation.startsWith(\"//\")\n ? new URL(currentUrl.protocol + normalizedLocation)\n : new URL(normalizedLocation);\n let isSameBasename = stripBasename(url.pathname, basename) != null;\n if (url.origin === currentUrl.origin && isSameBasename) {\n return url.pathname + url.search + url.hash;\n }\n }\n return location;\n}\n\n// Utility method for creating the Request instances for loaders/actions during\n// client-side navigations and fetches. During SSR we will always have a\n// Request instance from the static handler (query/queryRoute)\nfunction createClientSideRequest(\n history: History,\n location: string | Location,\n signal: AbortSignal,\n submission?: Submission\n): Request {\n let url = history.createURL(stripHashFromPath(location)).toString();\n let init: RequestInit = { signal };\n\n if (submission && isMutationMethod(submission.formMethod)) {\n let { formMethod, formEncType } = submission;\n // Didn't think we needed this but it turns out unlike other methods, patch\n // won't be properly normalized to uppercase and results in a 405 error.\n // See: https://fetch.spec.whatwg.org/#concept-method\n init.method = formMethod.toUpperCase();\n\n if (formEncType === \"application/json\") {\n init.headers = new Headers({ \"Content-Type\": formEncType });\n init.body = JSON.stringify(submission.json);\n } else if (formEncType === \"text/plain\") {\n // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n init.body = submission.text;\n } else if (\n formEncType === \"application/x-www-form-urlencoded\" &&\n submission.formData\n ) {\n // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n init.body = convertFormDataToSearchParams(submission.formData);\n } else {\n // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n init.body = submission.formData;\n }\n }\n\n return new Request(url, init);\n}\n\nfunction convertFormDataToSearchParams(formData: FormData): URLSearchParams {\n let searchParams = new URLSearchParams();\n\n for (let [key, value] of formData.entries()) {\n // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#converting-an-entry-list-to-a-list-of-name-value-pairs\n searchParams.append(key, typeof value === \"string\" ? value : value.name);\n }\n\n return searchParams;\n}\n\nfunction convertSearchParamsToFormData(\n searchParams: URLSearchParams\n): FormData {\n let formData = new FormData();\n for (let [key, value] of searchParams.entries()) {\n formData.append(key, value);\n }\n return formData;\n}\n\nfunction processRouteLoaderData(\n matches: AgnosticDataRouteMatch[],\n results: Record,\n pendingActionResult: PendingActionResult | undefined,\n activeDeferreds: Map,\n skipLoaderErrorBubbling: boolean\n): {\n loaderData: RouterState[\"loaderData\"];\n errors: RouterState[\"errors\"] | null;\n statusCode: number;\n loaderHeaders: Record;\n} {\n // Fill in loaderData/errors from our loaders\n let loaderData: RouterState[\"loaderData\"] = {};\n let errors: RouterState[\"errors\"] | null = null;\n let statusCode: number | undefined;\n let foundError = false;\n let loaderHeaders: Record = {};\n let pendingError =\n pendingActionResult && isErrorResult(pendingActionResult[1])\n ? pendingActionResult[1].error\n : undefined;\n\n // Process loader results into state.loaderData/state.errors\n matches.forEach((match) => {\n if (!(match.route.id in results)) {\n return;\n }\n let id = match.route.id;\n let result = results[id];\n invariant(\n !isRedirectResult(result),\n \"Cannot handle redirect results in processLoaderData\"\n );\n if (isErrorResult(result)) {\n let error = result.error;\n // If we have a pending action error, we report it at the highest-route\n // that throws a loader error, and then clear it out to indicate that\n // it was consumed\n if (pendingError !== undefined) {\n error = pendingError;\n pendingError = undefined;\n }\n\n errors = errors || {};\n\n if (skipLoaderErrorBubbling) {\n errors[id] = error;\n } else {\n // Look upwards from the matched route for the closest ancestor error\n // boundary, defaulting to the root match. Prefer higher error values\n // if lower errors bubble to the same boundary\n let boundaryMatch = findNearestBoundary(matches, id);\n if (errors[boundaryMatch.route.id] == null) {\n errors[boundaryMatch.route.id] = error;\n }\n }\n\n // Clear our any prior loaderData for the throwing route\n loaderData[id] = undefined;\n\n // Once we find our first (highest) error, we set the status code and\n // prevent deeper status codes from overriding\n if (!foundError) {\n foundError = true;\n statusCode = isRouteErrorResponse(result.error)\n ? result.error.status\n : 500;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n } else {\n if (isDeferredResult(result)) {\n activeDeferreds.set(id, result.deferredData);\n loaderData[id] = result.deferredData.data;\n // Error status codes always override success status codes, but if all\n // loaders are successful we take the deepest status code.\n if (\n result.statusCode != null &&\n result.statusCode !== 200 &&\n !foundError\n ) {\n statusCode = result.statusCode;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n } else {\n loaderData[id] = result.data;\n // Error status codes always override success status codes, but if all\n // loaders are successful we take the deepest status code.\n if (result.statusCode && result.statusCode !== 200 && !foundError) {\n statusCode = result.statusCode;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n }\n }\n });\n\n // If we didn't consume the pending action error (i.e., all loaders\n // resolved), then consume it here. Also clear out any loaderData for the\n // throwing route\n if (pendingError !== undefined && pendingActionResult) {\n errors = { [pendingActionResult[0]]: pendingError };\n loaderData[pendingActionResult[0]] = undefined;\n }\n\n return {\n loaderData,\n errors,\n statusCode: statusCode || 200,\n loaderHeaders,\n };\n}\n\nfunction processLoaderData(\n state: RouterState,\n matches: AgnosticDataRouteMatch[],\n results: Record,\n pendingActionResult: PendingActionResult | undefined,\n revalidatingFetchers: RevalidatingFetcher[],\n fetcherResults: Record,\n activeDeferreds: Map\n): {\n loaderData: RouterState[\"loaderData\"];\n errors?: RouterState[\"errors\"];\n} {\n let { loaderData, errors } = processRouteLoaderData(\n matches,\n results,\n pendingActionResult,\n activeDeferreds,\n false // This method is only called client side so we always want to bubble\n );\n\n // Process results from our revalidating fetchers\n revalidatingFetchers.forEach((rf) => {\n let { key, match, controller } = rf;\n let result = fetcherResults[key];\n invariant(result, \"Did not find corresponding fetcher result\");\n\n // Process fetcher non-redirect errors\n if (controller && controller.signal.aborted) {\n // Nothing to do for aborted fetchers\n return;\n } else if (isErrorResult(result)) {\n let boundaryMatch = findNearestBoundary(state.matches, match?.route.id);\n if (!(errors && errors[boundaryMatch.route.id])) {\n errors = {\n ...errors,\n [boundaryMatch.route.id]: result.error,\n };\n }\n state.fetchers.delete(key);\n } else if (isRedirectResult(result)) {\n // Should never get here, redirects should get processed above, but we\n // keep this to type narrow to a success result in the else\n invariant(false, \"Unhandled fetcher revalidation redirect\");\n } else if (isDeferredResult(result)) {\n // Should never get here, deferred data should be awaited for fetchers\n // in resolveDeferredResults\n invariant(false, \"Unhandled fetcher deferred data\");\n } else {\n let doneFetcher = getDoneFetcher(result.data);\n state.fetchers.set(key, doneFetcher);\n }\n });\n\n return { loaderData, errors };\n}\n\nfunction mergeLoaderData(\n loaderData: RouteData,\n newLoaderData: RouteData,\n matches: AgnosticDataRouteMatch[],\n errors: RouteData | null | undefined\n): RouteData {\n let mergedLoaderData = { ...newLoaderData };\n for (let match of matches) {\n let id = match.route.id;\n if (newLoaderData.hasOwnProperty(id)) {\n if (newLoaderData[id] !== undefined) {\n mergedLoaderData[id] = newLoaderData[id];\n } else {\n // No-op - this is so we ignore existing data if we have a key in the\n // incoming object with an undefined value, which is how we unset a prior\n // loaderData if we encounter a loader error\n }\n } else if (loaderData[id] !== undefined && match.route.loader) {\n // Preserve existing keys not included in newLoaderData and where a loader\n // wasn't removed by HMR\n mergedLoaderData[id] = loaderData[id];\n }\n\n if (errors && errors.hasOwnProperty(id)) {\n // Don't keep any loader data below the boundary\n break;\n }\n }\n return mergedLoaderData;\n}\n\nfunction getActionDataForCommit(\n pendingActionResult: PendingActionResult | undefined\n) {\n if (!pendingActionResult) {\n return {};\n }\n return isErrorResult(pendingActionResult[1])\n ? {\n // Clear out prior actionData on errors\n actionData: {},\n }\n : {\n actionData: {\n [pendingActionResult[0]]: pendingActionResult[1].data,\n },\n };\n}\n\n// Find the nearest error boundary, looking upwards from the leaf route (or the\n// route specified by routeId) for the closest ancestor error boundary,\n// defaulting to the root match\nfunction findNearestBoundary(\n matches: AgnosticDataRouteMatch[],\n routeId?: string\n): AgnosticDataRouteMatch {\n let eligibleMatches = routeId\n ? matches.slice(0, matches.findIndex((m) => m.route.id === routeId) + 1)\n : [...matches];\n return (\n eligibleMatches.reverse().find((m) => m.route.hasErrorBoundary === true) ||\n matches[0]\n );\n}\n\nfunction getShortCircuitMatches(routes: AgnosticDataRouteObject[]): {\n matches: AgnosticDataRouteMatch[];\n route: AgnosticDataRouteObject;\n} {\n // Prefer a root layout route if present, otherwise shim in a route object\n let route =\n routes.length === 1\n ? routes[0]\n : routes.find((r) => r.index || !r.path || r.path === \"/\") || {\n id: `__shim-error-route__`,\n };\n\n return {\n matches: [\n {\n params: {},\n pathname: \"\",\n pathnameBase: \"\",\n route,\n },\n ],\n route,\n };\n}\n\nfunction getInternalRouterError(\n status: number,\n {\n pathname,\n routeId,\n method,\n type,\n message,\n }: {\n pathname?: string;\n routeId?: string;\n method?: string;\n type?: \"defer-action\" | \"invalid-body\";\n message?: string;\n } = {}\n) {\n let statusText = \"Unknown Server Error\";\n let errorMessage = \"Unknown @remix-run/router error\";\n\n if (status === 400) {\n statusText = \"Bad Request\";\n if (method && pathname && routeId) {\n errorMessage =\n `You made a ${method} request to \"${pathname}\" but ` +\n `did not provide a \\`loader\\` for route \"${routeId}\", ` +\n `so there is no way to handle the request.`;\n } else if (type === \"defer-action\") {\n errorMessage = \"defer() is not supported in actions\";\n } else if (type === \"invalid-body\") {\n errorMessage = \"Unable to encode submission body\";\n }\n } else if (status === 403) {\n statusText = \"Forbidden\";\n errorMessage = `Route \"${routeId}\" does not match URL \"${pathname}\"`;\n } else if (status === 404) {\n statusText = \"Not Found\";\n errorMessage = `No route matches URL \"${pathname}\"`;\n } else if (status === 405) {\n statusText = \"Method Not Allowed\";\n if (method && pathname && routeId) {\n errorMessage =\n `You made a ${method.toUpperCase()} request to \"${pathname}\" but ` +\n `did not provide an \\`action\\` for route \"${routeId}\", ` +\n `so there is no way to handle the request.`;\n } else if (method) {\n errorMessage = `Invalid request method \"${method.toUpperCase()}\"`;\n }\n }\n\n return new ErrorResponseImpl(\n status || 500,\n statusText,\n new Error(errorMessage),\n true\n );\n}\n\n// Find any returned redirect errors, starting from the lowest match\nfunction findRedirect(\n results: Record\n): { key: string; result: RedirectResult } | undefined {\n let entries = Object.entries(results);\n for (let i = entries.length - 1; i >= 0; i--) {\n let [key, result] = entries[i];\n if (isRedirectResult(result)) {\n return { key, result };\n }\n }\n}\n\nfunction stripHashFromPath(path: To) {\n let parsedPath = typeof path === \"string\" ? parsePath(path) : path;\n return createPath({ ...parsedPath, hash: \"\" });\n}\n\nfunction isHashChangeOnly(a: Location, b: Location): boolean {\n if (a.pathname !== b.pathname || a.search !== b.search) {\n return false;\n }\n\n if (a.hash === \"\") {\n // /page -> /page#hash\n return b.hash !== \"\";\n } else if (a.hash === b.hash) {\n // /page#hash -> /page#hash\n return true;\n } else if (b.hash !== \"\") {\n // /page#hash -> /page#other\n return true;\n }\n\n // If the hash is removed the browser will re-perform a request to the server\n // /page#hash -> /page\n return false;\n}\n\nfunction isPromise(val: unknown): val is Promise {\n return typeof val === \"object\" && val != null && \"then\" in val;\n}\n\nfunction isDataStrategyResult(result: unknown): result is DataStrategyResult {\n return (\n result != null &&\n typeof result === \"object\" &&\n \"type\" in result &&\n \"result\" in result &&\n (result.type === ResultType.data || result.type === ResultType.error)\n );\n}\n\nfunction isRedirectDataStrategyResultResult(result: DataStrategyResult) {\n return (\n isResponse(result.result) && redirectStatusCodes.has(result.result.status)\n );\n}\n\nfunction isDeferredResult(result: DataResult): result is DeferredResult {\n return result.type === ResultType.deferred;\n}\n\nfunction isErrorResult(result: DataResult): result is ErrorResult {\n return result.type === ResultType.error;\n}\n\nfunction isRedirectResult(result?: DataResult): result is RedirectResult {\n return (result && result.type) === ResultType.redirect;\n}\n\nexport function isDataWithResponseInit(\n value: any\n): value is DataWithResponseInit {\n return (\n typeof value === \"object\" &&\n value != null &&\n \"type\" in value &&\n \"data\" in value &&\n \"init\" in value &&\n value.type === \"DataWithResponseInit\"\n );\n}\n\nexport function isDeferredData(value: any): value is DeferredData {\n let deferred: DeferredData = value;\n return (\n deferred &&\n typeof deferred === \"object\" &&\n typeof deferred.data === \"object\" &&\n typeof deferred.subscribe === \"function\" &&\n typeof deferred.cancel === \"function\" &&\n typeof deferred.resolveData === \"function\"\n );\n}\n\nfunction isResponse(value: any): value is Response {\n return (\n value != null &&\n typeof value.status === \"number\" &&\n typeof value.statusText === \"string\" &&\n typeof value.headers === \"object\" &&\n typeof value.body !== \"undefined\"\n );\n}\n\nfunction isRedirectResponse(result: any): result is Response {\n if (!isResponse(result)) {\n return false;\n }\n\n let status = result.status;\n let location = result.headers.get(\"Location\");\n return status >= 300 && status <= 399 && location != null;\n}\n\nfunction isValidMethod(method: string): method is FormMethod | V7_FormMethod {\n return validRequestMethods.has(method.toLowerCase() as FormMethod);\n}\n\nfunction isMutationMethod(\n method: string\n): method is MutationFormMethod | V7_MutationFormMethod {\n return validMutationMethods.has(method.toLowerCase() as MutationFormMethod);\n}\n\nasync function resolveNavigationDeferredResults(\n matches: (AgnosticDataRouteMatch | null)[],\n results: Record,\n signal: AbortSignal,\n currentMatches: AgnosticDataRouteMatch[],\n currentLoaderData: RouteData\n) {\n let entries = Object.entries(results);\n for (let index = 0; index < entries.length; index++) {\n let [routeId, result] = entries[index];\n let match = matches.find((m) => m?.route.id === routeId);\n // If we don't have a match, then we can have a deferred result to do\n // anything with. This is for revalidating fetchers where the route was\n // removed during HMR\n if (!match) {\n continue;\n }\n\n let currentMatch = currentMatches.find(\n (m) => m.route.id === match!.route.id\n );\n let isRevalidatingLoader =\n currentMatch != null &&\n !isNewRouteInstance(currentMatch, match) &&\n (currentLoaderData && currentLoaderData[match.route.id]) !== undefined;\n\n if (isDeferredResult(result) && isRevalidatingLoader) {\n // Note: we do not have to touch activeDeferreds here since we race them\n // against the signal in resolveDeferredData and they'll get aborted\n // there if needed\n await resolveDeferredData(result, signal, false).then((result) => {\n if (result) {\n results[routeId] = result;\n }\n });\n }\n }\n}\n\nasync function resolveFetcherDeferredResults(\n matches: (AgnosticDataRouteMatch | null)[],\n results: Record,\n revalidatingFetchers: RevalidatingFetcher[]\n) {\n for (let index = 0; index < revalidatingFetchers.length; index++) {\n let { key, routeId, controller } = revalidatingFetchers[index];\n let result = results[key];\n let match = matches.find((m) => m?.route.id === routeId);\n // If we don't have a match, then we can have a deferred result to do\n // anything with. This is for revalidating fetchers where the route was\n // removed during HMR\n if (!match) {\n continue;\n }\n\n if (isDeferredResult(result)) {\n // Note: we do not have to touch activeDeferreds here since we race them\n // against the signal in resolveDeferredData and they'll get aborted\n // there if needed\n invariant(\n controller,\n \"Expected an AbortController for revalidating fetcher deferred result\"\n );\n await resolveDeferredData(result, controller.signal, true).then(\n (result) => {\n if (result) {\n results[key] = result;\n }\n }\n );\n }\n }\n}\n\nasync function resolveDeferredData(\n result: DeferredResult,\n signal: AbortSignal,\n unwrap = false\n): Promise {\n let aborted = await result.deferredData.resolveData(signal);\n if (aborted) {\n return;\n }\n\n if (unwrap) {\n try {\n return {\n type: ResultType.data,\n data: result.deferredData.unwrappedData,\n };\n } catch (e) {\n // Handle any TrackedPromise._error values encountered while unwrapping\n return {\n type: ResultType.error,\n error: e,\n };\n }\n }\n\n return {\n type: ResultType.data,\n data: result.deferredData.data,\n };\n}\n\nfunction hasNakedIndexQuery(search: string): boolean {\n return new URLSearchParams(search).getAll(\"index\").some((v) => v === \"\");\n}\n\nfunction getTargetMatch(\n matches: AgnosticDataRouteMatch[],\n location: Location | string\n) {\n let search =\n typeof location === \"string\" ? parsePath(location).search : location.search;\n if (\n matches[matches.length - 1].route.index &&\n hasNakedIndexQuery(search || \"\")\n ) {\n // Return the leaf index route when index is present\n return matches[matches.length - 1];\n }\n // Otherwise grab the deepest \"path contributing\" match (ignoring index and\n // pathless layout routes)\n let pathMatches = getPathContributingMatches(matches);\n return pathMatches[pathMatches.length - 1];\n}\n\nfunction getSubmissionFromNavigation(\n navigation: Navigation\n): Submission | undefined {\n let { formMethod, formAction, formEncType, text, formData, json } =\n navigation;\n if (!formMethod || !formAction || !formEncType) {\n return;\n }\n\n if (text != null) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData: undefined,\n json: undefined,\n text,\n };\n } else if (formData != null) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData,\n json: undefined,\n text: undefined,\n };\n } else if (json !== undefined) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData: undefined,\n json,\n text: undefined,\n };\n }\n}\n\nfunction getLoadingNavigation(\n location: Location,\n submission?: Submission\n): NavigationStates[\"Loading\"] {\n if (submission) {\n let navigation: NavigationStates[\"Loading\"] = {\n state: \"loading\",\n location,\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n };\n return navigation;\n } else {\n let navigation: NavigationStates[\"Loading\"] = {\n state: \"loading\",\n location,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n };\n return navigation;\n }\n}\n\nfunction getSubmittingNavigation(\n location: Location,\n submission: Submission\n): NavigationStates[\"Submitting\"] {\n let navigation: NavigationStates[\"Submitting\"] = {\n state: \"submitting\",\n location,\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n };\n return navigation;\n}\n\nfunction getLoadingFetcher(\n submission?: Submission,\n data?: Fetcher[\"data\"]\n): FetcherStates[\"Loading\"] {\n if (submission) {\n let fetcher: FetcherStates[\"Loading\"] = {\n state: \"loading\",\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n data,\n };\n return fetcher;\n } else {\n let fetcher: FetcherStates[\"Loading\"] = {\n state: \"loading\",\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n data,\n };\n return fetcher;\n }\n}\n\nfunction getSubmittingFetcher(\n submission: Submission,\n existingFetcher?: Fetcher\n): FetcherStates[\"Submitting\"] {\n let fetcher: FetcherStates[\"Submitting\"] = {\n state: \"submitting\",\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n data: existingFetcher ? existingFetcher.data : undefined,\n };\n return fetcher;\n}\n\nfunction getDoneFetcher(data: Fetcher[\"data\"]): FetcherStates[\"Idle\"] {\n let fetcher: FetcherStates[\"Idle\"] = {\n state: \"idle\",\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n data,\n };\n return fetcher;\n}\n\nfunction restoreAppliedTransitions(\n _window: Window,\n transitions: Map>\n) {\n try {\n let sessionPositions = _window.sessionStorage.getItem(\n TRANSITIONS_STORAGE_KEY\n );\n if (sessionPositions) {\n let json = JSON.parse(sessionPositions);\n for (let [k, v] of Object.entries(json || {})) {\n if (v && Array.isArray(v)) {\n transitions.set(k, new Set(v || []));\n }\n }\n }\n } catch (e) {\n // no-op, use default empty object\n }\n}\n\nfunction persistAppliedTransitions(\n _window: Window,\n transitions: Map>\n) {\n if (transitions.size > 0) {\n let json: Record = {};\n for (let [k, v] of transitions) {\n json[k] = [...v];\n }\n try {\n _window.sessionStorage.setItem(\n TRANSITIONS_STORAGE_KEY,\n JSON.stringify(json)\n );\n } catch (error) {\n warning(\n false,\n `Failed to save applied view transitions in sessionStorage (${error}).`\n );\n }\n }\n}\n//#endregion\n","import { useEffect, useRef } from 'react';\n\n/**\n * Creates a `Ref` whose value is updated in an effect, ensuring the most recent\n * value is the one rendered with. Generally only required for Concurrent mode usage\n * where previous work in `render()` may be discarded before being used.\n *\n * This is safe to access in an event handler.\n *\n * @param value The `Ref` value\n */\nfunction useCommittedRef(value) {\n const ref = useRef(value);\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref;\n}\nexport default useCommittedRef;","import { useCallback } from 'react';\nimport useCommittedRef from './useCommittedRef';\nexport default function useEventCallback(fn) {\n const ref = useCommittedRef(fn);\n return useCallback(function (...args) {\n return ref.current && ref.current(...args);\n }, [ref]);\n}","import { useEffect, useLayoutEffect } from 'react';\nconst isReactNative = typeof global !== 'undefined' &&\n// @ts-ignore\nglobal.navigator &&\n// @ts-ignore\nglobal.navigator.product === 'ReactNative';\nconst isDOM = typeof document !== 'undefined';\n\n/**\n * Is `useLayoutEffect` in a DOM or React Native environment, otherwise resolves to useEffect\n * Only useful to avoid the console warning.\n *\n * PREFER `useEffect` UNLESS YOU KNOW WHAT YOU ARE DOING.\n *\n * @category effects\n */\nexport default isDOM || isReactNative ? useLayoutEffect : useEffect;","import { useMemo } from 'react';\nconst toFnRef = ref => !ref || typeof ref === 'function' ? ref : value => {\n ref.current = value;\n};\nexport function mergeRefs(refA, refB) {\n const a = toFnRef(refA);\n const b = toFnRef(refB);\n return value => {\n if (a) a(value);\n if (b) b(value);\n };\n}\n\n/**\n * Create and returns a single callback ref composed from two other Refs.\n *\n * ```tsx\n * const Button = React.forwardRef((props, ref) => {\n * const [element, attachRef] = useCallbackRef();\n * const mergedRef = useMergedRefs(ref, attachRef);\n *\n * return \n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tupdateSelectedDepartData(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.departuredate,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.coachtype,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.seatavailable,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.adultprice,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.childprice,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.tripkey,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.pickupaddress,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.dropoffaddress,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// getEstimateTimeDurationInHours(item.tripdurationinsecond),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.tripduration,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.tripdurationinsecond,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.adultprice,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.childprice,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.tosubplaceid\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype='button'\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\tSelect\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t// updateSelectedReturnData(index,DepartureDate,depart_class,SeatAvailable,AdultPrice,TripKey)}\n\t\t\t\t\t\t\t\t\t\t\t\t// children=\"Select\"\n\t\t\t\t\t\t\t\t\t\t\t\t// params={\n\t\t\t\t\t\t\t\t\t\t\t\t// [\n\t\t\t\t\t\t\t\t\t\t\t\t// `depart=${depart}`,\n\t\t\t\t\t\t\t\t\t\t\t\t// `destination=${destination}`,\n\t\t\t\t\t\t\t\t\t\t\t\t// `depart_date=${date_depart}`,\n\t\t\t\t\t\t\t\t\t\t\t\t// `return_date=${date_return}`,\n\t\t\t\t\t\t\t\t\t\t\t\t// `passenger=${passenger}`,\n\t\t\t\t\t\t\t\t\t\t\t\t// `depart_info=${str_depart_info}`,\n\t\t\t\t\t\t\t\t\t\t\t\t// `return_info={\"departure_time\":\"${DepartureDate}\",\"class\":\"${depart_class}\",\"vacancy\":\"${SeatAvailable}\",\"fare\":\"${AdultPrice}\",\"TripKey\":\"${TripKey}\"}`\n\t\t\t\t\t\t\t\t\t\t\t\t// ]\n\t\t\t\t\t\t\t\t\t\t\t\t// }\n\t\t\t\t\t\t\t\t\t\t\t\t// >\n\t\t\t\t\t\t\t\t\t\t\t\t// \n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tupdateSelectedReturnData(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.departuredate,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.coachtype,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.seatavailable,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.adultprice,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.childprice,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.tripkey,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.pickupaddress,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.dropoffaddress,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// getEstimateTimeDurationInHours(item.tripdurationinsecond),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.tripduration,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.tripdurationinsecond,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.adultprice,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.childprice\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype='button'\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\tSelect\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n","import * as React from 'react';\nimport $ from 'jquery';\nimport 'bootstrap-daterangepicker';\n\nexport interface EventHandler {\n (event: JQuery.Event, picker: daterangepicker): any;\n}\nexport interface CallbackHandler {\n (\n start?: daterangepicker.DateOrString,\n end?: daterangepicker.DateOrString,\n label?: string\n ): any;\n}\nexport interface Props {\n initialSettings?: daterangepicker.Options;\n\n // events supported by the upstream lib\n onApply?: EventHandler;\n onCancel?: EventHandler;\n onHide?: EventHandler;\n onHideCalendar?: EventHandler;\n onShow?: EventHandler;\n onShowCalendar?: EventHandler;\n\n // custom events in this lib\n onEvent?: EventHandler;\n onCallback?: CallbackHandler;\n}\n\nexport class DateRangePicker extends React.Component<\n React.PropsWithChildren\n> {\n ref: any;\n $picker: JQuery | null;\n constructor(props: Props) {\n super(props);\n this.ref = null;\n this.$picker = null;\n }\n componentDidMount() {\n // initialize daterangepicker\n this.$picker = $(this.ref);\n this.$picker.daterangepicker(\n this.props.initialSettings,\n this.handleCallback.bind(this)\n );\n // attach event listeners\n ['Show', 'Hide', 'ShowCalendar', 'HideCalendar', 'Apply', 'Cancel'].forEach(\n (event) => {\n const lcase = event.charAt(0).toLowerCase() + event.slice(1);\n this.$picker?.on(\n lcase + '.daterangepicker',\n this.makeEventHandler('on' + event)\n );\n }\n );\n }\n componentWillUnmount() {\n this.$picker?.data('daterangepicker')?.remove();\n }\n handleCallback(...args: any) {\n if (typeof this.props.onCallback === 'function') {\n this.props.onCallback(...args);\n }\n }\n makeEventHandler(eventType: string) {\n const { onEvent } = this.props;\n return (event: JQuery.Event, picker: daterangepicker) => {\n if (typeof onEvent === 'function') {\n onEvent(event, picker);\n }\n if (typeof (this.props as any)[eventType] === 'function') {\n (this.props as any)[eventType](event, picker);\n }\n };\n }\n setStartDate(dateOrString: daterangepicker.DateOrString) {\n this.$picker?.data('daterangepicker')?.setStartDate(dateOrString);\n }\n setEndDate(dateOrString: daterangepicker.DateOrString) {\n this.$picker?.data('daterangepicker')?.setEndDate(dateOrString);\n }\n render() {\n const childElement: any = React.Children.only(this.props.children);\n return React.cloneElement(childElement, {\n ref: (el: any) => (this.ref = el),\n });\n }\n}\n\nexport default DateRangePicker;\n","import React, { useState, useEffect } from 'react';\nimport DateRangePicker from \"react-bootstrap-daterangepicker\";\nimport Col from 'react-bootstrap/esm/Col';\nimport Container from 'react-bootstrap/esm/Container';\nimport Row from 'react-bootstrap/esm/Row';\nimport { tokenIsValid, getToken, calculateDateRange, changeDateFormatToMMDDYYYY, changeDateFormatToYYYYMMDD, changeDateFormatToYYYYMMDDwithDash, checkIsReschedule, checkVenue, getSubPlaceShortName } from './Function';\nimport './SelectDepartureHeader.css';\nimport { useSearchParams } from 'react-router-dom';\n\nexport const SelectDepartureHeader = ({\n subplace_data,\n title,\n edit_search,\n depart,\n destination,\n date_depart,\n date_return,\n passenger\n }) => {\n// console.log(\"==========================\")\n// console.log(sessionStorage.getItem(\"Origin_data\"))\n// console.log(sessionStorage.getItem(\"Destination_data\"))\nconst SERVER_URL = process.env.REACT_APP_SERVER_URL;\nconst [searchParams, setSearchParams] = useSearchParams();\nconst request_id = searchParams.get(\"request_id\") ?? \"\";\nconst checkReschedule = checkIsReschedule();\nlet oldcartguid = null;\nlet reschedule_departDate = null;\nlet reschedule_returnDate = null;\nlet reschedule_passenger = null;\nlet reschedule_reschedule = null;\nlet reschedule_passengerDetails = null;\nlet origin_data = sessionStorage.getItem(\"Origin_data\");\nif(origin_data != null) {\n origin_data = JSON.parse(origin_data);\n // console.log(origin_data)\n if(checkReschedule) {\n oldcartguid = origin_data.OldCartGuid;\n reschedule_departDate = origin_data.DepartDate;\n reschedule_returnDate = origin_data.ReturnDate;\n reschedule_passenger = origin_data.Passenger;\n reschedule_reschedule = origin_data.Reschedule;\n reschedule_passengerDetails = origin_data.PassengerDetails;\n }\n}\nconst [new_depart, setDepart] = useState(depart.subplaceuniqueshortname);\nconst [new_destination, setDestination] = useState(destination.subplaceuniqueshortname);\nconst [new_depart_date, setDepartDate] = useState(date_depart);\nconst [new_return_date, setReturnDate] = useState(date_return);\nconst [new_passenger, setPassenger] = useState(passenger);\n// console.log(depart)\n// console.log(new_destination)\n// console.log(new_depart_date)\n// console.log(new_return_date)\n// console.log(new_passenger)\nconst [oneWayTrip, setOneWayTrip] = useState(true); //true = is one way trip; false = round trip\nconst [editMode, setEditMode] = useState(false);\nconst [availableDestination,setAvailableDestination] = useState(null);\n// console.log(availableDestination)\n\nuseEffect(() => {\n let selected_subplace_id = 32;\n if(sessionStorage.getItem(\"Origin_data\")!= null) {\n const origin_data = JSON.parse(sessionStorage.getItem(\"Origin_data\"));\n selected_subplace_id = origin_data.subplaceid;\n // console.log(selected_subplace_id)\n // console.log(origin_data)\n }\n const getAvailableDestination = async () => {\n try {\n const response = await fetch(`${SERVER_URL}/me/get/subplaces/origin/${selected_subplace_id}`,\n {\n headers: {\n 'Authorization': getToken()\n }\n });\n if (!response.ok) {\n throw new Error(\n `This is an HTTP error: The status is ${response.status}`\n );\n }\n let actualData = await response.json();\n // console.log(actualData)\n setAvailableDestination(actualData);\n } catch (err) {\n setAvailableDestination(null);\n }\n }\n tokenIsValid()\n getAvailableDestination();\n\n}, [new_depart]);\nconst setOriginData = (selected_place) => {\n sessionStorage.removeItem(\"Origin_data\");\n for (let i = 0; i < subplace_data.length; i++) {\n for (let j = 0; j < subplace_data[i].subplaces.length; j++) {\n if(subplace_data[i].subplaces[j].subplaceuniqueshortname === selected_place) {\n setDepart(subplace_data[i].subplaces[j].subplaceuniqueshortname);\n if(checkReschedule == false) {\n sessionStorage.setItem(\"Origin_data\",JSON.stringify(\n {\n \"placeid\":subplace_data[i].placeid, \n \"placename\":subplace_data[i].placename, \n \"placeuniqueshortname\":subplace_data[i].placeuniqueshortname, \n \"subplaceid\":subplace_data[i].subplaces[j].subplaceid, \n \"subplacename\":subplace_data[i].subplaces[j].subplacename, \n \"subplaceuniqueshortname\":subplace_data[i].subplaces[j].subplaceuniqueshortname\n }\n )\n )\n }\n else {\n sessionStorage.setItem(\"Origin_data\",JSON.stringify(\n {\n \"placeid\":subplace_data[i].placeid, \n \"placename\":subplace_data[i].placename, \n \"placeuniqueshortname\":subplace_data[i].placeuniqueshortname, \n \"subplaceid\":subplace_data[i].subplaces[j].subplaceid, \n \"subplacename\":subplace_data[i].subplaces[j].subplacename, \n \"subplaceuniqueshortname\":subplace_data[i].subplaces[j].subplaceuniqueshortname,\n\n \"oldcartguid\":oldcartguid,\n \"departdate\":reschedule_departDate,\n \"returndate\":reschedule_returnDate,\n \"passenger\":reschedule_passenger,\n \"reschedule\":reschedule_reschedule,\n \"passengerdetails\":reschedule_passengerDetails\n }\n )\n )\n }\n } \n }\n }\n}\n\nconst setDestinationData = (selected_place) => {\n sessionStorage.removeItem(\"Destination_data\");\n // console.log(selected_place);\n for (let i = 0; i < subplace_data.length; i++) {\n for (let j = 0; j < subplace_data[i].subplaces.length; j++) {\n if(subplace_data[i].subplaces[j].subplaceuniqueshortname === selected_place) {\n setDestination(subplace_data[i].subplaces[j].subplaceuniqueshortname);\n sessionStorage.setItem(\"Destination_data\",JSON.stringify(\n {\n \"placeid\":subplace_data[i].placeid, \n \"placename\":subplace_data[i].placename, \n \"placeuniqueshortname\":subplace_data[i].placeuniqueshortname, \n \"subplaceid\":subplace_data[i].subplaces[j].subplaceid, \n \"subplacename\":subplace_data[i].subplaces[j].subplacename, \n \"subplaceuniqueshortname\":subplace_data[i].subplaces[j].subplaceuniqueshortname\n }\n )\n )\n } \n } \n }\n}\n\nfunction swapVenue() {\n if(depart != '' && destination != '') {\n var ov = document.getElementById('origin_venue');\n var dv = document.getElementById('destination_venue');\n var tempOV = ov.value;\n var tempDV = dv.value;\n ov.value = tempDV;\n dv.value = tempOV;\n setOriginData(ov.value);\n setDestinationData(dv.value);\n }\n // console.log(depart)\n // console.log(destination)\n}\n\n// console.log(oneWayTrip);\n// console.log(subplace_data);\nconst converted_depart_date = new Intl.DateTimeFormat('en', \n {\n month: 'short',\n day: '2-digit'\n }\n).format(Date.parse(date_depart));\n\n// console.log(changeDateFormatToMMDDYYYY(date_depart))\n// console.log(date_depart)\n// console.log(date_return)\nconst editDepartDate = changeDateFormatToMMDDYYYY(date_depart);\n// console.log(editDepartDate)\nconst editReturnDate = changeDateFormatToMMDDYYYY(date_return);\n\n// console.log(editReturnDate)\nconst checkOneWay = date_return == \"null\" ? true : false;\nlet converted_return_date = null;\n// console.log(checkOneWay)\n\nfunction handleCallbackDepart(start) {\n // console.log(changeDateFormatToYYYYMMDD(start._d));\n setDepartDate(changeDateFormatToYYYYMMDD(start._d));\n }\n\nfunction handleCallbackReturn(end) {\n// console.log(end);\nsetReturnDate(changeDateFormatToYYYYMMDD(end._d));\n}\nconst handleCancel = (event, picker) => {\n picker.element.val('');\n setReturnDate(null)\n};\nconst handleApply = (event, picker) => {\n picker.element.val(\n picker.startDate.format('MM/DD/YYYY')\n );\n};\n// console.log(parseInt('07'))\nfunction checkValidation() {\n // console.log(changeDateFormatToYYYYMMDDwithDash(new_depart_date))\n // console.log(changeDateFormatToYYYYMMDDwithDash(new_return_date))\n if (new_depart === '' || new_destination === '' || new_depart_date === '' || new_passenger === '') {\n alert(\"Please Key In all data\");\n return false;\n }\n else {\n // console.log(new_return_date)\n if (new_return_date !== '' && new_return_date !== null) {\n if (changeDateFormatToYYYYMMDDwithDash(new_return_date) < changeDateFormatToYYYYMMDDwithDash(new_depart_date)) {\n alert(\"Selected date cannot be earlier than today or return date cannot be earlier than depart date\");\n }\n else if (new_passenger < 1 || new_passenger > 8) {\n alert(\"Passenger should not less than 1 or more than 8!\");\n }\n else if (checkVenue() == false) {\n alert(\"Selected Origin or Destination is invalid!\");\n }\n else return true;\n }\n else {\n // else if (calculateDateRange(new_depart_date, new_return_date) > 6) {\n // alert(\"Return date cannot be more than 7 days\");\n // }\n if (new_passenger < 1 || new_passenger > 8) {\n alert(\"Passenger should not less than 1 or more than 8!\");\n }\n else if (checkVenue() == false) {\n alert(\"Selected Origin or Destination is invalid!\");\n }\n else return true;\n }\n }\n return false;\n}\n\nfunction editSearch() {\n const edit_validation = checkValidation();\n if(edit_validation) {\n setEditMode(false)\n if(checkReschedule == false) {\n window.location.href = `/pickDepart?depart=${new_depart}&destination=${new_destination}&depart_date=${new_depart_date}&return_date=${new_return_date}&passenger=${new_passenger}&request_id=${request_id}`;\n }\n else {\n window.location.href = '/pickDepart';\n }\n\n }\n}\n\nfunction clearDestination() {\n setDestinationData('');\n var dv = document.getElementById('destination_venue');\n dv.value = '';\n}\n\nfunction getHref() {\n return `/pickDepart?depart=${new_depart}&destination=${new_destination}&depart_date=${new_depart_date}&return_date=${new_return_date}&passenger=${new_passenger}`\n}\n\nif(!checkOneWay) {\nconverted_return_date = new Intl.DateTimeFormat('en', \n {\n month: 'short',\n day: '2-digit'\n }\n ).format(Date.parse(date_return))\n}\n// console.log(converted_return_date)\n\n return (\n <>\n
\n \n {\n !editMode ?\n \n \n
{depart.placename}
\n
{(depart.subplacedisplayname)}
\n \n \n \n \n \n
{destination.placename}
\n
{(destination.subplacedisplayname)}
\n \n
\n \n
Passenger
\n
{passenger} Pax
\n \n \n \n \n
Date
\n {date_return == null \n ?\n
{converted_depart_date}
\n :\n
{converted_depart_date} {converted_return_date == null ? \"\" : \"-\"} {converted_return_date}
\n }\n \n \n setEditMode(true)}>\n

{edit_search} \n

\n
\n \n
\n :\n \n \n
Origin
\n {/* setOriginData(event.target.value)} required />\n \n {subplace_data && subplace_data.map(({ SubPlaceName }) => (\n */}\n \n \n \n \n \n \n
Destination
\n \n {/* setDestinationData(event.target.value)} required /> */}\n \n \n
Passenger
\n setPassenger(event.target.value)} required disabled={checkReschedule==true?true:false}/>\n \n \n \n
Date
\n \n \n \n   \n \n \n \n \n \n \n \n
\n }\n
\n
\n \n );\n}\n\n","import React, { useState, useEffect } from 'react';\nimport { useSearchParams } from 'react-router-dom';\nimport '../../App.css';\nimport { getNextDay, checkIsReschedule, tokenIsValid, getToken } from '../Function';\nimport { LoadingScreenModal } from '../LoadingScreenModal';\nimport { SelectDepartureAndReturn } from '../SelectDepartureAndReturn';\nimport { SelectDepartureMultiModal } from '../SelectDepartureMultiModal';\n\n// import Checkout from '../Checkout';\nimport { SelectDepartureHeader } from '../SelectDepartureHeader';\n\n\nimport Col from 'react-bootstrap/esm/Col';\nimport Container from 'react-bootstrap/esm/Container';\nimport Row from 'react-bootstrap/esm/Row';\n\n\nfunction PickDepart(props) {\n\n\tconst SERVER_URL = process.env.REACT_APP_SERVER_URL;\n\tconst checkReschedule = checkIsReschedule();\n\n\tconst [origin_data, setOriginData] = useState(JSON.parse(sessionStorage.getItem(\"Origin_data\")));\n\tconst [destination_data, setDestinationData] = useState(JSON.parse(sessionStorage.getItem(\"Destination_data\")));\n\tconst [searchParams, setSearchParams] = useSearchParams();\n\n\tconst [data, setData] = useState(null);\n\tconst [dateDetail, setDateDetail] = useState(null);\n\tconst [multiModalData, setMultiModalData] = useState(null);\n\n\tconst currency = checkCurrency();\n\tconst origin_subplace_unique_shortname = searchParams.get(\"depart\");\n\tconst destination_subplace_unique_shortname = searchParams.get(\"destination\");\n\n\n\tconst showBanner = (origin_subplace_unique_shortname === \"jbsentral\" || origin_subplace_unique_shortname === \"senaiinternationalairport\") &&\n\t\t(destination_subplace_unique_shortname === \"senaiinternationalairport\" || destination_subplace_unique_shortname === \"jbsentral\");\n\n\n\tvar data_depart_date;\n\n\tif (searchParams.get(\"depart_date\") === 'today') {\n\t\t// console.log('today');\n\t\t// Get today's date in yyyy-mm-dd format\n\t\tconst today = new Date();\n\t\tconst yyyy = today.getFullYear();\n\t\tconst mm = String(today.getMonth() + 1).padStart(2, '0'); // Months are zero-based, so +1\n\t\tconst dd = String(today.getDate()).padStart(2, '0');\n\n\t\t// Assign the formatted date to data_depart_date\n\t\tdata_depart_date = `${yyyy}-${mm}-${dd}`;\n\t} else {\n\t\tdata_depart_date = searchParams.get(\"depart_date\") != null ? searchParams.get(\"depart_date\") : origin_data.departdate;\n\t}\n\n\n\tconst data_return_date = searchParams.get(\"return_date\") != null ? searchParams.get(\"return_date\") : origin_data.returndate;\n\tconst data_passenger = searchParams.get(\"passenger\") != null ? searchParams.get(\"passenger\") : origin_data.passenger;\n\n\tconst [selected_date, setSelectedDate] = useState(data_depart_date);\n\tconst [loading, setLoading] = useState(true);\n\n\tfunction checkCurrency() {\n\t\tif (sessionStorage.getItem(\"Origin_data\") != null) {\n\t\t\tconst origin_data = JSON.parse(sessionStorage.getItem(\"Origin_data\"));\n\t\t\t// console.log(origin_data)\n\t\t\tif (origin_data.placeid === 4) {\n\t\t\t\treturn \"SGD\";\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn \"MYR\";\n\t\t\t}\n\t\t}\n\t}\n\n\t// let getTripsUrl = `${SERVER_URL}/me/get/trips/${getNextDay(selected_date,-5)}/${getNextDay(selected_date,5)}/${currency}/${selected_date}/${destination_subplace_unique_shortname}/null/${origin_subplace_unique_shortname}/${data_passenger}`\n\tlet getTripsUrl = `${SERVER_URL}/me/get/trips/${getNextDay(selected_date, -5)}/${getNextDay(selected_date, 5)}/${currency}/${selected_date}/${origin_subplace_unique_shortname}/null/${destination_subplace_unique_shortname}/${data_passenger}`\n\n\tif (checkReschedule === true) {\n\t\tconst origin_data = sessionStorage.getItem(\"Origin_data\") != null ? JSON.parse(sessionStorage.getItem(\"Origin_data\")) : null;\n\t\tconst destination_data = sessionStorage.getItem(\"Destination_data\") != null ? JSON.parse(sessionStorage.getItem(\"Destination_data\")) : null;\n\n\t\tgetTripsUrl = `${SERVER_URL}/me/get/trips/${getNextDay(selected_date, -5)}/${getNextDay(selected_date, 5)}/${currency}/${selected_date}/${origin_data.subplaceuniqueshortname}/null/${destination_data.subplaceuniqueshortname}/${origin_data.passenger}`\n\t}\n\n\tconst handleSelectedDateCallBack = (selected_date) => {\n\t\tsetSelectedDate(selected_date)\n\t}\n\n\tuseEffect(() => {\n\t\tsetLoading(true);\n\t\tconst getTripsData = async () => {\n\t\t\ttry {\n\t\t\t\tconst response = await fetch(getTripsUrl,\n\t\t\t\t\t{\n\t\t\t\t\t\tmethod: \"POST\",\n\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t'Authorization': getToken()\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\tif (!response.ok) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`This is an HTTP error: The status is ${response.status}`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tlet tripsData = await response.json();\n\n\t\t\t\t// console.log(tripsData)\n\n\t\t\t\tsetData(tripsData.trips.trips);\n\t\t\t\tsetDateDetail(tripsData.tripsummary);\n\t\t\t\tsetMultiModalData(tripsData.trips?.multimodaltrips);\n\n\t\t\t\tif (checkReschedule === false) {\n\t\t\t\t\tsetOriginData(tripsData.origin)\n\t\t\t\t\tsetDestinationData(tripsData.destination)\n\t\t\t\t\tsessionStorage.setItem(\"Origin_data\", JSON.stringify(tripsData.origin));\n\t\t\t\t\tsessionStorage.setItem(\"Destination_data\", JSON.stringify(tripsData.destination));\n\t\t\t\t}\n\t\t\t\t// if(depart.SubPlaceId !== tripsData.origin.SubPlaceId || destination.SubPlaceId !== tripsData.destination.SubPlaceId) {\n\t\t\t\t// window.location.reload();\n\t\t\t\t// }\n\t\t\t} catch (err) {\n\t\t\t\t// console.log(err)\n\t\t\t} finally {\n\t\t\t\tsetLoading(false);\n\t\t\t}\n\t\t}\n\n\t\ttokenIsValid()\n\n\t\tif (getToken() != null) {\n\t\t\tif (sessionStorage.getItem(\"Origin_data\") != null) {\n\t\t\t\tconst origin_data = JSON.parse(sessionStorage.getItem(\"Origin_data\"));\n\t\t\t\tlocalStorage.setItem(\"currency\", JSON.stringify(\"MYR\"));\n\t\t\t}\n\n\t\t\tgetTripsData()\n\t\t}\n\n\t}, [currency, selected_date, getToken()])\n\n\tif (origin_data != null) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{loading &&
\n\t\t\t\t\t\n\t\t\t\t
}\n\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t{\n\t\t\t\t// \tmultiModalData != null ? (\n\t\t\t\t// \t\n\t\t\t\t// ) : \n\t\t\t\t(\n\t\t\t\t\t<>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{showBanner && (\n\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\twindow.open(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"https://www.causewaylink.com.my/help/knowledge-base/terms-and-conditions-for-aa1tofly/\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"_blank\"\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t// \n\t\t\t\t)}\n\n\t\t\t\n\t\t);\n\t}\n}\n\nexport default PickDepart;\n","import React, { useContext, useEffect, useState } from 'react';\nimport { SelectSeatDepartContext, SelectSeatReturnContext, LoyaltyDiscountContext, LoyaltyIDContext, VoucherCodeContext, VoucherDiscountContext } from '../UserContext';\nimport { getBusSeatColumn, getSeatCode, getToken, tokenIsValid } from './Function';\nimport { LoadingScreenModal } from './LoadingScreenModal';\nimport './Seat.css';\n\n\nexport const Seat = ({\n\tcurrency = 'MYR',\n\tproceed,\n\ttrip_key,\n\tpassenger = 1\n}) => {\n\tconst SERVER_URL = process.env.REACT_APP_SERVER_URL;\n\tconst [data, setData] = useState(null);\n\tconst [dataLoad, setDataLoad] = useState(false);\n\tconst [loading, setLoading] = useState(true);\n\tconst [error, setError] = useState(null);\n\tconst [click, setClick] = useState(false);\n\tconst { selectedDepartSeat, setDepartSeat } = useContext(SelectSeatDepartContext);\n\tconst { selectedReturnSeat, setReturnSeat } = useContext(SelectSeatReturnContext);\n\tconst { LoyaltyID, setLoyaltyID } = useContext(LoyaltyIDContext);\n\tconst { TotalLoyalty, setLoyalty } = useContext(LoyaltyDiscountContext);\n\tconst { VoucherCode, setVoucherCode } = useContext(VoucherCodeContext);\n\tconst { VoucherDiscount, setVoucherDiscount } = useContext(VoucherDiscountContext);\n\n\tfunction checkSelected(allSelectedSeats, newSelect) {\n\t\tfor (let i = 0; i < allSelectedSeats.length; i++) {\n\t\t\tif (allSelectedSeats[i].DisplayCode === (newSelect)) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tuseEffect(() => {\n\t\tsetDepartSeat([]);\n\t\tsetReturnSeat([]);\n\t\tsetLoyaltyID(0);\n\t\tsetLoyalty(0);\n\t\tsetVoucherCode(null);\n\t\tsetVoucherDiscount(0);\n\t}, [])\n\t// console.log(selectedDepartSeat)\n\n\tfunction selectedSeat(newSelect, SeatId, SeatCode, SeatNumber, IsAvailable, SeatDeck, ElementId) {\n\t\tif (SeatId != 'none' && IsAvailable === true) {\n\t\t\tif (proceed === 'depart') {\n\t\t\t\tconst checkDepartResult = checkSelected(selectedDepartSeat, newSelect);\n\t\t\t\t// console.log(checkDepartResult)\n\t\t\t\tif (checkDepartResult === false && selectedDepartSeat.length < passenger) {\n\t\t\t\t\tsetDepartSeat(selectedDepartSeat => [...selectedDepartSeat,\n\t\t\t\t\t(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"DisplayCode\": newSelect,\n\t\t\t\t\t\t\t\"SeatId\": SeatId,\n\t\t\t\t\t\t\t\"SeatCode\": SeatCode,\n\t\t\t\t\t\t\t\"SeatNumber\": SeatNumber,\n\t\t\t\t\t\t\t\"SeatDeck\": SeatDeck\n\t\t\t\t\t\t}\n\t\t\t\t\t)\n\t\t\t\t\t]);\n\t\t\t\t\tvar element = document.getElementById(ElementId);\n\t\t\t\t\telement.classList.add('selected_seat_colour');\n\t\t\t\t}\n\t\t\t\telse if (checkDepartResult === false && selectedDepartSeat.length >= passenger) {\n\t\t\t\t\talert(`The total number of passengers is ${passenger}. You have selected too many seats`)\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tvar index = checkDepartResult;\n\t\t\t\t\tif (index > -1) { //Make sure item is present in the array, without if condition, -n indexes will be considered from the end of the array.\n\t\t\t\t\t\tselectedDepartSeat.splice(index, 1);\n\t\t\t\t\t\tsetDepartSeat(selectedDepartSeat => [...selectedDepartSeat]);\n\t\t\t\t\t\tvar element = document.getElementById(ElementId);\n\t\t\t\t\t\telement.classList.remove('selected_seat_colour');\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// alert(JSON.stringify(selectedDepartSeat))\n\t\t\t\tsessionStorage.setItem(\"selectedDepartSeat\", JSON.stringify(selectedDepartSeat));\n\t\t\t\t// sessionStorage.setItem(\"selectedDepartSeat\", JSON.stringify({\n\t\t\t\t// \t\"DisplayCode\": newSelect,\n\t\t\t\t// \t\"SeatId\": SeatId,\n\t\t\t\t// \t\"SeatCode\": SeatCode,\n\t\t\t\t// \t\"SeatNumber\": SeatNumber,\n\t\t\t\t// \t\"SeatDeck\": SeatDeck\n\t\t\t\t// }));\n\t\t\t}\n\t\t\telse {\n\t\t\t\tconst checkReturnResult = checkSelected(selectedReturnSeat, newSelect);\n\t\t\t\t// console.log(checkReturnResult)\n\t\t\t\tif (checkReturnResult === false && selectedReturnSeat.length < passenger) {\n\t\t\t\t\tsetReturnSeat(selectedReturnSeat => [...selectedReturnSeat,\n\t\t\t\t\t(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"DisplayCode\": newSelect,\n\t\t\t\t\t\t\t\"SeatId\": SeatId,\n\t\t\t\t\t\t\t\"SeatCode\": SeatCode,\n\t\t\t\t\t\t\t\"SeatNumber\": SeatNumber,\n\t\t\t\t\t\t\t\"SeatDeck\": SeatDeck\n\t\t\t\t\t\t}\n\t\t\t\t\t)\n\t\t\t\t\t]);\n\t\t\t\t\tvar element = document.getElementById(ElementId);\n\t\t\t\t\telement.classList.add('selected_seat_colour');\n\t\t\t\t}\n\t\t\t\telse if (checkReturnResult === false && selectedReturnSeat.length >= passenger) {\n\t\t\t\t\talert(`The total number of passengers is ${passenger}. You have selected too many seats`)\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tvar index = checkReturnResult;\n\t\t\t\t\t// console.log(index);\n\t\t\t\t\tif (index > -1) { //Make sure item is present in the array, without if condition, -n indexes will be considered from the end of the array.\n\t\t\t\t\t\tselectedReturnSeat.splice(index, 1);\n\t\t\t\t\t\tsetReturnSeat(selectedReturnSeat => [...selectedReturnSeat]);\n\t\t\t\t\t\tvar element = document.getElementById(ElementId);\n\t\t\t\t\t\telement.classList.remove('selected_seat_colour');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t//yoyo = y = row, x = column\n\tfunction corridor(X, Y) {\n\t\tif (X === 2 && Y === '' || X === 3 && Y === '') {\n\t\t\treturn 'corridor';\n\t\t}\n\t}\n\t// let url = \"https://expressapi.transitos.io/api/v1/eb/get/seats/MYR/MY-int-51559358-abe6a90d-8f8b-47e3-abc6-5ef4f88771f8-5877\"\n\tlet url = `${SERVER_URL}/me/get/seats/${currency}/${trip_key}`;\n\n\tuseEffect(() => {\n\t\tconst getData = async () => {\n\t\t\ttry {\n\t\t\t\tconst response = await fetch(\n\t\t\t\t\turl,\n\t\t\t\t\t{\n\t\t\t\t\t\tmethod: \"POST\",\n\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t'Authorization': getToken()\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\tif (!response.ok) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`This is an HTTP error: The status is ${response.status}`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tlet actualData = await response.json();\n\t\t\t\tsetData(actualData);\n\t\t\t\tsetError(null);\n\t\t\t\tsetDataLoad(true);\n\t\t\t\t// console.log(actualData)\n\t\t\t} catch (err) {\n\t\t\t\tsetError(err.message);\n\t\t\t\tsetData(null);\n\t\t\t} finally {\n\t\t\t\tsetLoading(false);\n\t\t\t}\n\t\t}\n\t\ttokenIsValid()\n\t\tgetData()\n\t}, [getToken()])\n\n\t// console.log(data);\n\tlet array_lower_seats = null;\n\tlet array_upper_seats = null;\n\n\n\tif (dataLoad) {\n\t\tif (\n\t\t\t//if upper deck total column is zero\n\t\t\tdata.busseatplan.upperdecktotalcol == 0\n\t\t\t//\tdata.busseatplan.decks.length == 1\n\t\t) {\n\n\t\t\tif (data.busseatplan.decks.length > 0) {\n\n\t\t\t\tarray_lower_seats = (data.busseatplan.decks[0].seats);\n\t\t\t\tarray_lower_seats.sort((a, b) => a.Y - b.Y);\n\n\t\t\t\t// const allSeats = array_lower_seats.length;\n\t\t\t\t// const column = getBusSeatColumn(allSeats);\n\t\t\t\tconst column = data.busseatplan.lowerdecktotalcol;\n\n\t\t\t\t// const row = (data.busseatplan.decks[0].lower_total_row);\n\t\t\t\tlet chunk_size = column;\n\n\t\t\t\t// if (allSeats > 40 && array_lower_seats[2].X != 3) {\n\t\t\t\t// chunk_size = 4;\n\t\t\t\t// }\n\n\n\n\t\t\t\tfunction chunkArray(array, chunkSize) {\n\t\t\t\t\tconst result = [];\n\t\t\t\t\tfor (let i = 0; i < array.length; i += chunkSize) {\n\t\t\t\t\t\tconst chunk = array.slice(i, i + chunkSize);\n\t\t\t\t\t\tresult.push(chunk);\n\t\t\t\t\t}\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\t// function twoDeckSliceIntoChunks(arr, chunkSize) {\n\t\t\t\t// \tconst res = [];\n\t\t\t\t// \tlet lastRow = 0;\n\n\t\t\t\t// \tfor (let i = 0; i < arr.length; i += chunkSize) {\n\t\t\t\t// \t\tif ((i + chunkSize + chunkSize) > arr.length) {\n\t\t\t\t// \t\t\tlastRow = 1;\n\t\t\t\t// \t\t}\n\t\t\t\t// \t\tconst chunk = arr.slice(i, i + chunkSize + lastRow);\n\t\t\t\t// \t\tconst corridor = { 'IsAvailable': 'corridor', 'SeatId': 'none', 'X': 2, Y: \"\" }\n\t\t\t\t// \t\tconst corridor2 = { 'IsAvailable': 'corridor', 'SeatId': 'none', 'X': 3, Y: \"\" }\n\t\t\t\t// \t\t// console.log(chunk)\n\t\t\t\t// \t\t// console.log(arr)\n\t\t\t\t// \t\t// console.log(chunk.splice(1,0))\n\t\t\t\t// \t\t// console.log(chunk[1].X)\n\t\t\t\t// \t\t// console.log(chunk[2])\n\t\t\t\t// \t\tif (typeof (chunk[1]) !== 'undefined' && chunk[1].X != 2) {\n\t\t\t\t// \t\t\tchunk.splice(1, 0, corridor);\n\t\t\t\t// \t\t\tres.push(chunk);\n\t\t\t\t// \t\t}\n\t\t\t\t// \t\telse if (typeof (chunk[2]) !== 'undefined' && chunk[2].X != 3) {\n\t\t\t\t// \t\t\tchunk.splice(2, 0, corridor2);\n\t\t\t\t// \t\t\tres.push(chunk);\n\t\t\t\t// \t\t}\n\t\t\t\t// \t\telse {\n\t\t\t\t// \t\t\tres.push(chunk);\n\t\t\t\t// \t\t\ti += chunkSize;\n\t\t\t\t// \t\t}\n\t\t\t\t// \t}\n\t\t\t\t// \treturn res;\n\t\t\t\t// }\n\t\t\t\tarray_lower_seats = chunkArray(array_lower_seats, chunk_size);\n\t\t\t}\n\t\t}\n\n\t\telse if (data.busseatplan.decks.length > 1) {\n\n\t\t\tvar lower_deck_total_column = data.busseatplan.lowerdecktotalcol;\n\t\t\tvar upper_deck_total_column = data.busseatplan.upperdecktotalcol;\n\n\t\t\tdata.busseatplan.decks.forEach(deck => {\n\t\t\t\tif (deck.deckname.toLowerCase() === 'upper') {\n\t\t\t\t\tarray_upper_seats = deck.seats;\n\t\t\t\t} else if (deck.deckname.toLowerCase() === 'lower') {\n\t\t\t\t\tarray_lower_seats = deck.seats;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// if (data.busseatplan.decks[0].deckname.includes('upper')) {\n\t\t\t// array_lower_seats = (data.busseatplan.decks[0].seats);\n\t\t\t// array_upper_seats = (data.busseatplan.decks[1].seats);\n\t\t\t// }\n\t\t\t// else if (data.busseatplan.decks[0].deckname.includes('lower')) {\n\t\t\t// array_lower_seats = (data.busseatplan.decks[1].seats);\n\t\t\t// array_upper_seats = (data.busseatplan.decks[0].seats);\n\t\t\t// }\n\n\t\t\tarray_lower_seats.sort((a, b) => a.Y - b.Y);\n\t\t\tarray_upper_seats.sort((a, b) => a.Y - b.Y);\n\n\t\t\t// const allSeats = array_lower_seats.length;\n\t\t\t// const column = getBusSeatColumn(allSeats);\n\t\t\t// const row = 4;\n\n\n\t\t\tfunction chunkArray(array, chunkSize) {\n\t\t\t\tconst result = [];\n\t\t\t\tfor (let i = 0; i < array.length; i += chunkSize) {\n\t\t\t\t\tconst chunk = array.slice(i, i + chunkSize);\n\t\t\t\t\tresult.push(chunk);\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\t// console.log(array_upper_seats)\n\t\t\t// function twoDeckSliceIntoChunks(arr, chunkSize) {\n\t\t\t// \tconst res = [];\n\t\t\t// \tlet lastRow = 0;\n\n\t\t\t// \tfor (let i = 0; i < arr.length; i += chunkSize) {\n\t\t\t// \t\tif ((i + chunkSize + chunkSize) > arr.length) {\n\t\t\t// \t\t\tlastRow = 1;\n\t\t\t// \t\t}\n\t\t\t// \t\t// console.log(i)\n\t\t\t// \t\tconst chunk = arr.slice(i, i + chunkSize + lastRow);\n\t\t\t// \t\tconst corridor = { 'IsAvailable': 'corridor', 'SeatId': 'none', 'X': 2, Y: \"\" }\n\n\t\t\t// \t\t// console.log(chunk)\n\t\t\t// \t\t// console.log(arr)\n\t\t\t// \t\t// console.log(chunk.splice(1,0))\n\t\t\t// \t\t// // console.log(chunk[1].X)\n\n\t\t\t// \t\tif (typeof (chunk[1]) !== 'undefined' && chunk[1].X != 2) {\n\t\t\t// \t\t\tchunk.splice(1, 0, corridor);\n\t\t\t// \t\t\tres.push(chunk);\n\t\t\t// \t\t}\n\t\t\t// \t\telse {\n\t\t\t// \t\t\tres.push(chunk);\n\t\t\t// \t\t\tif (chunkSize != 4) {\n\t\t\t// \t\t\t\ti += chunkSize;\n\t\t\t// \t\t\t}\n\t\t\t// \t\t}\n\t\t\t// \t}\n\t\t\t// \treturn res;\n\t\t\t// }\n\n\t\t\tarray_lower_seats = chunkArray(array_lower_seats, lower_deck_total_column);\n\t\t\tarray_upper_seats = chunkArray(array_upper_seats, upper_deck_total_column);\n\t\t}\n\t\telse {\n\t\t\twindow.location.href = '/'\n\t\t}\n\t}\n\n\n\tconst Selected = (IsAvailable, IsAisle) => {\n\t\tif (IsAisle === true) {\n\t\t\treturn 'corridor';\n\t\t} else {\n\t\t\tif (IsAvailable === true) {\n\t\t\t\treturn 'available';\n\t\t\t}\n\t\t}\n\t\treturn 'not_available';\n\t}\n\n\n\t// this is for single deck\n\tif (dataLoad && array_upper_seats == null) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{loading &&
\n\t\t\t\t\t\n\t\t\t\t
}\n\t\t\t\t{error && (\n\t\t\t\t\t
{`There is a problem fetching the post data - ${error}`}
\n\t\t\t\t)}\n\n\n\t\t\t\t{array_lower_seats && array_lower_seats.length > 0 ? (\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\"img_steering\"\n\t\t\t\t\t\t\t
\n\n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{array_lower_seats.map(({ }, index) => (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{array_lower_seats[index].map((item_seat) => (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t selectedSeat(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t//getSeatCode(item_seat.seatcode, item_seat.x, item_seat.y, array_lower_seats[0].length), \n\t\t\t\t\t\t\t\t\t\t\t\t\t\titem_seat.seatcode,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\titem_seat.seatid,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\titem_seat.seatcode,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\titem_seat.seatnumber,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\titem_seat.isavailable,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\titem_seat.seatdeck || null,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t`${trip_key}-${item_seat.seatid}`\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"seating\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t//\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t
{item_seat.seatcode\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t//getSeatCode(item_seat.seatcode, item_seat.x, item_seat.y, array_lower_seats[0].length)\n\t\t\t\t\t\t\t\t\t\t\t\t\t}
\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t
\n\n\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t) : (\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{`Sorry, this route is no longer available for sale. Please `}\n\t\t\t\t\t\t\tnavigate back to the trip listing page\n\t\t\t\t\t\t\t{` to choose another route.`}\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t)}\n\n\t\t\t\n\t\t);\n\t}\n\n\n\t//this is for double deck\n\telse if (dataLoad && array_upper_seats != null\n\t\t//&& array_upper_seats.length > 0 \n\t) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{loading &&
\n\t\t\t\t\t\n\t\t\t\t
}\n\t\t\t\t{error && (\n\t\t\t\t\t
{`There is a problem fetching the post data - ${error}`}
\n\t\t\t\t)}\n\n\n\t\t\t\t
\n\n\t\t\t\t\t{array_upper_seats && array_upper_seats.length > 0 && (\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

Upper Deck

\n\t\t\t\t\t\t\t
0 ? 'double_seat_container' : 'double_seat_upper_container'}>\n\t\t\t\t\t\t\t\t{/*
*/}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{array_upper_seats.map((seatRow, index) => (\n\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{seatRow.map((item_seat) => (\n\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t selectedSeat(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem_seat.seatcode,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem_seat.seatid,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem_seat.seatcode,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem_seat.seatnumber,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem_seat.isavailable,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem_seat.seatdeck || null,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t`U${trip_key}-${item_seat.seatid}`\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
{item_seat.seatcode}
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t)}\n\n\t\t\t\t\t{array_lower_seats && array_lower_seats.length > 0 && (\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

Lower Deck

\n\t\t\t\t\t\t\t{/*

Lower Deck

*/}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\"img_steering\"\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{array_lower_seats.map((seatRow, index) => (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{seatRow.map((item_seat) => {\n\t\t\t\t\t\t\t\t\t\t\t\tconst lower_seat_number = item_seat.seatnumber.replace(/L/g, '');\n\t\t\t\t\t\t\t\t\t\t\t\tif (lower_seat_number === '') {\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn \n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t
;\n\t\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedSeat(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlower_seat_number,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem_seat.seatid,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem_seat.seatcode,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem_seat.seatnumber,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem_seat.isavailable,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem_seat.seatdeck || null,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t`L${trip_key}-${item_seat.seatid}`\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
{lower_seat_number}
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t)}\n\n\t\t\t\t
\n\t\t\t\n\t\t);\n\t}\n\telse {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\n\t\t)\n\t}\n}\n\n","import React from 'react';\nimport Col from 'react-bootstrap/esm/Col';\nimport Container from 'react-bootstrap/esm/Container';\nimport Row from 'react-bootstrap/esm/Row';\nimport { useSearchParams } from 'react-router-dom';\nimport { getSubPlaceShortName } from './Function';\nimport './Proceed_Departure.css';\nimport { Seat } from './Seat';\n\nexport const Proceed_Departure = ({\n\n}) => {\n\tconst [searchParams, setSearchParams] = useSearchParams();\n\tconst data_depart = searchParams.get(\"depart\");\n\tconst data_destination = searchParams.get(\"destination\");\n\tconst data_depart_date = searchParams.get(\"depart_date\");\n\tconst data_return_date = searchParams.get(\"return_date\");\n\tlet data_passenger = searchParams.get(\"passenger\");\n\tconst origin_data = JSON.parse(sessionStorage.getItem(\"Origin_data\"));\n\tconst destination_data = JSON.parse(sessionStorage.getItem(\"Destination_data\"));\n\n\tif (data_passenger > 8) {\n\t\tdata_passenger = 8;\n\t}\n\t// const {departData, setDepartData} = useContext(DepartDataContext);\n\tconst departData = JSON.parse(sessionStorage.getItem(\"departData\"));\n\tif (departData != null) {\n\t\tsessionStorage.setItem(\"depart_TripKey\", JSON.stringify(departData.TripKey))\n\t}\n\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t

Departure

\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t\t\t{(origin_data.subplacedisplayname.length > 10\n\t\t\t\t\t\t\t\t\t\t\t? `${origin_data.subplacedisplayname.substring(0, 10)}...`\n\t\t\t\t\t\t\t\t\t\t\t: origin_data.subplacedisplayname\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\"to\"\n\n\t\t\t\t\t\t\t\t\t\t{(destination_data.subplacedisplayname.length > 10\n\t\t\t\t\t\t\t\t\t\t\t? `${destination_data.subplacedisplayname.substring(0, 10)}...`\n\t\t\t\t\t\t\t\t\t\t\t: destination_data.subplacedisplayname\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\"seating\"\n\t\t\t\t\t\t\t

Taken

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\"seating\"\n\t\t\t\t\t\t\t

Available

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t);\n}\n\n","import React from 'react';\nimport Col from 'react-bootstrap/esm/Col';\nimport Container from 'react-bootstrap/esm/Container';\nimport Row from 'react-bootstrap/esm/Row';\nimport { useSearchParams } from 'react-router-dom';\nimport { getSubPlaceShortName } from './Function';\nimport './Proceed_Departure.css';\nimport { Seat } from './Seat';\n\n\nexport const Proceed_Return = ({\n\n}) => {\n\tconst [searchParams, setSearchParams] = useSearchParams();\n\tconst data_depart = searchParams.get(\"depart\");\n\tconst data_destination = searchParams.get(\"destination\");\n\tconst data_depart_date = searchParams.get(\"depart_date\");\n\tconst data_return_date = searchParams.get(\"return_date\");\n\tlet data_passenger = searchParams.get(\"passenger\");\n\tconst origin_data = JSON.parse(sessionStorage.getItem(\"Origin_data\"));\n\tconst destination_data = JSON.parse(sessionStorage.getItem(\"Destination_data\"));\n\n\tif (data_passenger > 8) {\n\t\tdata_passenger = 8;\n\t}\n\t// const {returnData, setReturnData} = useContext(ReturnDataContext);\n\tconst returnData = JSON.parse(sessionStorage.getItem(\"returnData\"));\n\tif (returnData != null) {\n\t\tsessionStorage.setItem(\"return_TripKey\", JSON.stringify(returnData.TripKey))\n\t}\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t

Return

\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t

{(destination_data.subplacedisplayname)}\"to\"{(origin_data.subplacedisplayname)}

\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\"seating\"\n\t\t\t\t\t\t\t

Taken

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\"seating\"\n\t\t\t\t\t\t\t

Available

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t);\n}\n\n","import React, { useContext } from \"react\";\nimport { useSearchParams } from \"react-router-dom\";\nimport {\n BusFareAddOnContext,\n BusFareDepartContext,\n BusFareReturnContext,\n SelectSeatDepartContext,\n SelectSeatReturnContext,\n} from \"../UserContext\";\nimport { checkIsReschedule, checkOneWayTrip } from \"./Function\";\nimport { LinkButton } from \"./LinkButton\";\n\nexport const SelectSeatButton = ({}) => {\n const [searchParams, setSearchParams] = useSearchParams();\n const data_depart = searchParams.get(\"depart\");\n const data_destination = searchParams.get(\"destination\");\n const data_depart_date = searchParams.get(\"depart_date\");\n const data_return_date = searchParams.get(\"return_date\");\n const request_id = searchParams.get(\"request_id\") ?? \"\";\n let data_passenger = searchParams.get(\"passenger\");\n const depart_info = searchParams.get(\"depart_info\");\n const return_info = searchParams.get(\"return_info\");\n const { BusFareDepart, setBusFareDepart } = useContext(BusFareDepartContext);\n const { BusFareReturn, setBusFareReturn } = useContext(BusFareReturnContext);\n const TotalBusFare = BusFareDepart + BusFareReturn;\n const { selectedDepartSeat, setDepartSeat } = useContext(SelectSeatDepartContext);\n const { selectedReturnSeat, setReturnSeat } = useContext(SelectSeatReturnContext);\n const { BusFareAddOn, setBusFareAddOn } = useContext(BusFareAddOnContext);\n const checkReschedule = checkIsReschedule();\n let originData = sessionStorage.getItem(\"Origin_data\");\n if (originData != null) {\n originData = JSON.parse(originData);\n }\n // console.log(BusFareAddOn);\n\n if(data_passenger > 8) {\n data_passenger = 8;\n }\n function checkValidation(selectedDepartSeat, selectedReturnSeat, e) {\n if (originData.Passenger != null) {\n data_passenger = originData.Passenger;\n }\n if (checkOneWayTrip()) {\n //check depart only\n if (selectedDepartSeat.length == 0) {\n e.preventDefault();\n alert(\"Please Select a Seat\");\n } else if (selectedDepartSeat.length != data_passenger) {\n e.preventDefault();\n alert(`Please Select ${data_passenger} Seat`);\n }\n } else {\n //check depart and return\n if (selectedDepartSeat.length == 0 || selectedReturnSeat.length == 0) {\n e.preventDefault();\n alert(\"Please Select a Seat\");\n } else if (selectedDepartSeat.length != data_passenger || selectedReturnSeat.length != data_passenger) {\n e.preventDefault();\n alert(`Please Select ${data_passenger} Seat`);\n }\n }\n }\n // console.log(localStorage)\n const handleSubmit = (e) => {\n checkValidation(selectedDepartSeat, selectedReturnSeat, e);\n sessionStorage.setItem(\"selectedDepartSeat\",JSON.stringify(selectedDepartSeat));\n sessionStorage.setItem(\"selectedReturnSeat\",JSON.stringify(selectedReturnSeat));\n sessionStorage.setItem(\"addOn\", JSON.stringify(BusFareAddOn));\n sessionStorage.setItem(\"busFare\", JSON.stringify(TotalBusFare));\n };\n\n return checkReschedule == false ? (\n \n ) : (\n \n );\n};\n","import React, { useContext } from \"react\";\nimport {\n SelectSeatDepartContext,\n SelectSeatReturnContext,\n} from \"../UserContext\";\nimport { checkOneWayTrip } from \"./Function\";\n\nexport const SelectSeatErrorMsg = ({}) => {\n const { selectedDepartSeat, setDepartSeat } = useContext(\n SelectSeatDepartContext\n );\n const { selectedReturnSeat, setReturnSeat } = useContext(\n SelectSeatReturnContext\n );\n const oneWayTrip = checkOneWayTrip();\n if (\n (!oneWayTrip && selectedDepartSeat.length == 0) ||\n (!oneWayTrip && selectedReturnSeat.length == 0)\n ) {\n return (\n <>\n
\n
\n !Please select a seat\n
\n
\n \n );\n } else if (oneWayTrip && selectedDepartSeat.length == 0) {\n return (\n <>\n
\n
\n ! Please select a seat\n
\n
\n \n );\n }\n};\n","import React from \"react\";\nimport Col from \"react-bootstrap/esm/Col\";\nimport Container from \"react-bootstrap/esm/Container\";\nimport Row from \"react-bootstrap/esm/Row\";\nimport \"../../App.css\";\nimport { AddOn } from \"../AddOn\";\nimport { BookingAddOnDeals } from \"../BookingAddOnDeals\";\nimport { BusFareTotal } from \"../BusFareTotal\";\nimport { checkIsReschedule } from \"../Function\";\nimport { ProceedBusFare } from \"../ProceedBusFare\";\nimport { Proceed_Departure } from \"../Proceed_Departure\";\nimport { Proceed_Return } from \"../Proceed_Return\";\nimport { SelectSeatButton } from \"../SelectSeatButton\";\nimport { SelectSeatErrorMsg } from \"../SelectSeatErrorMsg\";\n\nconst SERVER_URL = process.env.REACT_APP_SERVER_URL;\nclass ProceedComponent extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n // items:[],\n ConversionRate: 0,\n message: \"\",\n DataisLoaded: false,\n };\n }\n componentDidMount() {\n // const reloadCount = sessionStorage.getItem('reloadCount');\n // if (reloadCount < 2) {\n // sessionStorage.setItem('reloadCount', String(reloadCount + 1));\n // window.location.reload();\n // } else {\n // sessionStorage.removeItem('reloadCount');\n // }\n // fetch(`${SERVER_URL}/eb/get/currency/rate/SGD/MYR`).then(res => res.json()).then(\n // result=>{\n // this.setState({ConversionRate:result.ConversionRate});\n // this.setState({message:result.Message});\n // // console.log(result);\n // }\n // )\n }\n render() {\n const returnData = sessionStorage.getItem(\"returnData\");\n // console.log(returnData);\n // console.log(sessionStorage.getItem(\"departData\"));\n const checkReschedule = checkIsReschedule();\n if (sessionStorage.getItem(\"departData\") == null) {\n window.location.href = \"/\";\n }\n return (\n <>\n \n \n \n {/* Rate: { this.state.ConversionRate } */}\n \n {returnData != null ? : \"\"}\n {checkReschedule == false ? (\n \n ) : (\n \"\"\n )}\n \n \n
\n
\n {/*

Bus Fare

*/}\n \n \n \n \n \n \n \n \n
\n \n
\n \n
\n
\n \n );\n }\n}\nexport default ProceedComponent;\n","import React from 'react';\nimport Col from 'react-bootstrap/esm/Col';\nimport Container from 'react-bootstrap/esm/Container';\nimport Row from 'react-bootstrap/esm/Row';\nimport { Link } from 'react-router-dom';\nimport { checkIsReschedule, getAMorPMonTime, getSubPlaceShortName } from './Function';\nimport './SelectedDeparture.css';\nimport { useSearchParams } from 'react-router-dom';\n\nexport const SelectedDeparture = ({\n title,\n depart,\n destination,\n date_depart,\n date_return,\n passenger,\n depart_area,\n destination_area,\n data_depart,\n departure_time,\n depart_info\n }) => {\nlet converted_depart_date = null;\nconst checkReschedule = checkIsReschedule();\nconst [searchParams, setSearchParams] = useSearchParams();\nconst request_id = searchParams.get(\"request_id\") ?? \"\";\nif(depart_info != null) {\n const selected_depart_date = (depart_info.departure_time.split(\" \")[0]);\n // console.log(selected_depart_date)\n converted_depart_date = new Intl.DateTimeFormat('en', \n {\n year: 'numeric', \n month: 'short',\n day: '2-digit',\n weekday: 'long'\n }\n ).format(Date.parse(selected_depart_date));\n // console.log(converted_depart_date);\n}\n// console.log(depart_info)\nlet params = `depart=${depart.subplaceuniqueshortname}&destination=${destination.subplaceuniqueshortname}&depart_date=${date_depart}&return_date=${date_return}&passenger=${passenger}&request_id=${request_id}`;\nlet href = `/pickDepart?${params}`;\n\nif(checkReschedule) {\n href = '/pickDepart';\n}\n// console.log(depart)\n// console.log(destination)\n return (\n <>\n \n
\n \n

Your selected departureChange Trip

\n \n
\n \n \n
{depart.placename}
\n
{(depart.subplacedisplayname)}
\n \n \n \n \n \n
{destination.placename}
\n
{(destination.subplacedisplayname)}
\n \n \n
Date
\n
{converted_depart_date}
\n \n \n
Time
\n
{getAMorPMonTime(depart_info.departure_time.split(\" \")[1])}
\n \n \n
Duration
\n
{depart_info.duration}
\n \n
\n
\n
\n \n );\n}\n\n","import React, { useState, useEffect } from 'react';\nimport { useSearchParams } from 'react-router-dom';\nimport '../../App.css';\nimport { LoadingScreenModal } from '../LoadingScreenModal';\nimport { checkIsReschedule, getNextDay, tokenIsValid, getToken } from '../Function';\nimport { SelectDepartureAndReturn } from '../SelectDepartureAndReturn';\nimport { SelectDepartureHeader } from '../SelectDepartureHeader';\nimport { SelectedDeparture } from '../SelectedDeparture';\n\n\nfunction PickReturn(props) {\n\tconst SERVER_URL = process.env.REACT_APP_SERVER_URL;\n\tconst checkReschedule = checkIsReschedule();\n\tconst [origin_data, setOriginData] = useState(JSON.parse(sessionStorage.getItem(\"Origin_data\")));\n\tconst [destination_data, setDestinationData] = useState(JSON.parse(sessionStorage.getItem(\"Destination_data\")));\n\tconst [loading, setLoading] = useState(true);\n\tconst [data, setData] = useState(null);\n\tconst [dateDetail, setDateDetail] = useState(null);\n\tconst currency = JSON.parse(localStorage.getItem(\"currency\"));\n\tconst [searchParams, setSearchParams] = useSearchParams();\n\tconst origin_subplace_unique_shortname = searchParams.get(\"depart\");\n\tconst destination_subplace_unique_shortname = searchParams.get(\"destination\");\n\tconst data_depart_date = searchParams.get(\"depart_date\") != null ? searchParams.get(\"depart_date\") : origin_data.DepartDate;\n\tconst data_return_date = searchParams.get(\"return_date\") != null ? searchParams.get(\"return_date\") : origin_data.ReturnDate;\n\tconst data_passenger = searchParams.get(\"passenger\") != null ? searchParams.get(\"passenger\") : origin_data.Passenger;\n\tconst [selected_date, setSelectedDate] = useState(data_return_date != \"null\" ? data_return_date : data_depart_date);\n\n\t// console.log(selected_date)\n\tif (sessionStorage.getItem(\"departData\") == null) {\n\t\twindow.location.href = '/';\n\t}\n\tconst departData = JSON.parse(sessionStorage.getItem(\"departData\"));\n\tvar formattedNextDay = getNextDay(departData.departure_time.split(\" \")[0]);\n\n\tlet getTripsUrl = `${SERVER_URL}/me/get/trips/${getNextDay(selected_date, -5)}/${getNextDay(selected_date, 5)}/${currency}/${selected_date}/${destination_subplace_unique_shortname}/null/${origin_subplace_unique_shortname}/${data_passenger}`\n\t// let getTripsUrl = `${SERVER_URL}/me/get/trips/${getNextDay(selected_date,-5)}/${getNextDay(selected_date,5)}/${currency}/${selected_date}/${origin_subplace_unique_shortname}/null/${destination_subplace_unique_shortname}/${data_passenger}`\n\n\tif (checkReschedule === true) {\n\t\tconst origin_data = sessionStorage.getItem(\"Origin_data\") != null ? JSON.parse(sessionStorage.getItem(\"Origin_data\")) : null;\n\t\tconst destination_data = sessionStorage.getItem(\"Destination_data\") != null ? JSON.parse(sessionStorage.getItem(\"Destination_data\")) : null;\n\t\t// console.log(origin_data)\n\t\t// console.log(destination_data)\n\t\t// console.log(sessionStorage.getItem(\"Origin_data\"))\n\t\tgetTripsUrl = `${SERVER_URL}/me/get/trips/${getNextDay(selected_date, -5)}/${getNextDay(selected_date, 5)}/${currency}/${selected_date}/${destination_data.SubPlaceUniqueShortName}/null/${origin_data.SubPlaceUniqueShortName}/${origin_data.Passenger}`\n\t\t// getTripsUrl = `${SERVER_URL}/me/get/trips/${getNextDay(selected_date,-5)}/${getNextDay(selected_date,5)}/${currency}/${selected_date}/${origin_data.SubPlaceUniqueShortName}/null/${destination_data.SubPlaceUniqueShortName}/${origin_data.Passenger}`\n\t}\n\n\tconst handleSelectedDateCallBack = (selected_date) => {\n\t\tsetSelectedDate(selected_date)\n\t}\n\n\tuseEffect(() => {\n\t\tsetLoading(true);\n\t\tconst getTripsData = async () => {\n\t\t\ttry {\n\t\t\t\tconst response = await fetch(getTripsUrl,\n\t\t\t\t\t{\n\t\t\t\t\t\tmethod: \"POST\",\n\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t'Authorization': getToken()\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\tif (!response.ok) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`This is an HTTP error: The status is ${response.status}`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tlet tripsData = await response.json();\n\t\t\t\t// console.log(tripsData)\n\t\t\t\t// if(checkReschedule === false) {\n\t\t\t\t// sessionStorage.setItem(\"Origin_data\",JSON.stringify(tripsData.origin));\n\t\t\t\t// sessionStorage.setItem(\"Destination_data\",JSON.stringify(tripsData.destination));\n\t\t\t\t// setOriginData(tripsData.origin)\n\t\t\t\t// setDestinationData(tripsData.destination)\n\t\t\t\t// }\n\t\t\t\tsetData(tripsData.trips.trips);\n\t\t\t\tsetDateDetail(tripsData.tripsummary);\n\t\t\t\t// if(depart.SubPlaceId !== tripsData.origin.SubPlaceId || destination.SubPlaceId !== tripsData.destination.SubPlaceId) {\n\t\t\t\t// window.location.reload();\n\t\t\t\t// }\n\t\t\t} catch (err) {\n\t\t\t\t// console.log(err)\n\t\t\t} finally {\n\t\t\t\tsetLoading(false);\n\t\t\t}\n\t\t}\n\t\ttokenIsValid()\n\t\tif (getToken() != null) {\n\t\t\tgetTripsData()\n\t\t}\n\t\t// getData()\n\t\t// getDateDetail()\n\t}, [currency, selected_date, getToken()])\n\n\t// console.log(data)\n\treturn (\n\t\t<>\n\t\t\t{loading &&
\n\t\t\t\t\n\t\t\t
}\n\t\t\t\n\t\t\t\n\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default PickReturn;\n","import React from 'react';\nimport '../App.css';\nimport BookingAddOn from './BookingAddOn';\nimport { BookingAddOnDeals } from './BookingAddOnDeals';\nimport { BookingDetails } from './BookingDetails';\nimport { BookingHeader } from './BookingHeader';\n\nexport const BookingSuccessful = ({\n booking_status = \"Confirmed\",\n trip_id,\n amount,\n email,\n printTicket=\"Print Ticket\",\n editBooking=\"Edit Booking\",\n depart_info,\n return_info,\n data_depart,\n data_destination,\n data_passenger\n }) => {\n return (\n <>\n \n \n \n \n \n \n \n );\n}\n\nexport default BookingSuccessful;","import React from 'react';\nimport { useSearchParams } from 'react-router-dom';\nimport BookingFailed from '../BookingFailed';\nimport BookingSuccessful from '../BookingSuccessful';\n\n\nexport const BookingStatus = ({\n\n}) => {\nconst booking_status = true;\n\n\n const [searchParams, setSearchParams] = useSearchParams();\n const data_depart = searchParams.get(\"depart\");\n const data_destination = searchParams.get(\"destination\");\n const data_depart_date = searchParams.get(\"depart_date\");\n const data_return_date = searchParams.get(\"return_date\");\n const data_passenger = searchParams.get(\"passenger\");\n const depart_info = searchParams.get(\"depart_info\");\n const obj_depart_info = JSON.parse(depart_info);\n // console.log(obj_depart_info);\n const return_info = searchParams.get(\"return_info\");\n const obj_return_info = JSON.parse(return_info);\n\n// const {departData, setDepartData} = useContext(DepartDataContext);\n// const {returnData, setReturnData} = useContext(ReturnDataContext);\n const departData = JSON.parse(sessionStorage.getItem(\"departData\"));\n const returnData = JSON.parse(sessionStorage.getItem(\"returnData\"));\n \nif(booking_status) {\n return (\n <>\n \n \n );\n}\nelse {\n return (\n <>\n \n \n )\n}\n}","// import React from \"react\";\n// export const LoyaltyPagination = ({ currentPage, itemsPerPage, totalItems, onPageChange }) => {\n// const pageNumbers = Math.ceil(totalItems / itemsPerPage);\n \n// const handlePageClick = (pageNumber) => {\n// onPageChange(pageNumber);\n// };\n \n// return (\n//
\n// {/* Render page numbers */}\n// {Array.from({ length: pageNumbers }, (_, index) => index + 1).map((pageNumber) => (\n// handlePageClick(pageNumber)}\n// disabled={pageNumber === currentPage}\n// >\n// {pageNumber}\n// \n// ))}\n//
\n// );\n// };\n\nimport React from 'react';\nimport \"./LoyaltyPagination.css\";\n\nexport const LoyaltyPagination = ({ currentPage, itemsPerPage, totalItems, onNextPage, onPreviousPage }) => {\n const totalPages = Math.ceil(totalItems / itemsPerPage);\n return (\n
\n \n <\n \n Page {currentPage}\n / {totalPages}\n \n >\n \n
\n );\n};\n ","import React, { useEffect, useRef, useState } from 'react';\nimport { Form } from 'react-bootstrap';\nimport Col from 'react-bootstrap/esm/Col';\nimport Container from 'react-bootstrap/esm/Container';\nimport Row from 'react-bootstrap/esm/Row';\nimport DatePicker from \"react-datepicker\";\nimport \"react-datepicker/dist/react-datepicker.css\";\nimport './AccountDetails.css';\nimport { ContentTitle } from './ContentTitle';\nimport { LoyaltyPagination } from './LoyaltyPagination';\nimport { changeDateFormatToYYYYMMDD, changeDateFormatToDayMonthYear, getNationalityFullName, getToken, getUserData, getUserPrimaryEmail, setUserData, tokenIsValid } from './Function';\n\nexport const AccountDetails = ({\n\tuserLoyalty\n}) => {\n\tconst SERVER_URL = process.env.REACT_APP_SERVER_URL;\n\tconst userData = getUserData();\n\tconst userLoyaltyData = userLoyalty;\n\tconst friendsAndFamilyData = JSON.parse(localStorage.getItem(\"friendsAndFamilyData\"));\n\tconst [editAccountDetails, setEditAccountDetails] = useState(false);\n\tconst [editPassword, setEditPassword] = useState(false);\n\tconst [editEmergency, setEditEmergency] = useState(false);\n\tconst [AddNewFamilyAndFriends, setAddNewFamilyAndFriends] = useState(false);\n\tconst [loyaltyPoints, setLoyaltyPoints] = useState(0);\n\tconst [loyaltyShowAll, setLoyaltyShowAll] = useState(false);\n\tconst [EditFnFMode, setEditFnFMode] = useState(false);\n\tconst [EditDataIndex, setEditDataIndex] = useState(0);\n\tconst [accDetails, setAccDetails] = useState(userData);\n\tconst [friendsAndFamilyDetails, setFamilyAndFriendsDetails] = useState(friendsAndFamilyData);\n\tconst [password, setPassword] = useState({});\n\tconst [newFamilyAndFriends, setNewFamilyAndFriends] = useState({});\n\tconst [FnFeditData, setFnFeditData] = useState({});\n\tconst [showAccPassportFields, setShowAccPassportFields] = useState(false)\n\tconst [showPassportFields, setShowPassportFields] = useState(false)\n\tconst [FnFdata, setFnFData] = useState([]);\n\tconst [FnFPPExp, setFnFPPExpiry] = useState(FnFeditData != null ? FnFeditData.passport_expiry != '' ? (FnFeditData.passport_expiry) : null : null);\n\tconst [ppexp, setPPExpiry] = useState(userData != null ? userData.passportexpiry != '' ? new Date(userData.passportexpiry) : null : null)\n\t// console.log(FnFdata)\n\t// console.log(userData)\n\tconst [data, setData] = useState(null);\n\tconst [loading, setLoading] = useState(true);\n\tconst [error, setError] = useState(null);\n\tconst token = getToken();\n\tconst MANJA_URL = process.env.REACT_APP_MANJA_REWARD_URL;\n\tconst API_KEY = process.env.REACT_APP_MANJA_REWARD_KEY;\n\tconst STORE_CODE = process.env.REACT_APP_MANJA_REWARD_STORED_CODE;\n\tconst [currentPage, setCurrentPage] = useState(1);\n\tconst [loyaltyDataPagination, setloyaltyDataPagination] = useState(null);\n\tconst itemsPerPage = 10; // Number of items to display per page\n\tconst [suggestedVouchers, setSuggestedVouchers] = useState([]);\n\n\n\tlet loyalty_url = `${MANJA_URL}/Rewards/${STORE_CODE}/${getUserPrimaryEmail()}/2`;\n\n\tuseEffect(() => {\n\t\tconst getFnFData = async () => {\n\t\t\ttry {\n\t\t\t\tconst FnF_response = await fetch(\n\t\t\t\t\t`${SERVER_URL}/user/list/family/${getUserPrimaryEmail()}`,\n\t\t\t\t\t{\n\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t'Authorization': token\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\tif (!FnF_response.ok) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`This is an HTTP error: The status is ${FnF_response.status}`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tlet FnF_Data = await FnF_response.json();\n\t\t\t\tsetFnFData(FnF_Data);\n\t\t\t\tsetError(null);\n\t\t\t\t// console.log(FnF_Data)\n\t\t\t} catch (err) {\n\t\t\t\tsetError(err.message);\n\t\t\t\tsetFnFData(null);\n\t\t\t} finally {\n\t\t\t\tsetLoading(false);\n\t\t\t}\n\t\t}\n\n\t\tconst getLoyaltyData = async () => {\n\t\t\ttry {\n\t\t\t\tconst response = await fetch(\n\t\t\t\t\tloyalty_url,\n\t\t\t\t\t{\n\t\t\t\t\t\tmethod: 'GET',\n\t\t\t\t\t\tmode: 'cors',\n\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t'apikey': API_KEY,\n\t\t\t\t\t\t\t'Authorization': getToken()\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\tif (!response.ok) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`This is an HTTP error: The status is ${response.status}`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tlet actualData = await response.json();\n\t\t\t\t// console.log(actualData)\n\t\t\t\tsetLoyaltyPoints(actualData?.points);\n\t\t\t} catch (err) {\n\t\t\t\tsetLoyaltyPoints(0);\n\t\t\t} finally {\n\t\t\t\tsetLoading(false);\n\t\t\t}\n\t\t}\n\n\t\ttokenIsValid();\n\t\tgetLoyaltyData();\n\t\tgetFnFData();\n\n\t\tfetchVoucherCodes();\n\n\t}, [getToken()])\n\t// console.log(FnFdata)\n\t// console.log(password);\n\t// console.log(userLoyaltyData);\n\t// console.log(friendsAndFamilyDetails);\n\t// console.log(friendsAndFamilyData);\n\t// console.log(userData);\n\t// console.log(accDetails);\n\t// console.log(newFamilyAndFriends);\n\t// console.log(FnFeditData);\n\t// console.log(EditDataIndex);\n\tconst today = new Date();\n\tconst year = today.getFullYear();\n\tconst formattedDate = accDetails.dob != '' ? changeDateFormatToDayMonthYear(accDetails.dob) : changeDateFormatToDayMonthYear(\"2000-01-01\");\n\tconst dobDay = formattedDate.split(\" \")[0];\n\tconst dobMonth = formattedDate.split(\" \")[1];\n\tconst dobYear = formattedDate.split(\" \")[2];\n\t// console.log(getGenderShortForm(accDetails.gender))\n\tfunction editUserAccountDetails() {\n\t\tsetEditAccountDetails(true);\n\t\tif (accDetails.ic == '' && accDetails.passport != '') {\n\t\t\tsetShowAccPassportFields(true);\n\t\t}\n\t\telse if (accDetails.ic == '' && accDetails.passport == '') {\n\t\t\tsetShowAccPassportFields(false);\n\t\t}\n\t}\n\tfunction FnFvalidation(obj, is_passport) {\n\t\tif (is_passport === false) {\n\t\t\tobj.passport = '';\n\t\t\tobj.passport_expiry = '';\n\t\t\tif (obj.ic == '' || obj.ic == null) {\n\t\t\t\talert(\"IC cannot be blank!\");\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tobj.ic = '';\n\t\t\tif (obj.passport == '' || obj.passport == null\n\t\t\t\t|| obj.passport_expiry == '' || obj.passport_expiry == null) {\n\t\t\t\talert(\"Passport No. / passport expiry cannot be blank!\");\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\tif (obj.full_name == '' || obj.full_name == null) {\n\t\t\talert(\"Full Name cannot be blank!\");\n\t\t\treturn false;\n\t\t}\n\t\telse if (obj.ticket_type == '' || obj.ticket_type == null) {\n\t\t\talert(\"TicketType cannot be blank!\");\n\t\t\treturn false;\n\t\t}\n\t\telse if (obj.nationality == '' || obj.nationality == null) {\n\t\t\talert(\"Please choose a valid Nationality!\");\n\t\t\treturn false;\n\t\t}\n\t\telse return true;\n\t}\n\tconst editUserDob = (key, value) => {\n\t\tvar newDob = formattedDate;\n\n\t\tif (key == 'DobDay') {\n\t\t\tnewDob = value + \" \" + dobMonth + \" \" + dobYear;\n\t\t}\n\t\telse if (key == 'DobMonth') {\n\t\t\tnewDob = dobDay + \" \" + value + \" \" + dobYear;\n\t\t}\n\t\telse {\n\t\t\tnewDob = dobDay + \" \" + dobMonth + \" \" + value;\n\t\t}\n\t\t// console.log(changeDateFormatToYYYYMMDD(new Date(newDob)));\n\t\teditUserDetails('dob', changeDateFormatToYYYYMMDD(new Date(newDob)));\n\t}\n\t// console.log(dobYear);\n\tconst updateNewFamilyAndFriends = (is_passport) => {\n\t\tconst FnFValidateResult = FnFvalidation(newFamilyAndFriends, is_passport);\n\t\tif (FnFValidateResult) {\n\t\t\tvar newArray = friendsAndFamilyDetails.push(newFamilyAndFriends);\n\t\t\t// console.log(newArray);\n\t\t\tsetFamilyAndFriendsDetails(\n\t\t\t\tfriendsAndFamilyDetails => [...friendsAndFamilyDetails, newArray]\n\t\t\t);\n\t\t\t// console.log(friendsAndFamilyDetails);\n\t\t\ttokenIsValid()\n\t\t\tsaveFnFInfo();\n\t\t}\n\t}\n\tconst editFamilyAndFriendsData = (key, e) => {\n\t\t// console.log(e);\n\n\t\tsetFnFeditData({\n\t\t\t...FnFeditData,\n\t\t\t[key]: e\n\t\t})\n\n\t}\n\tconst addNewFamilyAndFriends = (key, e) => {\n\t\t// console.log(e);\n\n\t\tsetNewFamilyAndFriends({\n\t\t\t...newFamilyAndFriends,\n\t\t\t[key]: e\n\t\t})\n\n\t}\n\tconst editUserDetails = (key, e) => {\n\t\t// console.log(e);\n\n\t\tsetAccDetails({\n\t\t\t...accDetails,\n\t\t\t[key]: e\n\t\t})\n\n\t}\n\tconst updateNewPassword = (key, e) => {\n\t\t// console.log(e);\n\t\tsetPassword({\n\t\t\t...password,\n\t\t\t[key]: e\n\t\t})\n\t}\n\n\n\n\tconst fetchVoucherCodes = async () => {\n\t\ttry {\n\t\t\tconst response = await fetch(\n\t\t\t\t`${SERVER_URL}/voucher/email/${getUserPrimaryEmail()}`,\n\t\t\t\t{\n\t\t\t\t\tmethod: 'GET',\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t\t'Authorization': getToken(),\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tif (!response.ok) {\n\t\t\t\tlet errorData = await response.json();\n\t\t\t\tthrow new Error(errorData.msg || `HTTP error: Status ${response.status}`);\n\t\t\t}\n\n\t\t\tlet data = await response.json();\n\t\t\tsetSuggestedVouchers(data); // Assuming the response contains a list of vouchers\n\n\t\t} catch (error) {\n\t\t\tconsole.error('Error fetching voucher codes:', error);\n\t\t}\n\t};\n\n\n\n\tfunction getReferenceID(reference) {\n\t\treturn reference.substring(2, 14);\n\t}\n\tfunction checkTransactionClassName(mode) {\n\t\tif (mode == 'IN') {\n\t\t\treturn 'addition';\n\t\t}\n\t\telse return 'deduction';\n\t}\n\tfunction checkEmergencyData() {\n\t\tif (typeof (userData.emergencycontact) != 'undefined' &&\n\t\t\ttypeof (userData.emergencyfullname) != 'undefined' &&\n\t\t\ttypeof (userData.emergencyrelationship) != 'undefined' &&\n\t\t\tuserData.emergencyrelationship !== '' &&\n\t\t\tuserData.emergencyfullname !== '' &&\n\t\t\tuserData.emergencycontact !== '') {\n\t\t\treturn true;\n\t\t}\n\t\telse return false;\n\t}\n\tfunction checkFamilyAndFriends() {\n\t\tif (FnFdata != null) {\n\t\t\tif (FnFdata.length !== 0) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\telse return false;\n\t\t}\n\t\telse return false;\n\t}\n\tfunction validateAccDetails() {\n\t\tif (showAccPassportFields === false) {\n\t\t\taccDetails.passport = '';\n\t\t\taccDetails.passportexpiry = '';\n\t\t\tif (accDetails.ic == '' || accDetails.ic == null) {\n\t\t\t\talert(\"IC cannot be blank!\");\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\taccDetails.ic = '';\n\t\t\tif (accDetails.passport == '' || accDetails.passport == null\n\t\t\t\t|| accDetails.passportexpiry == '' || accDetails.passportexpiry == null) {\n\t\t\t\talert(\"Passport No. / passport expiry cannot be blank!\");\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\tif (accDetails.fullname == '') {\n\t\t\talert(\"Username cannot be blank!\");\n\t\t\treturn false;\n\t\t}\n\t\telse if (accDetails.nationality == '') {\n\t\t\talert(\"Please choose a valid Nationality!\");\n\t\t\treturn false;\n\t\t}\n\t\telse if (accDetails.mobile == '') {\n\t\t\talert(\"Mobile No. cannot be blank!\");\n\t\t\treturn false;\n\t\t}\n\t\t// else if(accDetails.ic == '') {\n\t\t// alert(\"IC/Passport No. cannot be blank!\");\n\t\t// return false;\n\t\t// }\n\t\telse if (accDetails.gender == '') {\n\t\t\taccDetails.gender = 'M';\n\t\t}\n\t\telse if (accDetails.dob == '') {\n\t\t\taccDetails.dob = formattedDate;\n\t\t}\n\t\telse return true;\n\t}\n\tfunction validateEmergency() {\n\t\tif (accDetails.emergencyfullname == '' || accDetails.emergencyfullname == null) {\n\t\t\talert(\"Fullname cannot be blank!\");\n\t\t\treturn false;\n\t\t}\n\t\telse if (accDetails.emergencyrelationship == '' || accDetails.emergencyrelationship == null) {\n\t\t\talert(\"Please select a Relationship!\");\n\t\t\treturn false;\n\t\t}\n\t\telse if (accDetails.emergencycontact == '' || accDetails.emergencycontact == null) {\n\t\t\talert(\"Contact No. cannot be blank!\");\n\t\t\treturn false;\n\t\t}\n\t\telse return true;\n\t}\n\n\tfunction editFnFdata(index) {\n\t\tsetEditFnFMode(true);\n\t\tsetEditDataIndex(index);\n\t\tsetFnFeditData(FnFdata[index]);\n\t\t// console.log(FnFdata[index]);\n\t\tif (FnFdata[index].ic == '') {\n\t\t\tsetShowPassportFields(true);\n\t\t}\n\t}\n\t// console.log(userData)\n\t// console.log(FnFeditData);\n\tfunction validatePassword() {\n\t\tif (password.password == '' || password.new_Password == '' || password.new_Password == null || password.password == null) {\n\t\t\talert(\"Password cannot be blank\");\n\t\t}\n\t\telse if (password.new_Password !== password.retype_Password) {\n\t\t\talert(\"'Retype Password' must be same with 'New Password'!\")\n\t\t}\n\t\telse if (password.new_Password.length < 6) {\n\t\t\talert(\"Password must be at least 6 characters!\")\n\t\t}\n\t\telse {\n\t\t\tsetEditPassword(false);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\tfunction updateEditFnFData(is_passport) {\n\t\ttokenIsValid()\n\t\tconst FnFeditValidationResult = FnFvalidation(FnFeditData, is_passport);\n\t\tif (FnFeditValidationResult) {\n\t\t\tconst FnF_edit_api_url = `${SERVER_URL}/user/update/family/profile`;\n\t\t\t//call API to save data into db\n\n\t\t\tconst FnF_edit_requestOptions = {\n\t\t\t\tmethod: 'POST',\n\t\t\t\theaders: {\n\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t'Authorization': token\n\t\t\t\t},\n\t\t\t\tbody: JSON.stringify({\n\t\t\t\t\t\"IC\": FnFeditData.ic != null ? FnFeditData.ic : \"\",\n\t\t\t\t\t\"Passport\": FnFeditData.passport != null ? FnFeditData.passport : \"\",\n\t\t\t\t\t\"PassportExpiry\": FnFeditData.passport_expiry != null ? FnFeditData.passport_expiry : \"\",\n\t\t\t\t\t\"Nationality\": FnFeditData.nationality,\n\t\t\t\t\t\"FullName\": FnFeditData.full_name,\n\t\t\t\t\t\"TicketType\": FnFeditData.ticket_type,\n\t\t\t\t\t\"UUID\": FnFeditData.uuid,\n\t\t\t\t\t\"PrimaryEmail\": getUserPrimaryEmail()\n\t\t\t\t})\n\t\t\t};\n\t\t\t// console.log(FnF_edit_requestOptions)\n\t\t\tconst updateFnFData = async () => {\n\t\t\t\ttry {\n\t\t\t\t\tconst FnF_edit_response = await fetch(\n\t\t\t\t\t\tFnF_edit_api_url, FnF_edit_requestOptions\n\t\t\t\t\t);\n\t\t\t\t\tif (!FnF_edit_response.ok) {\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t`This is an HTTP error: The status is ${FnF_edit_response.status}`\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tlet familyEditData = await FnF_edit_response.json();\n\t\t\t\t\tsetData(familyEditData);\n\t\t\t\t\tsetError(null);\n\t\t\t\t\t// console.log(familyEditData);\n\t\t\t\t} catch (err) {\n\t\t\t\t\t// console.log(err.message);\n\t\t\t\t\tsetError(err.message);\n\t\t\t\t\tsetData(null);\n\t\t\t\t} finally {\n\t\t\t\t\tsetLoading(false);\n\t\t\t\t}\n\t\t\t\t// console.log(data);\n\t\t\t}\n\t\t\tupdateFnFData();\n\n\t\t\tfriendsAndFamilyDetails[EditDataIndex] = FnFeditData;\n\t\t\tsetFamilyAndFriendsDetails(friendsAndFamilyDetails);\n\t\t\tlocalStorage.setItem(\"friendsAndFamilyData\", JSON.stringify(friendsAndFamilyDetails));\n\t\t\talert('Your friends & family data has been updated');\n\t\t\twindow.location.reload();\n\t\t}\n\t}\n\tfunction saveFnFInfo() {\n\t\tconst FnF_api_url = `${SERVER_URL}/user/update/family/profile`;\n\t\t//call API to save data into db\n\n\t\tconst FnF_requestOptions = {\n\t\t\tmethod: 'POST',\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t'Authorization': token\n\t\t\t},\n\t\t\tbody: JSON.stringify({\n\t\t\t\t\"IC\": newFamilyAndFriends.ic != null ? newFamilyAndFriends.ic : \"\",\n\t\t\t\t\"Passport\": newFamilyAndFriends.passport != null ? newFamilyAndFriends.passport : \"\",\n\t\t\t\t\"PassportExpiry\": newFamilyAndFriends.passport_expiry != null ? newFamilyAndFriends.passport_expiry : \"\",\n\t\t\t\t\"Nationality\": newFamilyAndFriends.nationality,\n\t\t\t\t\"FullName\": newFamilyAndFriends.full_name,\n\t\t\t\t\"TicketType\": newFamilyAndFriends.ticket_type,\n\t\t\t\t\"UUID\": \"\",\n\t\t\t\t\"PrimaryEmail\": getUserPrimaryEmail()\n\t\t\t})\n\t\t};\n\t\t// console.log(FnF_requestOptions)\n\t\tconst updateFnFData = async () => {\n\t\t\ttry {\n\t\t\t\tconst FnF_response = await fetch(\n\t\t\t\t\tFnF_api_url, FnF_requestOptions\n\t\t\t\t);\n\t\t\t\tif (!FnF_response.ok) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`This is an HTTP error: The status is ${FnF_response.status}`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tlet familyData = await FnF_response.json();\n\t\t\t\tsetData(familyData);\n\t\t\t\tsetError(null);\n\t\t\t\t// console.log(familyData);\n\t\t\t} catch (err) {\n\t\t\t\t// console.log(err.message);\n\t\t\t\tsetError(err.message);\n\t\t\t\tsetData(null);\n\t\t\t} finally {\n\t\t\t\tsetLoading(false);\n\t\t\t}\n\t\t\t// console.log(data);\n\t\t}\n\t\tupdateFnFData();\n\t\tlocalStorage.setItem(\"friendsAndFamilyData\", JSON.stringify(friendsAndFamilyDetails));\n\t\tsetNewFamilyAndFriends(null);\n\n\t\talert('Your friends & family data has been updated!')\n\t\twindow.location.reload();\n\t}\n\tfunction saveAccInfo(validateFor) {\n\t\ttokenIsValid()\n\t\t//simple validation\n\t\tvar validationResult = false;\n\t\tif (validateFor == 'accInfo') {\n\t\t\tvalidationResult = validateAccDetails();\n\t\t}\n\t\telse if (validateFor == 'emergency') {\n\t\t\tvalidationResult = validateEmergency();\n\t\t}\n\t\telse if (validateFor == 'password') {\n\t\t\tvalidationResult = validatePassword();\n\t\t}\n\t\tif (validationResult) {\n\t\t\tlet alert_message = \"Your profile details are updated\";\n\t\t\tlet error_message = \"Our system is unable to update your profile details\";\n\t\t\tlet requestOptions = {};\n\t\t\tlet api_url = `${SERVER_URL}/user/update/profile`;\n\t\t\t// Simple POST request with a JSON body using fetch\n\t\t\tif (validateFor == 'accInfo') {\n\t\t\t\trequestOptions = {\n\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t\t'Authorization': token\n\t\t\t\t\t},\n\t\t\t\t\tbody: JSON.stringify({\n\t\t\t\t\t\t\"DOB\": accDetails.dob,\n\t\t\t\t\t\t\"Gender\": accDetails.gender,\n\t\t\t\t\t\t\"IC\": accDetails.ic != null ? accDetails.ic : \"\",\n\t\t\t\t\t\t\"Passport\": accDetails.passport != null ? accDetails.passport : \"\",\n\t\t\t\t\t\t\"PassportExpiry\": accDetails.passportexpiry != null ? accDetails.passportexpiry : \"\",\n\t\t\t\t\t\t\"Mobile\": accDetails.mobile,\n\t\t\t\t\t\t\"Nationality\": accDetails.nationality,\n\t\t\t\t\t\t\"FullName\": accDetails.fullname,\n\t\t\t\t\t\t\"PrimaryEmail\": getUserPrimaryEmail()\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t}\n\t\t\telse if (validateFor == 'emergency') {\n\t\t\t\talert_message = \"Your emergency contact details are updated\";\n\t\t\t\terror_message = \"Our system is unable to update your emergency contact details\";\n\t\t\t\tapi_url = `${SERVER_URL}/user/update/emergency`;\n\t\t\t\trequestOptions = {\n\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t\t'Authorization': token\n\t\t\t\t\t},\n\t\t\t\t\tbody: JSON.stringify({\n\t\t\t\t\t\t\"EmergencyContact\": accDetails.emergencycontact,\n\t\t\t\t\t\t\"EmergencyFullName\": accDetails.emergencyfullname,\n\t\t\t\t\t\t\"EmergencyRelationship\": accDetails.emergencyrelationship,\n\t\t\t\t\t\t\"PrimaryEmail\": getUserPrimaryEmail()\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t}\n\t\t\telse if (validateFor == 'password') {\n\t\t\t\talert_message = \"Your password has been updated\";\n\t\t\t\terror_message = \"Our system is unable to change your password\";\n\t\t\t\tapi_url = `${SERVER_URL}/user/update/password`;\n\t\t\t\trequestOptions = {\n\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t\t'Authorization': token\n\t\t\t\t\t},\n\t\t\t\t\tbody: JSON.stringify({\n\t\t\t\t\t\t\"OldPassword\": password.password,\n\t\t\t\t\t\t\"NewPassword\": password.new_Password,\n\t\t\t\t\t\t\"PrimaryEmail\": getUserPrimaryEmail(),\n\t\t\t\t\t\t\"Key\": userData.key\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t\tlocalStorage.setItem(\"primaryPassword\", JSON.stringify(password.new_Password));\n\t\t\t}\n\t\t\t// console.log(accDetails)\n\t\t\t// console.log(requestOptions)\n\t\t\tconst updateUserData = async () => {\n\t\t\t\ttry {\n\t\t\t\t\tconst response = await fetch(\n\t\t\t\t\t\tapi_url, requestOptions\n\t\t\t\t\t);\n\t\t\t\t\tif (!response.ok) {\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t`${error_message}`\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tsetUserData(accDetails);\n\t\t\t\t\tsetAccDetails(null);\n\t\t\t\t\talert(alert_message)\n\t\t\t\t\twindow.location.reload();\n\t\t\t\t} catch (err) {\n\t\t\t\t\t// console.log(err)\n\t\t\t\t\talert(err.message)\n\t\t\t\t\tsetError(err.message);\n\t\t\t\t\tsetData(null);\n\t\t\t\t} finally {\n\t\t\t\t\tsetLoading(false);\n\t\t\t\t}\n\t\t\t}\n\t\t\tupdateUserData();\n\t\t}\n\t}\n\t// const handlePageChange = (pageNumber) => {\n\t// setCurrentPage(pageNumber);\n\t// };\n\n\tconst handleNextPage = () => {\n\t\tsetCurrentPage((prevPage) => prevPage + 1);\n\t};\n\n\tconst handlePreviousPage = () => {\n\t\tsetCurrentPage((prevPage) => prevPage - 1);\n\t};\n\n\tuseEffect(() => {\n\t\tif (userLoyaltyData && userLoyaltyData.length > itemsPerPage) {\n\t\t\t// Logic to calculate the start and end index of the items to display on the current page\n\t\t\tconst indexOfLastItem = currentPage * itemsPerPage;\n\t\t\tconst indexOfFirstItem = indexOfLastItem - itemsPerPage;\n\t\t\tconst currentItems = userLoyaltyData.slice(indexOfFirstItem, indexOfLastItem);\n\t\t\tsetloyaltyDataPagination(currentItems);\n\t\t\t// Logic to handle page change\n\t\t}\n\t}, [currentPage])\n\n\tfunction splitLoyaltyIntoPaginationAndShowAll() {\n\t\tif (userLoyaltyData && userLoyaltyData.length > itemsPerPage) {\n\t\t\t// Logic to calculate the start and end index of the items to display on the current page\n\t\t\tconst indexOfLastItem = currentPage * itemsPerPage;\n\t\t\tconst indexOfFirstItem = indexOfLastItem - itemsPerPage;\n\t\t\tconst currentItems = userLoyaltyData.slice(indexOfFirstItem, indexOfLastItem);\n\t\t\tsetloyaltyDataPagination(currentItems);\n\t\t\t// Logic to handle page change\n\n\t\t}\n\t\tsetLoyaltyShowAll(true);\n\n\t}\n\n\tconst AccountRef = useRef(null);\n\tconst PasswordRef = useRef(null);\n\tconst EmergencyRef = useRef(null);\n\tconst FnFRef = useRef(null);\n\tconst LoyaltyRef = useRef(null);\n\tconst VoucherRef = useRef(null);\n\tconst executeScroll = (reference) => reference.current.scrollIntoView();\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t executeScroll(AccountRef)}>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t executeScroll(PasswordRef)}>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t executeScroll(EmergencyRef)}>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t executeScroll(FnFRef)}>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t executeScroll(LoyaltyRef)}>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t executeScroll(VoucherRef)}>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t

My Account

\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t

Change Password

\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t

Emergency Contact

\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t

Family & Friends

\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t

Loyalty Program

\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t

Vouchers

\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t editUserAccountDetails()}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{!editAccountDetails ?\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t
Full Name
\n\t\t\t\t\t\t\t\t\t\t\t\t
{userData.fullname}
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t
Gender
\n\t\t\t\t\t\t\t\t\t\t\t\t
{userData.gender}
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t
Nationality
\n\t\t\t\t\t\t\t\t\t\t\t\t
{getNationalityFullName(userData.nationality)}
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t
IC/ Passport No.
\n\t\t\t\t\t\t\t\t\t\t\t\t
{userData.ic != null && userData.ic != '' ? userData.ic : userData.passport}
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t
Mobile
\n\t\t\t\t\t\t\t\t\t\t\t\t
{userData.mobile}
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t
Email
\n\t\t\t\t\t\t\t\t\t\t\t\t
{getUserPrimaryEmail()}
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t
Date of Birth
\n\t\t\t\t\t\t\t\t\t\t\t\t
{formattedDate}
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t!showAccPassportFields\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t?\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t
Full Name *
\n\t\t\t\t\t\t\t\t\t\t\t\t\t editUserDetails('fullname', event.target.value)} type=\"text\" placeholder=\"Full Name\" defaultValue={userData.fullname} />\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t
Email *
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t
Gender *
\n\t\t\t\t\t\t\t\t\t\t\t\t\t editUserDetails('gender', event.target.value)} className=\"mb-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{userData.gender == 'M' ? : }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{userData.gender == 'F' ? : }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t
Date of Birth *
\n\t\t\t\t\t\t\t\t\t\t\t\t\t editUserDob('DobDay', event.target.value)} className=\"mb-2 me-2 edit_dob\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{Array.from({ length: 31 }, (_, i) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t editUserDob('DobMonth', event.target.value)} className=\"mb-2 me-2 edit_dob\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t editUserDob('DobYear', event.target.value)} className=\"mb-2 edit_dob\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{Array.from({ length: 100 }, (_, i) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t
Nationality *
\n\t\t\t\t\t\t\t\t\t\t\t\t\t editUserDetails('nationality', event.target.value)}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t
Mobile *
\n\t\t\t\t\t\t\t\t\t\t\t\t\t editUserDetails('mobile', event.target.value)} type=\"text\" placeholder=\"XXX-XXXXXXX\" defaultValue={userData.mobile} />\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t
IC/Passport No.
\n\t\t\t\t\t\t\t\t\t\t\t\t setShowAccPassportFields(!showAccPassportFields)}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
IC No. *
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t editUserDetails('ic', event.target.value)} type=\"text\" defaultValue={userData.ic} placeholder=\"810426-01-7890\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
Passport No. *
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t editUserDetails('passport', event.target.value)} type=\"text\" defaultValue={userData.passport} placeholder=\"Passport No.\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
Passport Expiry *
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\teditUserDetails('passportexpiry', changeDateFormatToYYYYMMDD(date))\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetPPExpiry(date)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselected={ppexp}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpeekNextMonth\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tshowMonthDropdown\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tshowYearDropdown\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tminDate={new Date()}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdropdownMode=\"select\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholderText=\"Passport Expiry\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdateFormat=\"yyyy-MM-dd\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName='AccDetails_Date_Picker mb-4'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* editUserDetails('passportexpiry',event.target.value)} type=\"text\" defaultValue={userData.passportexpiry} placeholder=\"Passport Expiry\"/> */}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t { setEditAccountDetails(false); window.location.reload() }}>Cancel\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t{!editPassword ?\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t
Password
\n\t\t\t\t\t\t\t\t\t\t\t\t
***********
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t
Current Password *
\n\t\t\t\t\t\t\t\t\t\t\t\t\t updateNewPassword('password', event.target.value)} />\n\t\t\t\t\t\t\t\t\t\t\t\t\t
New Password *
\n\t\t\t\t\t\t\t\t\t\t\t\t\t { updateNewPassword('new_Password', event.target.value); editUserDetails('Password', event.target.value) }} />\n\t\t\t\t\t\t\t\t\t\t\t\t\t
Retype Password *
\n\t\t\t\t\t\t\t\t\t\t\t\t\t updateNewPassword('retype_Password', event.target.value)} />\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t { setEditPassword(false); window.location.reload() }}>Cancel\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\n\n\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{!editEmergency ?\n\t\t\t\t\t\t\t\t!checkEmergencyData() ?\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t setEditEmergency(true)}\n\t\t\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t

Please add an emergency contact, we will call this contact in the event of an alarm.

\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t setEditEmergency(true)}\n\t\t\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
Full Name
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{userData.emergencyfullname}\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
Relationship
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{userData.emergencyrelationship}\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
Contact No
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{userData.emergencycontact}\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t
Full Name *
\n\t\t\t\t\t\t\t\t\t\t\t\t\t editUserDetails('emergencyfullname', event.target.value)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdefaultValue={userData.emergencyfullname !== null ? userData.emergencyfullname : null} />\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t
Relationship *
\n\t\t\t\t\t\t\t\t\t\t\t\t\t editUserDetails('emergencyrelationship', event.target.value)}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t
Contact No *
\n\t\t\t\t\t\t\t\t\t\t\t\t\t editUserDetails('emergencycontact', event.target.value)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdefaultValue={userData.emergencycontact !== null ? userData.emergencycontact : null} />\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t { setEditEmergency(false); window.location.reload() }}>Cancel\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\n\n\n\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{!AddNewFamilyAndFriends ?\n\t\t\t\t\t\t\t\t!checkFamilyAndFriends() ?\n\t\t\t\t\t\t\t\t\t//if no Friends and Family data, display info\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t setAddNewFamilyAndFriends(true)}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t

Save your favourite travel partner(s) details (maximum 5) to make your bookings easier! You can quickly add your family members in a single click without the inconvenience of manually adding details and risking typos and other mistakes.

\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t\t!EditFnFMode ?\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t{FnFdata.length < 5 ?\n\t\t\t\t\t\t\t\t\t\t\t\t//Friends and Family < 5 can add more\n\t\t\t\t\t\t\t\t\t\t\t\t setAddNewFamilyAndFriends(true)}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t\t\t\t\t//Friends and Family > 5 will not able to add more\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t{FnFdata.map(({ full_name, nationality, ic, passport }, index) => (\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
Full Name
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
Nationality
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
IC/ Passport No.
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t editFnFdata(index)}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{FnFdata[index].full_name}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{getNationalityFullName(FnFdata[index].nationality)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{FnFdata[index].ic != '' ? FnFdata[index].ic : FnFdata[index].passport}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t\t\t//edit family and friends\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t!showPassportFields\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t?\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
Full Name *
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t editFamilyAndFriendsData('full_name', event.target.value)} type=\"text\" defaultValue={FnFeditData.full_name} placeholder=\"Full Name\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
Ticket Type *
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t editFamilyAndFriendsData('ticket_type', event.target.value)}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* */}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* */}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
IC/Passport No.
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t setShowPassportFields(!showPassportFields)}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
Nationality *
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t editFamilyAndFriendsData('nationality', event.target.value)}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
IC No. *
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t editFamilyAndFriendsData('ic', event.target.value)} type=\"text\" defaultValue={FnFeditData.ic} placeholder=\"810426-01-7890\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
Passport No. *
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t editFamilyAndFriendsData('passport', event.target.value)} type=\"text\" defaultValue={FnFeditData.passport} placeholder=\"Passport No.\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
Passport Expiry *
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\teditFamilyAndFriendsData('passport_expiry', changeDateFormatToYYYYMMDD(date))\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselected={FnFeditData.passport_expiry != '' ? new Date(FnFeditData.passport_expiry) : null}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpeekNextMonth\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tshowMonthDropdown\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tshowYearDropdown\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tminDate={new Date()}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdropdownMode=\"select\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholderText=\"Passport Expiry\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdateFormat=\"yyyy-MM-dd\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName='AccDetails_Date_Picker mb-4'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* editFamilyAndFriendsData('passport_expiry',event.target.value)} type=\"text\" defaultValue={FnFeditData.passport_expiry} placeholder=\"Passport Expiry\"/> */}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t { setEditFnFMode(false); window.location.reload() }}>Cancel\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t//add new Family & Friends\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t!showPassportFields\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t?\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
Full Name *
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t addNewFamilyAndFriends('full_name', event.target.value)} type=\"text\" placeholder=\"Full Name\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
Ticket Type *
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t addNewFamilyAndFriends('ticket_type', event.target.value)}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* */}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* */}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
IC/Passport No.
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t setShowPassportFields(!showPassportFields)}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
Nationality *
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t addNewFamilyAndFriends('nationality', event.target.value)}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
IC No. *
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t addNewFamilyAndFriends('ic', event.target.value)} type=\"text\" placeholder=\"810426-01-7890\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
Passport No. *
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t addNewFamilyAndFriends('passport', event.target.value)} type=\"text\" placeholder=\"Passport No.\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
Passport Expiry *
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\taddNewFamilyAndFriends('passport_expiry', changeDateFormatToYYYYMMDD(date))\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetFnFPPExpiry(date)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselected={FnFPPExp}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpeekNextMonth\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tshowMonthDropdown\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tshowYearDropdown\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tminDate={new Date()}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdropdownMode=\"select\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholderText=\"Passport Expiry\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdateFormat=\"yyyy-MM-dd\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName='AccDetails_Date_Picker mb-4'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* addNewFamilyAndFriends('passport_expiry',event.target.value)} type=\"text\" placeholder=\"Passport Expiry\"/> */}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t { setAddNewFamilyAndFriends(false); window.location.reload() }}>Cancel\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t
Total Points
\n\t\t\t\t\t\t\t\t\t\t\t

{loyaltyPoints} Pts

\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{/* \n \n \n \n \n \n */}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{userLoyaltyData != null && userLoyaltyData != {} ?\n\t\t\t\t\t\t\t\t\t\t!loyaltyShowAll ?\n\t\t\t\t\t\t\t\t\t\t\t//maximum show 5 transaction\n\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t{userLoyaltyData && userLoyaltyData.length <= 5 ?\n\t\t\t\t\t\t\t\t\t\t\t\t\t//if transaction history < 5\n\t\t\t\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tArray.from({ length: userLoyaltyData.length }, (_, i) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t\t\t\t\t\t//if transaction history > 5, show 5 only\n\t\t\t\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tArray.from({ length: 5 }, (_, i) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t\t\t\t//if clicked on Show All button will display all transaction history\n\n\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\tuserLoyaltyData.length <= itemsPerPage ?\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{userLoyaltyData.map(({ date, mode, point, reference, Transaction }, index) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{loyaltyDataPagination && loyaltyDataPagination.map(({ date, mode, point, reference, Transaction }, index) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\t: \"\"\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t
\n \n

123456789

\n
\n \n

321 Tcr

\n
RECENT TRANSACTIONS
Date
Reference ID
Transaction
{userLoyaltyData[i].date}
{(userLoyaltyData[i].reference)}
{userLoyaltyData[i].point}
{userLoyaltyData[i].date}
{(userLoyaltyData[i].reference)}
{userLoyaltyData[i].point}
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t
{date}
{(reference)}
{point}
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
{date}
{(reference)}
{point}
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\n\n\n\n\n\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t{/* Other components/elements */}\n\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{suggestedVouchers.map((item) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{(item.vouchertype === 'AMOUNT') ? item.vouchercurrency : ''}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{item.vouchervalue}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{(item.vouchertype === 'PERCENTAGE') ? '%' : ''}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
OFF
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{(item.vouchertype === 'AMOUNT') ? item.vouchercurrency : ''}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{item.vouchervalue}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{(item.vouchertype === 'PERCENTAGE') ? '%' : ''} OFF\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tValid until: {item.expirydate}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{item.isactive ? 'Active' : 'Inactive'}\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}","import React, { useEffect, useState } from 'react';\nimport '../../App.css';\nimport { AccountDetails } from '../AccountDetails';\nimport { useSearchParams } from 'react-router-dom';\nimport { getToken, getUserPrimaryEmail, tokenIsValid, setLoginStatus, setUserToken, setUserTokenExpiry, setUserData } from '../Function';\n\nfunction MyAccount() {\n const [searchParams, setSearchParams] = useSearchParams();\n const token = searchParams.get(\"key\");\n const token_expiry = searchParams.get(\"expiry\");\n const login = localStorage.getItem(\"login\");\n const SERVER_URL = process.env.REACT_APP_SERVER_URL;\n const MANJA_URL = process.env.REACT_APP_MANJA_REWARD_URL;\n const API_KEY = process.env.REACT_APP_MANJA_REWARD_KEY;\n const [userLoyalty, setUserLoyalty] = useState([]);\n const email = getUserPrimaryEmail();\n if(!token && !token_expiry && login == null) {\n window.location.href = '/';\n }\n\n useEffect(()=> {\n if(token) {\n const getUserProfileByToken = async () => {\n try {\n const response = await fetch(`${SERVER_URL}/user/profile/token/${token}/${token_expiry}`,\n {\n headers: {\n 'Authorization': getToken()\n }\n });\n if (!response.ok) {\n throw new Error(\n `This is an HTTP error: The status is ${response.status}`\n );\n }\n let actualData = await response.json();\n setLoginStatus(true);\n setUserToken(token);\n setUserTokenExpiry(token_expiry);\n setUserData(actualData);\n localStorage.setItem(\"userData\", JSON.stringify(actualData));\n localStorage.setItem(\"login\", JSON.stringify(true));\n localStorage.setItem(\"primaryEmail\", JSON.stringify(actualData.primaryemail));\n if(actualData && !email) {\n window.location.reload();\n }\n } catch (err) {\n console.log(err)\n } finally {\n // setLoading(false)\n }\n }\n tokenIsValid()\n getUserProfileByToken();\n }\n \n //user loyalty data history\n const user_loyalty = `${MANJA_URL}/Transactions/1/email/${email}`;\n\n const getUserLoyalty = async () => {\n try {\n const user_loyalty_response = await fetch(\n user_loyalty,\n {\n method: 'GET',\n mode: 'cors',\n headers: {\n 'apikey': API_KEY,\n 'Authorization': getToken()\n }\n }\n );\n if (!user_loyalty_response.ok) {\n throw new Error(\n `This is an HTTP error: The status is ${user_loyalty_response.status}`\n );\n }\n let myUserLoyalty = await user_loyalty_response.json();\n setUserLoyalty(myUserLoyalty.results);\n // localStorage.setItem(\"userLoyaltyData\", JSON.stringify(myUserLoyalty.results));\n // console.log(myUserLoyalty.results)\n } catch (err) {\n alert('error')\n }\n }\n tokenIsValid()\n getUserLoyalty();\n \n },[getToken()])\n\n if(email)\n return (\n <>\n \n \n );\n }\n \n export default MyAccount;\n ","import { useEffect } from 'react';\nimport { useLocation } from 'react-router-dom';\n\nfunction ScrollToTop() {\n const { pathname } = useLocation();\n\n useEffect (\n () => {\n window.scrollTo(0,0);\n },\n [pathname]\n );\n return null;\n}\n\nexport default ScrollToTop;","import React, { useState, useEffect } from 'react';\nimport '../../App.css';\nimport BookingAddOn from '../BookingAddOn';\nimport { BookingDetails } from '../BookingDetails';\nimport { BookingHeader } from '../BookingHeader';\nimport { useSearchParams } from 'react-router-dom';\nimport { LoadingScreenModal } from '../LoadingScreenModal';\nimport { convertEBticketToCWLticket, tokenIsValid, getToken } from '../Function';\n\nfunction BookingHistory() {\n\tconst SERVER_URL = process.env.REACT_APP_SERVER_URL;\n\tlet guid = sessionStorage.getItem(\"history_guid\");\n\tlet addon = sessionStorage.getItem(\"addon\");\n\tlet oldcartguid = sessionStorage.getItem(\"oldcartguid\");\n\n\tif (guid != null) {\n\t\tguid = JSON.parse(guid);\n\t}\n\tif (addon != null) {\n\t\taddon = JSON.parse(addon);\n\t}\n\tconst [searchParams, setSearchParams] = useSearchParams();\n\tconst token = getToken();\n\t// console.log(token)\n\t// const addon = sessionStorage.getItem(\"addon\");\n\tconst reschedule = searchParams.get(\"reschedule\");\n\t// console.log(reschedule);\n\t// console.log(addon);\n\t// console.log(guid);\n\tconst [loading, setLoading] = useState(true);\n\tconst [historyData, setHistoryData] = useState(null);\n\tuseEffect(() => {\n\t\tsetLoading(true)\n\t\tconst getHistoryData = async () => {\n\t\t\ttry {\n\t\t\t\tconst history_response = await fetch(\n\t\t\t\t\t`${SERVER_URL}/me/get/ordersummary/${guid}`,\n\t\t\t\t\t{\n\t\t\t\t\t\tmethod: 'post',\n\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t'Authorization': token\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\tif (!history_response.ok) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`This is an HTTP error: The status is ${history_response.status}`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tlet history_Data = await history_response.text();\n\t\t\t\tif (history_Data != \"\") {\n\t\t\t\t\thistory_Data = JSON.parse(history_Data);\n\t\t\t\t\tsetHistoryData(history_Data);\n\t\t\t\t\tsetLoading(false)\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tgetHistoryData()\n\t\t\t\t}\n\t\t\t\t// console.log(history_Data)\n\n\t\t\t} catch (err) {\n\t\t\t\tsetHistoryData(null);\n\t\t\t\tsetLoading(false)\n\t\t\t\t// console.log(\"Error\")\n\t\t\t\t// console.log(err.message)\n\t\t\t} finally {\n\t\t\t\t// setLoading(false)\n\t\t\t}\n\t\t}\n\t\ttokenIsValid()\n\t\tgetHistoryData()\n\t}, [token])\n\n\t// console.log(historyData);\n\tif (loading) return (\n\t\t
\n\t\t\t\n\t\t
\n\t)\n\tif (historyData != null) {\n\t\tvar today = new Date();\n\t\tvar depart_date = new Date(historyData.departtripinfo.departdate);\n\n\t\t// console.log(historyData.details.OrderSummaryHtml);\n\t\t// console.log(convertEBticketToCWLticket(historyData.details.OrderSummaryHtml));\n\t\t// console.log(convertEBticketToCWLticket(historyData.details.OrderSummaryHtml).search('Server :'));\n\t\t// console.log(`depart_date > today = ${depart_date > today}`)\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t\n\t\t\t\t today && oldcartguid != \"\" ? false : true}\n\t\t\t\t\taddon={addon}\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n}\n\nexport default BookingHistory;","import React, { useState } from 'react';\nimport { Form } from 'react-bootstrap';\nimport { useSearchParams } from 'react-router-dom';\nimport '../../App.css';\nimport { getToken, tokenIsValid } from '../Function';\n\nfunction ResetPassword() {\n\tconst SERVER_URL = process.env.REACT_APP_SERVER_URL;\n\tconst [searchParams, setSearchParams] = useSearchParams();\n\tconst email = searchParams.get(\"email\");\n\tconst key = searchParams.get(\"key\");\n\tconst [password, setPassword] = useState(null);\n\tconst [rePassword, setRePassword] = useState(null);\n\tconst [passwordError, setPasswordError] = useState(null);\n\tconst [rePasswordError, setRePasswordError] = useState(null);\n\tif (getToken() == null) {\n\t\ttokenIsValid()\n\t}\n\t// console.log(password)\n\t// console.log(email)\n\tconst updatePassword = async () => {\n\n\t\ttry {\n\t\t\tconst response = await fetch(`${SERVER_URL}/user/update/password`,\n\t\t\t\t{\n\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t\t'Authorization': getToken()\n\t\t\t\t\t},\n\t\t\t\t\tbody: JSON.stringify(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"NewPassword\": password,\n\t\t\t\t\t\t\t\"PrimaryEmail\": email,\n\t\t\t\t\t\t\t\"Key\": key\n\t\t\t\t\t\t}\n\t\t\t\t\t)\n\t\t\t\t});\n\t\t\tif (!response.ok) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`This is an HTTP error: The status is ${response.status}`\n\t\t\t\t);\n\t\t\t}\n\t\t\talert(\"Password updated\")\n\t\t\twindow.location.href = '/'\n\t\t} catch (err) {\n\t\t\talert(\"Error, please try again later\")\n\t\t\t// console.log(err)\n\t\t}\n\t}\n\n\tfunction checkValidation() {\n\t\tif (password == null || password == '') {\n\t\t\tsetPasswordError('Password cannot be blank!')\n\t\t\treturn false;\n\t\t}\n\t\telse setPasswordError(null)\n\n\t\tif (rePassword == null || rePassword == '') {\n\t\t\tsetRePasswordError('Password cannot be blank!')\n\t\t\treturn false;\n\t\t}\n\t\telse setRePasswordError(null)\n\n\t\tif (password.length < 6) {\n\t\t\tsetPasswordError('Password must be at least 6 characters!')\n\t\t\treturn false;\n\t\t}\n\t\telse setPasswordError(null)\n\n\t\tif (password.toString() != rePassword.toString()) {\n\t\t\tsetRePasswordError(\"'Confirm Password' must be same with 'Password'!\")\n\t\t\treturn false;\n\t\t}\n\t\telse setRePasswordError(null)\n\n\t\tsetPasswordError(null)\n\t\tsetRePasswordError(null)\n\t\treturn true;\n\n\t}\n\tfunction resetPassword() {\n\t\tconst validation = checkValidation();\n\t\tif (validation) {\n\t\t\tupdatePassword()\n\t\t}\n\t}\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t

Reset Password

\n\t\t\t\t
Password
\n\t\t\t\t { setPassword(event.target.value); }} />\n\t\t\t\t
{passwordError}
\n\t\t\t\t
Confirm Password
\n\t\t\t\t setRePassword(event.target.value)} />\n\t\t\t\t
{rePasswordError}
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t)\n}\n\nexport default ResetPassword;\n","// DEFLATE is a complex format; to read this code, you should probably check the RFC first:\n// https://tools.ietf.org/html/rfc1951\n// You may also wish to take a look at the guide I made about this program:\n// https://gist.github.com/101arrowz/253f31eb5abc3d9275ab943003ffecad\n// Some of the following code is similar to that of UZIP.js:\n// https://github.com/photopea/UZIP.js\n// However, the vast majority of the codebase has diverged from UZIP.js to increase performance and reduce bundle size.\n// Sometimes 0 will appear where -1 would be more appropriate. This is because using a uint\n// is better for memory in most engines (I *think*).\nvar ch2 = {};\nvar wk = (function (c, id, msg, transfer, cb) {\n var w = new Worker(ch2[id] || (ch2[id] = URL.createObjectURL(new Blob([\n c + ';addEventListener(\"error\",function(e){e=e.error;postMessage({$e$:[e.message,e.code,e.stack]})})'\n ], { type: 'text/javascript' }))));\n w.onmessage = function (e) {\n var d = e.data, ed = d.$e$;\n if (ed) {\n var err = new Error(ed[0]);\n err['code'] = ed[1];\n err.stack = ed[2];\n cb(err, null);\n }\n else\n cb(null, d);\n };\n w.postMessage(msg, transfer);\n return w;\n});\n\n// aliases for shorter compressed code (most minifers don't do this)\nvar u8 = Uint8Array, u16 = Uint16Array, i32 = Int32Array;\n// fixed length extra bits\nvar fleb = new u8([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, /* unused */ 0, 0, /* impossible */ 0]);\n// fixed distance extra bits\nvar fdeb = new u8([0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, /* unused */ 0, 0]);\n// code length index map\nvar clim = new u8([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);\n// get base, reverse index map from extra bits\nvar freb = function (eb, start) {\n var b = new u16(31);\n for (var i = 0; i < 31; ++i) {\n b[i] = start += 1 << eb[i - 1];\n }\n // numbers here are at max 18 bits\n var r = new i32(b[30]);\n for (var i = 1; i < 30; ++i) {\n for (var j = b[i]; j < b[i + 1]; ++j) {\n r[j] = ((j - b[i]) << 5) | i;\n }\n }\n return { b: b, r: r };\n};\nvar _a = freb(fleb, 2), fl = _a.b, revfl = _a.r;\n// we can ignore the fact that the other numbers are wrong; they never happen anyway\nfl[28] = 258, revfl[258] = 28;\nvar _b = freb(fdeb, 0), fd = _b.b, revfd = _b.r;\n// map of value to reverse (assuming 16 bits)\nvar rev = new u16(32768);\nfor (var i = 0; i < 32768; ++i) {\n // reverse table algorithm from SO\n var x = ((i & 0xAAAA) >> 1) | ((i & 0x5555) << 1);\n x = ((x & 0xCCCC) >> 2) | ((x & 0x3333) << 2);\n x = ((x & 0xF0F0) >> 4) | ((x & 0x0F0F) << 4);\n rev[i] = (((x & 0xFF00) >> 8) | ((x & 0x00FF) << 8)) >> 1;\n}\n// create huffman tree from u8 \"map\": index -> code length for code index\n// mb (max bits) must be at most 15\n// TODO: optimize/split up?\nvar hMap = (function (cd, mb, r) {\n var s = cd.length;\n // index\n var i = 0;\n // u16 \"map\": index -> # of codes with bit length = index\n var l = new u16(mb);\n // length of cd must be 288 (total # of codes)\n for (; i < s; ++i) {\n if (cd[i])\n ++l[cd[i] - 1];\n }\n // u16 \"map\": index -> minimum code for bit length = index\n var le = new u16(mb);\n for (i = 1; i < mb; ++i) {\n le[i] = (le[i - 1] + l[i - 1]) << 1;\n }\n var co;\n if (r) {\n // u16 \"map\": index -> number of actual bits, symbol for code\n co = new u16(1 << mb);\n // bits to remove for reverser\n var rvb = 15 - mb;\n for (i = 0; i < s; ++i) {\n // ignore 0 lengths\n if (cd[i]) {\n // num encoding both symbol and bits read\n var sv = (i << 4) | cd[i];\n // free bits\n var r_1 = mb - cd[i];\n // start value\n var v = le[cd[i] - 1]++ << r_1;\n // m is end value\n for (var m = v | ((1 << r_1) - 1); v <= m; ++v) {\n // every 16 bit value starting with the code yields the same result\n co[rev[v] >> rvb] = sv;\n }\n }\n }\n }\n else {\n co = new u16(s);\n for (i = 0; i < s; ++i) {\n if (cd[i]) {\n co[i] = rev[le[cd[i] - 1]++] >> (15 - cd[i]);\n }\n }\n }\n return co;\n});\n// fixed length tree\nvar flt = new u8(288);\nfor (var i = 0; i < 144; ++i)\n flt[i] = 8;\nfor (var i = 144; i < 256; ++i)\n flt[i] = 9;\nfor (var i = 256; i < 280; ++i)\n flt[i] = 7;\nfor (var i = 280; i < 288; ++i)\n flt[i] = 8;\n// fixed distance tree\nvar fdt = new u8(32);\nfor (var i = 0; i < 32; ++i)\n fdt[i] = 5;\n// fixed length map\nvar flm = /*#__PURE__*/ hMap(flt, 9, 0), flrm = /*#__PURE__*/ hMap(flt, 9, 1);\n// fixed distance map\nvar fdm = /*#__PURE__*/ hMap(fdt, 5, 0), fdrm = /*#__PURE__*/ hMap(fdt, 5, 1);\n// find max of array\nvar max = function (a) {\n var m = a[0];\n for (var i = 1; i < a.length; ++i) {\n if (a[i] > m)\n m = a[i];\n }\n return m;\n};\n// read d, starting at bit p and mask with m\nvar bits = function (d, p, m) {\n var o = (p / 8) | 0;\n return ((d[o] | (d[o + 1] << 8)) >> (p & 7)) & m;\n};\n// read d, starting at bit p continuing for at least 16 bits\nvar bits16 = function (d, p) {\n var o = (p / 8) | 0;\n return ((d[o] | (d[o + 1] << 8) | (d[o + 2] << 16)) >> (p & 7));\n};\n// get end of byte\nvar shft = function (p) { return ((p + 7) / 8) | 0; };\n// typed array slice - allows garbage collector to free original reference,\n// while being more compatible than .slice\nvar slc = function (v, s, e) {\n if (s == null || s < 0)\n s = 0;\n if (e == null || e > v.length)\n e = v.length;\n // can't use .constructor in case user-supplied\n return new u8(v.subarray(s, e));\n};\n/**\n * Codes for errors generated within this library\n */\nexport var FlateErrorCode = {\n UnexpectedEOF: 0,\n InvalidBlockType: 1,\n InvalidLengthLiteral: 2,\n InvalidDistance: 3,\n StreamFinished: 4,\n NoStreamHandler: 5,\n InvalidHeader: 6,\n NoCallback: 7,\n InvalidUTF8: 8,\n ExtraFieldTooLong: 9,\n InvalidDate: 10,\n FilenameTooLong: 11,\n StreamFinishing: 12,\n InvalidZipData: 13,\n UnknownCompressionMethod: 14\n};\n// error codes\nvar ec = [\n 'unexpected EOF',\n 'invalid block type',\n 'invalid length/literal',\n 'invalid distance',\n 'stream finished',\n 'no stream handler',\n ,\n 'no callback',\n 'invalid UTF-8 data',\n 'extra field too long',\n 'date not in range 1980-2099',\n 'filename too long',\n 'stream finishing',\n 'invalid zip data'\n // determined by unknown compression method\n];\n;\nvar err = function (ind, msg, nt) {\n var e = new Error(msg || ec[ind]);\n e.code = ind;\n if (Error.captureStackTrace)\n Error.captureStackTrace(e, err);\n if (!nt)\n throw e;\n return e;\n};\n// expands raw DEFLATE data\nvar inflt = function (dat, st, buf, dict) {\n // source length dict length\n var sl = dat.length, dl = dict ? dict.length : 0;\n if (!sl || st.f && !st.l)\n return buf || new u8(0);\n var noBuf = !buf;\n // have to estimate size\n var resize = noBuf || st.i != 2;\n // no state\n var noSt = st.i;\n // Assumes roughly 33% compression ratio average\n if (noBuf)\n buf = new u8(sl * 3);\n // ensure buffer can fit at least l elements\n var cbuf = function (l) {\n var bl = buf.length;\n // need to increase size to fit\n if (l > bl) {\n // Double or set to necessary, whichever is greater\n var nbuf = new u8(Math.max(bl * 2, l));\n nbuf.set(buf);\n buf = nbuf;\n }\n };\n // last chunk bitpos bytes\n var final = st.f || 0, pos = st.p || 0, bt = st.b || 0, lm = st.l, dm = st.d, lbt = st.m, dbt = st.n;\n // total bits\n var tbts = sl * 8;\n do {\n if (!lm) {\n // BFINAL - this is only 1 when last chunk is next\n final = bits(dat, pos, 1);\n // type: 0 = no compression, 1 = fixed huffman, 2 = dynamic huffman\n var type = bits(dat, pos + 1, 3);\n pos += 3;\n if (!type) {\n // go to end of byte boundary\n var s = shft(pos) + 4, l = dat[s - 4] | (dat[s - 3] << 8), t = s + l;\n if (t > sl) {\n if (noSt)\n err(0);\n break;\n }\n // ensure size\n if (resize)\n cbuf(bt + l);\n // Copy over uncompressed data\n buf.set(dat.subarray(s, t), bt);\n // Get new bitpos, update byte count\n st.b = bt += l, st.p = pos = t * 8, st.f = final;\n continue;\n }\n else if (type == 1)\n lm = flrm, dm = fdrm, lbt = 9, dbt = 5;\n else if (type == 2) {\n // literal lengths\n var hLit = bits(dat, pos, 31) + 257, hcLen = bits(dat, pos + 10, 15) + 4;\n var tl = hLit + bits(dat, pos + 5, 31) + 1;\n pos += 14;\n // length+distance tree\n var ldt = new u8(tl);\n // code length tree\n var clt = new u8(19);\n for (var i = 0; i < hcLen; ++i) {\n // use index map to get real code\n clt[clim[i]] = bits(dat, pos + i * 3, 7);\n }\n pos += hcLen * 3;\n // code lengths bits\n var clb = max(clt), clbmsk = (1 << clb) - 1;\n // code lengths map\n var clm = hMap(clt, clb, 1);\n for (var i = 0; i < tl;) {\n var r = clm[bits(dat, pos, clbmsk)];\n // bits read\n pos += r & 15;\n // symbol\n var s = r >> 4;\n // code length to copy\n if (s < 16) {\n ldt[i++] = s;\n }\n else {\n // copy count\n var c = 0, n = 0;\n if (s == 16)\n n = 3 + bits(dat, pos, 3), pos += 2, c = ldt[i - 1];\n else if (s == 17)\n n = 3 + bits(dat, pos, 7), pos += 3;\n else if (s == 18)\n n = 11 + bits(dat, pos, 127), pos += 7;\n while (n--)\n ldt[i++] = c;\n }\n }\n // length tree distance tree\n var lt = ldt.subarray(0, hLit), dt = ldt.subarray(hLit);\n // max length bits\n lbt = max(lt);\n // max dist bits\n dbt = max(dt);\n lm = hMap(lt, lbt, 1);\n dm = hMap(dt, dbt, 1);\n }\n else\n err(1);\n if (pos > tbts) {\n if (noSt)\n err(0);\n break;\n }\n }\n // Make sure the buffer can hold this + the largest possible addition\n // Maximum chunk size (practically, theoretically infinite) is 2^17\n if (resize)\n cbuf(bt + 131072);\n var lms = (1 << lbt) - 1, dms = (1 << dbt) - 1;\n var lpos = pos;\n for (;; lpos = pos) {\n // bits read, code\n var c = lm[bits16(dat, pos) & lms], sym = c >> 4;\n pos += c & 15;\n if (pos > tbts) {\n if (noSt)\n err(0);\n break;\n }\n if (!c)\n err(2);\n if (sym < 256)\n buf[bt++] = sym;\n else if (sym == 256) {\n lpos = pos, lm = null;\n break;\n }\n else {\n var add = sym - 254;\n // no extra bits needed if less\n if (sym > 264) {\n // index\n var i = sym - 257, b = fleb[i];\n add = bits(dat, pos, (1 << b) - 1) + fl[i];\n pos += b;\n }\n // dist\n var d = dm[bits16(dat, pos) & dms], dsym = d >> 4;\n if (!d)\n err(3);\n pos += d & 15;\n var dt = fd[dsym];\n if (dsym > 3) {\n var b = fdeb[dsym];\n dt += bits16(dat, pos) & (1 << b) - 1, pos += b;\n }\n if (pos > tbts) {\n if (noSt)\n err(0);\n break;\n }\n if (resize)\n cbuf(bt + 131072);\n var end = bt + add;\n if (bt < dt) {\n var shift = dl - dt, dend = Math.min(dt, end);\n if (shift + bt < 0)\n err(3);\n for (; bt < dend; ++bt)\n buf[bt] = dict[shift + bt];\n }\n for (; bt < end; ++bt)\n buf[bt] = buf[bt - dt];\n }\n }\n st.l = lm, st.p = lpos, st.b = bt, st.f = final;\n if (lm)\n final = 1, st.m = lbt, st.d = dm, st.n = dbt;\n } while (!final);\n // don't reallocate for streams or user buffers\n return bt != buf.length && noBuf ? slc(buf, 0, bt) : buf.subarray(0, bt);\n};\n// starting at p, write the minimum number of bits that can hold v to d\nvar wbits = function (d, p, v) {\n v <<= p & 7;\n var o = (p / 8) | 0;\n d[o] |= v;\n d[o + 1] |= v >> 8;\n};\n// starting at p, write the minimum number of bits (>8) that can hold v to d\nvar wbits16 = function (d, p, v) {\n v <<= p & 7;\n var o = (p / 8) | 0;\n d[o] |= v;\n d[o + 1] |= v >> 8;\n d[o + 2] |= v >> 16;\n};\n// creates code lengths from a frequency table\nvar hTree = function (d, mb) {\n // Need extra info to make a tree\n var t = [];\n for (var i = 0; i < d.length; ++i) {\n if (d[i])\n t.push({ s: i, f: d[i] });\n }\n var s = t.length;\n var t2 = t.slice();\n if (!s)\n return { t: et, l: 0 };\n if (s == 1) {\n var v = new u8(t[0].s + 1);\n v[t[0].s] = 1;\n return { t: v, l: 1 };\n }\n t.sort(function (a, b) { return a.f - b.f; });\n // after i2 reaches last ind, will be stopped\n // freq must be greater than largest possible number of symbols\n t.push({ s: -1, f: 25001 });\n var l = t[0], r = t[1], i0 = 0, i1 = 1, i2 = 2;\n t[0] = { s: -1, f: l.f + r.f, l: l, r: r };\n // efficient algorithm from UZIP.js\n // i0 is lookbehind, i2 is lookahead - after processing two low-freq\n // symbols that combined have high freq, will start processing i2 (high-freq,\n // non-composite) symbols instead\n // see https://reddit.com/r/photopea/comments/ikekht/uzipjs_questions/\n while (i1 != s - 1) {\n l = t[t[i0].f < t[i2].f ? i0++ : i2++];\n r = t[i0 != i1 && t[i0].f < t[i2].f ? i0++ : i2++];\n t[i1++] = { s: -1, f: l.f + r.f, l: l, r: r };\n }\n var maxSym = t2[0].s;\n for (var i = 1; i < s; ++i) {\n if (t2[i].s > maxSym)\n maxSym = t2[i].s;\n }\n // code lengths\n var tr = new u16(maxSym + 1);\n // max bits in tree\n var mbt = ln(t[i1 - 1], tr, 0);\n if (mbt > mb) {\n // more algorithms from UZIP.js\n // TODO: find out how this code works (debt)\n // ind debt\n var i = 0, dt = 0;\n // left cost\n var lft = mbt - mb, cst = 1 << lft;\n t2.sort(function (a, b) { return tr[b.s] - tr[a.s] || a.f - b.f; });\n for (; i < s; ++i) {\n var i2_1 = t2[i].s;\n if (tr[i2_1] > mb) {\n dt += cst - (1 << (mbt - tr[i2_1]));\n tr[i2_1] = mb;\n }\n else\n break;\n }\n dt >>= lft;\n while (dt > 0) {\n var i2_2 = t2[i].s;\n if (tr[i2_2] < mb)\n dt -= 1 << (mb - tr[i2_2]++ - 1);\n else\n ++i;\n }\n for (; i >= 0 && dt; --i) {\n var i2_3 = t2[i].s;\n if (tr[i2_3] == mb) {\n --tr[i2_3];\n ++dt;\n }\n }\n mbt = mb;\n }\n return { t: new u8(tr), l: mbt };\n};\n// get the max length and assign length codes\nvar ln = function (n, l, d) {\n return n.s == -1\n ? Math.max(ln(n.l, l, d + 1), ln(n.r, l, d + 1))\n : (l[n.s] = d);\n};\n// length codes generation\nvar lc = function (c) {\n var s = c.length;\n // Note that the semicolon was intentional\n while (s && !c[--s])\n ;\n var cl = new u16(++s);\n // ind num streak\n var cli = 0, cln = c[0], cls = 1;\n var w = function (v) { cl[cli++] = v; };\n for (var i = 1; i <= s; ++i) {\n if (c[i] == cln && i != s)\n ++cls;\n else {\n if (!cln && cls > 2) {\n for (; cls > 138; cls -= 138)\n w(32754);\n if (cls > 2) {\n w(cls > 10 ? ((cls - 11) << 5) | 28690 : ((cls - 3) << 5) | 12305);\n cls = 0;\n }\n }\n else if (cls > 3) {\n w(cln), --cls;\n for (; cls > 6; cls -= 6)\n w(8304);\n if (cls > 2)\n w(((cls - 3) << 5) | 8208), cls = 0;\n }\n while (cls--)\n w(cln);\n cls = 1;\n cln = c[i];\n }\n }\n return { c: cl.subarray(0, cli), n: s };\n};\n// calculate the length of output from tree, code lengths\nvar clen = function (cf, cl) {\n var l = 0;\n for (var i = 0; i < cl.length; ++i)\n l += cf[i] * cl[i];\n return l;\n};\n// writes a fixed block\n// returns the new bit pos\nvar wfblk = function (out, pos, dat) {\n // no need to write 00 as type: TypedArray defaults to 0\n var s = dat.length;\n var o = shft(pos + 2);\n out[o] = s & 255;\n out[o + 1] = s >> 8;\n out[o + 2] = out[o] ^ 255;\n out[o + 3] = out[o + 1] ^ 255;\n for (var i = 0; i < s; ++i)\n out[o + i + 4] = dat[i];\n return (o + 4 + s) * 8;\n};\n// writes a block\nvar wblk = function (dat, out, final, syms, lf, df, eb, li, bs, bl, p) {\n wbits(out, p++, final);\n ++lf[256];\n var _a = hTree(lf, 15), dlt = _a.t, mlb = _a.l;\n var _b = hTree(df, 15), ddt = _b.t, mdb = _b.l;\n var _c = lc(dlt), lclt = _c.c, nlc = _c.n;\n var _d = lc(ddt), lcdt = _d.c, ndc = _d.n;\n var lcfreq = new u16(19);\n for (var i = 0; i < lclt.length; ++i)\n ++lcfreq[lclt[i] & 31];\n for (var i = 0; i < lcdt.length; ++i)\n ++lcfreq[lcdt[i] & 31];\n var _e = hTree(lcfreq, 7), lct = _e.t, mlcb = _e.l;\n var nlcc = 19;\n for (; nlcc > 4 && !lct[clim[nlcc - 1]]; --nlcc)\n ;\n var flen = (bl + 5) << 3;\n var ftlen = clen(lf, flt) + clen(df, fdt) + eb;\n var dtlen = clen(lf, dlt) + clen(df, ddt) + eb + 14 + 3 * nlcc + clen(lcfreq, lct) + 2 * lcfreq[16] + 3 * lcfreq[17] + 7 * lcfreq[18];\n if (bs >= 0 && flen <= ftlen && flen <= dtlen)\n return wfblk(out, p, dat.subarray(bs, bs + bl));\n var lm, ll, dm, dl;\n wbits(out, p, 1 + (dtlen < ftlen)), p += 2;\n if (dtlen < ftlen) {\n lm = hMap(dlt, mlb, 0), ll = dlt, dm = hMap(ddt, mdb, 0), dl = ddt;\n var llm = hMap(lct, mlcb, 0);\n wbits(out, p, nlc - 257);\n wbits(out, p + 5, ndc - 1);\n wbits(out, p + 10, nlcc - 4);\n p += 14;\n for (var i = 0; i < nlcc; ++i)\n wbits(out, p + 3 * i, lct[clim[i]]);\n p += 3 * nlcc;\n var lcts = [lclt, lcdt];\n for (var it = 0; it < 2; ++it) {\n var clct = lcts[it];\n for (var i = 0; i < clct.length; ++i) {\n var len = clct[i] & 31;\n wbits(out, p, llm[len]), p += lct[len];\n if (len > 15)\n wbits(out, p, (clct[i] >> 5) & 127), p += clct[i] >> 12;\n }\n }\n }\n else {\n lm = flm, ll = flt, dm = fdm, dl = fdt;\n }\n for (var i = 0; i < li; ++i) {\n var sym = syms[i];\n if (sym > 255) {\n var len = (sym >> 18) & 31;\n wbits16(out, p, lm[len + 257]), p += ll[len + 257];\n if (len > 7)\n wbits(out, p, (sym >> 23) & 31), p += fleb[len];\n var dst = sym & 31;\n wbits16(out, p, dm[dst]), p += dl[dst];\n if (dst > 3)\n wbits16(out, p, (sym >> 5) & 8191), p += fdeb[dst];\n }\n else {\n wbits16(out, p, lm[sym]), p += ll[sym];\n }\n }\n wbits16(out, p, lm[256]);\n return p + ll[256];\n};\n// deflate options (nice << 13) | chain\nvar deo = /*#__PURE__*/ new i32([65540, 131080, 131088, 131104, 262176, 1048704, 1048832, 2114560, 2117632]);\n// empty\nvar et = /*#__PURE__*/ new u8(0);\n// compresses data into a raw DEFLATE buffer\nvar dflt = function (dat, lvl, plvl, pre, post, st) {\n var s = st.z || dat.length;\n var o = new u8(pre + s + 5 * (1 + Math.ceil(s / 7000)) + post);\n // writing to this writes to the output buffer\n var w = o.subarray(pre, o.length - post);\n var lst = st.l;\n var pos = (st.r || 0) & 7;\n if (lvl) {\n if (pos)\n w[0] = st.r >> 3;\n var opt = deo[lvl - 1];\n var n = opt >> 13, c = opt & 8191;\n var msk_1 = (1 << plvl) - 1;\n // prev 2-byte val map curr 2-byte val map\n var prev = st.p || new u16(32768), head = st.h || new u16(msk_1 + 1);\n var bs1_1 = Math.ceil(plvl / 3), bs2_1 = 2 * bs1_1;\n var hsh = function (i) { return (dat[i] ^ (dat[i + 1] << bs1_1) ^ (dat[i + 2] << bs2_1)) & msk_1; };\n // 24576 is an arbitrary number of maximum symbols per block\n // 424 buffer for last block\n var syms = new i32(25000);\n // length/literal freq distance freq\n var lf = new u16(288), df = new u16(32);\n // l/lcnt exbits index l/lind waitdx blkpos\n var lc_1 = 0, eb = 0, i = st.i || 0, li = 0, wi = st.w || 0, bs = 0;\n for (; i + 2 < s; ++i) {\n // hash value\n var hv = hsh(i);\n // index mod 32768 previous index mod\n var imod = i & 32767, pimod = head[hv];\n prev[imod] = pimod;\n head[hv] = imod;\n // We always should modify head and prev, but only add symbols if\n // this data is not yet processed (\"wait\" for wait index)\n if (wi <= i) {\n // bytes remaining\n var rem = s - i;\n if ((lc_1 > 7000 || li > 24576) && (rem > 423 || !lst)) {\n pos = wblk(dat, w, 0, syms, lf, df, eb, li, bs, i - bs, pos);\n li = lc_1 = eb = 0, bs = i;\n for (var j = 0; j < 286; ++j)\n lf[j] = 0;\n for (var j = 0; j < 30; ++j)\n df[j] = 0;\n }\n // len dist chain\n var l = 2, d = 0, ch_1 = c, dif = imod - pimod & 32767;\n if (rem > 2 && hv == hsh(i - dif)) {\n var maxn = Math.min(n, rem) - 1;\n var maxd = Math.min(32767, i);\n // max possible length\n // not capped at dif because decompressors implement \"rolling\" index population\n var ml = Math.min(258, rem);\n while (dif <= maxd && --ch_1 && imod != pimod) {\n if (dat[i + l] == dat[i + l - dif]) {\n var nl = 0;\n for (; nl < ml && dat[i + nl] == dat[i + nl - dif]; ++nl)\n ;\n if (nl > l) {\n l = nl, d = dif;\n // break out early when we reach \"nice\" (we are satisfied enough)\n if (nl > maxn)\n break;\n // now, find the rarest 2-byte sequence within this\n // length of literals and search for that instead.\n // Much faster than just using the start\n var mmd = Math.min(dif, nl - 2);\n var md = 0;\n for (var j = 0; j < mmd; ++j) {\n var ti = i - dif + j & 32767;\n var pti = prev[ti];\n var cd = ti - pti & 32767;\n if (cd > md)\n md = cd, pimod = ti;\n }\n }\n }\n // check the previous match\n imod = pimod, pimod = prev[imod];\n dif += imod - pimod & 32767;\n }\n }\n // d will be nonzero only when a match was found\n if (d) {\n // store both dist and len data in one int32\n // Make sure this is recognized as a len/dist with 28th bit (2^28)\n syms[li++] = 268435456 | (revfl[l] << 18) | revfd[d];\n var lin = revfl[l] & 31, din = revfd[d] & 31;\n eb += fleb[lin] + fdeb[din];\n ++lf[257 + lin];\n ++df[din];\n wi = i + l;\n ++lc_1;\n }\n else {\n syms[li++] = dat[i];\n ++lf[dat[i]];\n }\n }\n }\n for (i = Math.max(i, wi); i < s; ++i) {\n syms[li++] = dat[i];\n ++lf[dat[i]];\n }\n pos = wblk(dat, w, lst, syms, lf, df, eb, li, bs, i - bs, pos);\n if (!lst) {\n st.r = (pos & 7) | w[(pos / 8) | 0] << 3;\n // shft(pos) now 1 less if pos & 7 != 0\n pos -= 7;\n st.h = head, st.p = prev, st.i = i, st.w = wi;\n }\n }\n else {\n for (var i = st.w || 0; i < s + lst; i += 65535) {\n // end\n var e = i + 65535;\n if (e >= s) {\n // write final block\n w[(pos / 8) | 0] = lst;\n e = s;\n }\n pos = wfblk(w, pos + 1, dat.subarray(i, e));\n }\n st.i = s;\n }\n return slc(o, 0, pre + shft(pos) + post);\n};\n// CRC32 table\nvar crct = /*#__PURE__*/ (function () {\n var t = new Int32Array(256);\n for (var i = 0; i < 256; ++i) {\n var c = i, k = 9;\n while (--k)\n c = ((c & 1) && -306674912) ^ (c >>> 1);\n t[i] = c;\n }\n return t;\n})();\n// CRC32\nvar crc = function () {\n var c = -1;\n return {\n p: function (d) {\n // closures have awful performance\n var cr = c;\n for (var i = 0; i < d.length; ++i)\n cr = crct[(cr & 255) ^ d[i]] ^ (cr >>> 8);\n c = cr;\n },\n d: function () { return ~c; }\n };\n};\n// Adler32\nvar adler = function () {\n var a = 1, b = 0;\n return {\n p: function (d) {\n // closures have awful performance\n var n = a, m = b;\n var l = d.length | 0;\n for (var i = 0; i != l;) {\n var e = Math.min(i + 2655, l);\n for (; i < e; ++i)\n m += n += d[i];\n n = (n & 65535) + 15 * (n >> 16), m = (m & 65535) + 15 * (m >> 16);\n }\n a = n, b = m;\n },\n d: function () {\n a %= 65521, b %= 65521;\n return (a & 255) << 24 | (a & 0xFF00) << 8 | (b & 255) << 8 | (b >> 8);\n }\n };\n};\n;\n// deflate with opts\nvar dopt = function (dat, opt, pre, post, st) {\n if (!st) {\n st = { l: 1 };\n if (opt.dictionary) {\n var dict = opt.dictionary.subarray(-32768);\n var newDat = new u8(dict.length + dat.length);\n newDat.set(dict);\n newDat.set(dat, dict.length);\n dat = newDat;\n st.w = dict.length;\n }\n }\n return dflt(dat, opt.level == null ? 6 : opt.level, opt.mem == null ? (st.l ? Math.ceil(Math.max(8, Math.min(13, Math.log(dat.length))) * 1.5) : 20) : (12 + opt.mem), pre, post, st);\n};\n// Walmart object spread\nvar mrg = function (a, b) {\n var o = {};\n for (var k in a)\n o[k] = a[k];\n for (var k in b)\n o[k] = b[k];\n return o;\n};\n// worker clone\n// This is possibly the craziest part of the entire codebase, despite how simple it may seem.\n// The only parameter to this function is a closure that returns an array of variables outside of the function scope.\n// We're going to try to figure out the variable names used in the closure as strings because that is crucial for workerization.\n// We will return an object mapping of true variable name to value (basically, the current scope as a JS object).\n// The reason we can't just use the original variable names is minifiers mangling the toplevel scope.\n// This took me three weeks to figure out how to do.\nvar wcln = function (fn, fnStr, td) {\n var dt = fn();\n var st = fn.toString();\n var ks = st.slice(st.indexOf('[') + 1, st.lastIndexOf(']')).replace(/\\s+/g, '').split(',');\n for (var i = 0; i < dt.length; ++i) {\n var v = dt[i], k = ks[i];\n if (typeof v == 'function') {\n fnStr += ';' + k + '=';\n var st_1 = v.toString();\n if (v.prototype) {\n // for global objects\n if (st_1.indexOf('[native code]') != -1) {\n var spInd = st_1.indexOf(' ', 8) + 1;\n fnStr += st_1.slice(spInd, st_1.indexOf('(', spInd));\n }\n else {\n fnStr += st_1;\n for (var t in v.prototype)\n fnStr += ';' + k + '.prototype.' + t + '=' + v.prototype[t].toString();\n }\n }\n else\n fnStr += st_1;\n }\n else\n td[k] = v;\n }\n return fnStr;\n};\nvar ch = [];\n// clone bufs\nvar cbfs = function (v) {\n var tl = [];\n for (var k in v) {\n if (v[k].buffer) {\n tl.push((v[k] = new v[k].constructor(v[k])).buffer);\n }\n }\n return tl;\n};\n// use a worker to execute code\nvar wrkr = function (fns, init, id, cb) {\n if (!ch[id]) {\n var fnStr = '', td_1 = {}, m = fns.length - 1;\n for (var i = 0; i < m; ++i)\n fnStr = wcln(fns[i], fnStr, td_1);\n ch[id] = { c: wcln(fns[m], fnStr, td_1), e: td_1 };\n }\n var td = mrg({}, ch[id].e);\n return wk(ch[id].c + ';onmessage=function(e){for(var k in e.data)self[k]=e.data[k];onmessage=' + init.toString() + '}', id, td, cbfs(td), cb);\n};\n// base async inflate fn\nvar bInflt = function () { return [u8, u16, i32, fleb, fdeb, clim, fl, fd, flrm, fdrm, rev, ec, hMap, max, bits, bits16, shft, slc, err, inflt, inflateSync, pbf, gopt]; };\nvar bDflt = function () { return [u8, u16, i32, fleb, fdeb, clim, revfl, revfd, flm, flt, fdm, fdt, rev, deo, et, hMap, wbits, wbits16, hTree, ln, lc, clen, wfblk, wblk, shft, slc, dflt, dopt, deflateSync, pbf]; };\n// gzip extra\nvar gze = function () { return [gzh, gzhl, wbytes, crc, crct]; };\n// gunzip extra\nvar guze = function () { return [gzs, gzl]; };\n// zlib extra\nvar zle = function () { return [zlh, wbytes, adler]; };\n// unzlib extra\nvar zule = function () { return [zls]; };\n// post buf\nvar pbf = function (msg) { return postMessage(msg, [msg.buffer]); };\n// get opts\nvar gopt = function (o) { return o && {\n out: o.size && new u8(o.size),\n dictionary: o.dictionary\n}; };\n// async helper\nvar cbify = function (dat, opts, fns, init, id, cb) {\n var w = wrkr(fns, init, id, function (err, dat) {\n w.terminate();\n cb(err, dat);\n });\n w.postMessage([dat, opts], opts.consume ? [dat.buffer] : []);\n return function () { w.terminate(); };\n};\n// auto stream\nvar astrm = function (strm) {\n strm.ondata = function (dat, final) { return postMessage([dat, final], [dat.buffer]); };\n return function (ev) {\n if (ev.data.length) {\n strm.push(ev.data[0], ev.data[1]);\n postMessage([ev.data[0].length]);\n }\n else\n strm.flush();\n };\n};\n// async stream attach\nvar astrmify = function (fns, strm, opts, init, id, flush, ext) {\n var t;\n var w = wrkr(fns, init, id, function (err, dat) {\n if (err)\n w.terminate(), strm.ondata.call(strm, err);\n else if (!Array.isArray(dat))\n ext(dat);\n else if (dat.length == 1) {\n strm.queuedSize -= dat[0];\n if (strm.ondrain)\n strm.ondrain(dat[0]);\n }\n else {\n if (dat[1])\n w.terminate();\n strm.ondata.call(strm, err, dat[0], dat[1]);\n }\n });\n w.postMessage(opts);\n strm.queuedSize = 0;\n strm.push = function (d, f) {\n if (!strm.ondata)\n err(5);\n if (t)\n strm.ondata(err(4, 0, 1), null, !!f);\n strm.queuedSize += d.length;\n w.postMessage([d, t = f], [d.buffer]);\n };\n strm.terminate = function () { w.terminate(); };\n if (flush) {\n strm.flush = function () { w.postMessage([]); };\n }\n};\n// read 2 bytes\nvar b2 = function (d, b) { return d[b] | (d[b + 1] << 8); };\n// read 4 bytes\nvar b4 = function (d, b) { return (d[b] | (d[b + 1] << 8) | (d[b + 2] << 16) | (d[b + 3] << 24)) >>> 0; };\nvar b8 = function (d, b) { return b4(d, b) + (b4(d, b + 4) * 4294967296); };\n// write bytes\nvar wbytes = function (d, b, v) {\n for (; v; ++b)\n d[b] = v, v >>>= 8;\n};\n// gzip header\nvar gzh = function (c, o) {\n var fn = o.filename;\n c[0] = 31, c[1] = 139, c[2] = 8, c[8] = o.level < 2 ? 4 : o.level == 9 ? 2 : 0, c[9] = 3; // assume Unix\n if (o.mtime != 0)\n wbytes(c, 4, Math.floor(new Date(o.mtime || Date.now()) / 1000));\n if (fn) {\n c[3] = 8;\n for (var i = 0; i <= fn.length; ++i)\n c[i + 10] = fn.charCodeAt(i);\n }\n};\n// gzip footer: -8 to -4 = CRC, -4 to -0 is length\n// gzip start\nvar gzs = function (d) {\n if (d[0] != 31 || d[1] != 139 || d[2] != 8)\n err(6, 'invalid gzip data');\n var flg = d[3];\n var st = 10;\n if (flg & 4)\n st += (d[10] | d[11] << 8) + 2;\n for (var zs = (flg >> 3 & 1) + (flg >> 4 & 1); zs > 0; zs -= !d[st++])\n ;\n return st + (flg & 2);\n};\n// gzip length\nvar gzl = function (d) {\n var l = d.length;\n return (d[l - 4] | d[l - 3] << 8 | d[l - 2] << 16 | d[l - 1] << 24) >>> 0;\n};\n// gzip header length\nvar gzhl = function (o) { return 10 + (o.filename ? o.filename.length + 1 : 0); };\n// zlib header\nvar zlh = function (c, o) {\n var lv = o.level, fl = lv == 0 ? 0 : lv < 6 ? 1 : lv == 9 ? 3 : 2;\n c[0] = 120, c[1] = (fl << 6) | (o.dictionary && 32);\n c[1] |= 31 - ((c[0] << 8) | c[1]) % 31;\n if (o.dictionary) {\n var h = adler();\n h.p(o.dictionary);\n wbytes(c, 2, h.d());\n }\n};\n// zlib start\nvar zls = function (d, dict) {\n if ((d[0] & 15) != 8 || (d[0] >> 4) > 7 || ((d[0] << 8 | d[1]) % 31))\n err(6, 'invalid zlib data');\n if ((d[1] >> 5 & 1) == +!dict)\n err(6, 'invalid zlib data: ' + (d[1] & 32 ? 'need' : 'unexpected') + ' dictionary');\n return (d[1] >> 3 & 4) + 2;\n};\nfunction StrmOpt(opts, cb) {\n if (typeof opts == 'function')\n cb = opts, opts = {};\n this.ondata = cb;\n return opts;\n}\n/**\n * Streaming DEFLATE compression\n */\nvar Deflate = /*#__PURE__*/ (function () {\n function Deflate(opts, cb) {\n if (typeof opts == 'function')\n cb = opts, opts = {};\n this.ondata = cb;\n this.o = opts || {};\n this.s = { l: 0, i: 32768, w: 32768, z: 32768 };\n // Buffer length must always be 0 mod 32768 for index calculations to be correct when modifying head and prev\n // 98304 = 32768 (lookback) + 65536 (common chunk size)\n this.b = new u8(98304);\n if (this.o.dictionary) {\n var dict = this.o.dictionary.subarray(-32768);\n this.b.set(dict, 32768 - dict.length);\n this.s.i = 32768 - dict.length;\n }\n }\n Deflate.prototype.p = function (c, f) {\n this.ondata(dopt(c, this.o, 0, 0, this.s), f);\n };\n /**\n * Pushes a chunk to be deflated\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Deflate.prototype.push = function (chunk, final) {\n if (!this.ondata)\n err(5);\n if (this.s.l)\n err(4);\n var endLen = chunk.length + this.s.z;\n if (endLen > this.b.length) {\n if (endLen > 2 * this.b.length - 32768) {\n var newBuf = new u8(endLen & -32768);\n newBuf.set(this.b.subarray(0, this.s.z));\n this.b = newBuf;\n }\n var split = this.b.length - this.s.z;\n this.b.set(chunk.subarray(0, split), this.s.z);\n this.s.z = this.b.length;\n this.p(this.b, false);\n this.b.set(this.b.subarray(-32768));\n this.b.set(chunk.subarray(split), 32768);\n this.s.z = chunk.length - split + 32768;\n this.s.i = 32766, this.s.w = 32768;\n }\n else {\n this.b.set(chunk, this.s.z);\n this.s.z += chunk.length;\n }\n this.s.l = final & 1;\n if (this.s.z > this.s.w + 8191 || final) {\n this.p(this.b, final || false);\n this.s.w = this.s.i, this.s.i -= 2;\n }\n };\n /**\n * Flushes buffered uncompressed data. Useful to immediately retrieve the\n * deflated output for small inputs.\n */\n Deflate.prototype.flush = function () {\n if (!this.ondata)\n err(5);\n if (this.s.l)\n err(4);\n this.p(this.b, false);\n this.s.w = this.s.i, this.s.i -= 2;\n };\n return Deflate;\n}());\nexport { Deflate };\n/**\n * Asynchronous streaming DEFLATE compression\n */\nvar AsyncDeflate = /*#__PURE__*/ (function () {\n function AsyncDeflate(opts, cb) {\n astrmify([\n bDflt,\n function () { return [astrm, Deflate]; }\n ], this, StrmOpt.call(this, opts, cb), function (ev) {\n var strm = new Deflate(ev.data);\n onmessage = astrm(strm);\n }, 6, 1);\n }\n return AsyncDeflate;\n}());\nexport { AsyncDeflate };\nexport function deflate(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return cbify(data, opts, [\n bDflt,\n ], function (ev) { return pbf(deflateSync(ev.data[0], ev.data[1])); }, 0, cb);\n}\n/**\n * Compresses data with DEFLATE without any wrapper\n * @param data The data to compress\n * @param opts The compression options\n * @returns The deflated version of the data\n */\nexport function deflateSync(data, opts) {\n return dopt(data, opts || {}, 0, 0);\n}\n/**\n * Streaming DEFLATE decompression\n */\nvar Inflate = /*#__PURE__*/ (function () {\n function Inflate(opts, cb) {\n // no StrmOpt here to avoid adding to workerizer\n if (typeof opts == 'function')\n cb = opts, opts = {};\n this.ondata = cb;\n var dict = opts && opts.dictionary && opts.dictionary.subarray(-32768);\n this.s = { i: 0, b: dict ? dict.length : 0 };\n this.o = new u8(32768);\n this.p = new u8(0);\n if (dict)\n this.o.set(dict);\n }\n Inflate.prototype.e = function (c) {\n if (!this.ondata)\n err(5);\n if (this.d)\n err(4);\n if (!this.p.length)\n this.p = c;\n else if (c.length) {\n var n = new u8(this.p.length + c.length);\n n.set(this.p), n.set(c, this.p.length), this.p = n;\n }\n };\n Inflate.prototype.c = function (final) {\n this.s.i = +(this.d = final || false);\n var bts = this.s.b;\n var dt = inflt(this.p, this.s, this.o);\n this.ondata(slc(dt, bts, this.s.b), this.d);\n this.o = slc(dt, this.s.b - 32768), this.s.b = this.o.length;\n this.p = slc(this.p, (this.s.p / 8) | 0), this.s.p &= 7;\n };\n /**\n * Pushes a chunk to be inflated\n * @param chunk The chunk to push\n * @param final Whether this is the final chunk\n */\n Inflate.prototype.push = function (chunk, final) {\n this.e(chunk), this.c(final);\n };\n return Inflate;\n}());\nexport { Inflate };\n/**\n * Asynchronous streaming DEFLATE decompression\n */\nvar AsyncInflate = /*#__PURE__*/ (function () {\n function AsyncInflate(opts, cb) {\n astrmify([\n bInflt,\n function () { return [astrm, Inflate]; }\n ], this, StrmOpt.call(this, opts, cb), function (ev) {\n var strm = new Inflate(ev.data);\n onmessage = astrm(strm);\n }, 7, 0);\n }\n return AsyncInflate;\n}());\nexport { AsyncInflate };\nexport function inflate(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return cbify(data, opts, [\n bInflt\n ], function (ev) { return pbf(inflateSync(ev.data[0], gopt(ev.data[1]))); }, 1, cb);\n}\n/**\n * Expands DEFLATE data with no wrapper\n * @param data The data to decompress\n * @param opts The decompression options\n * @returns The decompressed version of the data\n */\nexport function inflateSync(data, opts) {\n return inflt(data, { i: 2 }, opts && opts.out, opts && opts.dictionary);\n}\n// before you yell at me for not just using extends, my reason is that TS inheritance is hard to workerize.\n/**\n * Streaming GZIP compression\n */\nvar Gzip = /*#__PURE__*/ (function () {\n function Gzip(opts, cb) {\n this.c = crc();\n this.l = 0;\n this.v = 1;\n Deflate.call(this, opts, cb);\n }\n /**\n * Pushes a chunk to be GZIPped\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Gzip.prototype.push = function (chunk, final) {\n this.c.p(chunk);\n this.l += chunk.length;\n Deflate.prototype.push.call(this, chunk, final);\n };\n Gzip.prototype.p = function (c, f) {\n var raw = dopt(c, this.o, this.v && gzhl(this.o), f && 8, this.s);\n if (this.v)\n gzh(raw, this.o), this.v = 0;\n if (f)\n wbytes(raw, raw.length - 8, this.c.d()), wbytes(raw, raw.length - 4, this.l);\n this.ondata(raw, f);\n };\n /**\n * Flushes buffered uncompressed data. Useful to immediately retrieve the\n * GZIPped output for small inputs.\n */\n Gzip.prototype.flush = function () {\n Deflate.prototype.flush.call(this);\n };\n return Gzip;\n}());\nexport { Gzip };\n/**\n * Asynchronous streaming GZIP compression\n */\nvar AsyncGzip = /*#__PURE__*/ (function () {\n function AsyncGzip(opts, cb) {\n astrmify([\n bDflt,\n gze,\n function () { return [astrm, Deflate, Gzip]; }\n ], this, StrmOpt.call(this, opts, cb), function (ev) {\n var strm = new Gzip(ev.data);\n onmessage = astrm(strm);\n }, 8, 1);\n }\n return AsyncGzip;\n}());\nexport { AsyncGzip };\nexport function gzip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return cbify(data, opts, [\n bDflt,\n gze,\n function () { return [gzipSync]; }\n ], function (ev) { return pbf(gzipSync(ev.data[0], ev.data[1])); }, 2, cb);\n}\n/**\n * Compresses data with GZIP\n * @param data The data to compress\n * @param opts The compression options\n * @returns The gzipped version of the data\n */\nexport function gzipSync(data, opts) {\n if (!opts)\n opts = {};\n var c = crc(), l = data.length;\n c.p(data);\n var d = dopt(data, opts, gzhl(opts), 8), s = d.length;\n return gzh(d, opts), wbytes(d, s - 8, c.d()), wbytes(d, s - 4, l), d;\n}\n/**\n * Streaming single or multi-member GZIP decompression\n */\nvar Gunzip = /*#__PURE__*/ (function () {\n function Gunzip(opts, cb) {\n this.v = 1;\n this.r = 0;\n Inflate.call(this, opts, cb);\n }\n /**\n * Pushes a chunk to be GUNZIPped\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Gunzip.prototype.push = function (chunk, final) {\n Inflate.prototype.e.call(this, chunk);\n this.r += chunk.length;\n if (this.v) {\n var p = this.p.subarray(this.v - 1);\n var s = p.length > 3 ? gzs(p) : 4;\n if (s > p.length) {\n if (!final)\n return;\n }\n else if (this.v > 1 && this.onmember) {\n this.onmember(this.r - p.length);\n }\n this.p = p.subarray(s), this.v = 0;\n }\n // necessary to prevent TS from using the closure value\n // This allows for workerization to function correctly\n Inflate.prototype.c.call(this, final);\n // process concatenated GZIP\n if (this.s.f && !this.s.l && !final) {\n this.v = shft(this.s.p) + 9;\n this.s = { i: 0 };\n this.o = new u8(0);\n this.push(new u8(0), final);\n }\n };\n return Gunzip;\n}());\nexport { Gunzip };\n/**\n * Asynchronous streaming single or multi-member GZIP decompression\n */\nvar AsyncGunzip = /*#__PURE__*/ (function () {\n function AsyncGunzip(opts, cb) {\n var _this = this;\n astrmify([\n bInflt,\n guze,\n function () { return [astrm, Inflate, Gunzip]; }\n ], this, StrmOpt.call(this, opts, cb), function (ev) {\n var strm = new Gunzip(ev.data);\n strm.onmember = function (offset) { return postMessage(offset); };\n onmessage = astrm(strm);\n }, 9, 0, function (offset) { return _this.onmember && _this.onmember(offset); });\n }\n return AsyncGunzip;\n}());\nexport { AsyncGunzip };\nexport function gunzip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return cbify(data, opts, [\n bInflt,\n guze,\n function () { return [gunzipSync]; }\n ], function (ev) { return pbf(gunzipSync(ev.data[0], ev.data[1])); }, 3, cb);\n}\n/**\n * Expands GZIP data\n * @param data The data to decompress\n * @param opts The decompression options\n * @returns The decompressed version of the data\n */\nexport function gunzipSync(data, opts) {\n var st = gzs(data);\n if (st + 8 > data.length)\n err(6, 'invalid gzip data');\n return inflt(data.subarray(st, -8), { i: 2 }, opts && opts.out || new u8(gzl(data)), opts && opts.dictionary);\n}\n/**\n * Streaming Zlib compression\n */\nvar Zlib = /*#__PURE__*/ (function () {\n function Zlib(opts, cb) {\n this.c = adler();\n this.v = 1;\n Deflate.call(this, opts, cb);\n }\n /**\n * Pushes a chunk to be zlibbed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Zlib.prototype.push = function (chunk, final) {\n this.c.p(chunk);\n Deflate.prototype.push.call(this, chunk, final);\n };\n Zlib.prototype.p = function (c, f) {\n var raw = dopt(c, this.o, this.v && (this.o.dictionary ? 6 : 2), f && 4, this.s);\n if (this.v)\n zlh(raw, this.o), this.v = 0;\n if (f)\n wbytes(raw, raw.length - 4, this.c.d());\n this.ondata(raw, f);\n };\n /**\n * Flushes buffered uncompressed data. Useful to immediately retrieve the\n * zlibbed output for small inputs.\n */\n Zlib.prototype.flush = function () {\n Deflate.prototype.flush.call(this);\n };\n return Zlib;\n}());\nexport { Zlib };\n/**\n * Asynchronous streaming Zlib compression\n */\nvar AsyncZlib = /*#__PURE__*/ (function () {\n function AsyncZlib(opts, cb) {\n astrmify([\n bDflt,\n zle,\n function () { return [astrm, Deflate, Zlib]; }\n ], this, StrmOpt.call(this, opts, cb), function (ev) {\n var strm = new Zlib(ev.data);\n onmessage = astrm(strm);\n }, 10, 1);\n }\n return AsyncZlib;\n}());\nexport { AsyncZlib };\nexport function zlib(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return cbify(data, opts, [\n bDflt,\n zle,\n function () { return [zlibSync]; }\n ], function (ev) { return pbf(zlibSync(ev.data[0], ev.data[1])); }, 4, cb);\n}\n/**\n * Compress data with Zlib\n * @param data The data to compress\n * @param opts The compression options\n * @returns The zlib-compressed version of the data\n */\nexport function zlibSync(data, opts) {\n if (!opts)\n opts = {};\n var a = adler();\n a.p(data);\n var d = dopt(data, opts, opts.dictionary ? 6 : 2, 4);\n return zlh(d, opts), wbytes(d, d.length - 4, a.d()), d;\n}\n/**\n * Streaming Zlib decompression\n */\nvar Unzlib = /*#__PURE__*/ (function () {\n function Unzlib(opts, cb) {\n Inflate.call(this, opts, cb);\n this.v = opts && opts.dictionary ? 2 : 1;\n }\n /**\n * Pushes a chunk to be unzlibbed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Unzlib.prototype.push = function (chunk, final) {\n Inflate.prototype.e.call(this, chunk);\n if (this.v) {\n if (this.p.length < 6 && !final)\n return;\n this.p = this.p.subarray(zls(this.p, this.v - 1)), this.v = 0;\n }\n if (final) {\n if (this.p.length < 4)\n err(6, 'invalid zlib data');\n this.p = this.p.subarray(0, -4);\n }\n // necessary to prevent TS from using the closure value\n // This allows for workerization to function correctly\n Inflate.prototype.c.call(this, final);\n };\n return Unzlib;\n}());\nexport { Unzlib };\n/**\n * Asynchronous streaming Zlib decompression\n */\nvar AsyncUnzlib = /*#__PURE__*/ (function () {\n function AsyncUnzlib(opts, cb) {\n astrmify([\n bInflt,\n zule,\n function () { return [astrm, Inflate, Unzlib]; }\n ], this, StrmOpt.call(this, opts, cb), function (ev) {\n var strm = new Unzlib(ev.data);\n onmessage = astrm(strm);\n }, 11, 0);\n }\n return AsyncUnzlib;\n}());\nexport { AsyncUnzlib };\nexport function unzlib(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return cbify(data, opts, [\n bInflt,\n zule,\n function () { return [unzlibSync]; }\n ], function (ev) { return pbf(unzlibSync(ev.data[0], gopt(ev.data[1]))); }, 5, cb);\n}\n/**\n * Expands Zlib data\n * @param data The data to decompress\n * @param opts The decompression options\n * @returns The decompressed version of the data\n */\nexport function unzlibSync(data, opts) {\n return inflt(data.subarray(zls(data, opts && opts.dictionary), -4), { i: 2 }, opts && opts.out, opts && opts.dictionary);\n}\n// Default algorithm for compression (used because having a known output size allows faster decompression)\nexport { gzip as compress, AsyncGzip as AsyncCompress };\nexport { gzipSync as compressSync, Gzip as Compress };\n/**\n * Streaming GZIP, Zlib, or raw DEFLATE decompression\n */\nvar Decompress = /*#__PURE__*/ (function () {\n function Decompress(opts, cb) {\n this.o = StrmOpt.call(this, opts, cb) || {};\n this.G = Gunzip;\n this.I = Inflate;\n this.Z = Unzlib;\n }\n // init substream\n // overriden by AsyncDecompress\n Decompress.prototype.i = function () {\n var _this = this;\n this.s.ondata = function (dat, final) {\n _this.ondata(dat, final);\n };\n };\n /**\n * Pushes a chunk to be decompressed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Decompress.prototype.push = function (chunk, final) {\n if (!this.ondata)\n err(5);\n if (!this.s) {\n if (this.p && this.p.length) {\n var n = new u8(this.p.length + chunk.length);\n n.set(this.p), n.set(chunk, this.p.length);\n }\n else\n this.p = chunk;\n if (this.p.length > 2) {\n this.s = (this.p[0] == 31 && this.p[1] == 139 && this.p[2] == 8)\n ? new this.G(this.o)\n : ((this.p[0] & 15) != 8 || (this.p[0] >> 4) > 7 || ((this.p[0] << 8 | this.p[1]) % 31))\n ? new this.I(this.o)\n : new this.Z(this.o);\n this.i();\n this.s.push(this.p, final);\n this.p = null;\n }\n }\n else\n this.s.push(chunk, final);\n };\n return Decompress;\n}());\nexport { Decompress };\n/**\n * Asynchronous streaming GZIP, Zlib, or raw DEFLATE decompression\n */\nvar AsyncDecompress = /*#__PURE__*/ (function () {\n function AsyncDecompress(opts, cb) {\n Decompress.call(this, opts, cb);\n this.queuedSize = 0;\n this.G = AsyncGunzip;\n this.I = AsyncInflate;\n this.Z = AsyncUnzlib;\n }\n AsyncDecompress.prototype.i = function () {\n var _this = this;\n this.s.ondata = function (err, dat, final) {\n _this.ondata(err, dat, final);\n };\n this.s.ondrain = function (size) {\n _this.queuedSize -= size;\n if (_this.ondrain)\n _this.ondrain(size);\n };\n };\n /**\n * Pushes a chunk to be decompressed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n AsyncDecompress.prototype.push = function (chunk, final) {\n this.queuedSize += chunk.length;\n Decompress.prototype.push.call(this, chunk, final);\n };\n return AsyncDecompress;\n}());\nexport { AsyncDecompress };\nexport function decompress(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return (data[0] == 31 && data[1] == 139 && data[2] == 8)\n ? gunzip(data, opts, cb)\n : ((data[0] & 15) != 8 || (data[0] >> 4) > 7 || ((data[0] << 8 | data[1]) % 31))\n ? inflate(data, opts, cb)\n : unzlib(data, opts, cb);\n}\n/**\n * Expands compressed GZIP, Zlib, or raw DEFLATE data, automatically detecting the format\n * @param data The data to decompress\n * @param opts The decompression options\n * @returns The decompressed version of the data\n */\nexport function decompressSync(data, opts) {\n return (data[0] == 31 && data[1] == 139 && data[2] == 8)\n ? gunzipSync(data, opts)\n : ((data[0] & 15) != 8 || (data[0] >> 4) > 7 || ((data[0] << 8 | data[1]) % 31))\n ? inflateSync(data, opts)\n : unzlibSync(data, opts);\n}\n// flatten a directory structure\nvar fltn = function (d, p, t, o) {\n for (var k in d) {\n var val = d[k], n = p + k, op = o;\n if (Array.isArray(val))\n op = mrg(o, val[1]), val = val[0];\n if (val instanceof u8)\n t[n] = [val, op];\n else {\n t[n += '/'] = [new u8(0), op];\n fltn(val, n, t, o);\n }\n }\n};\n// text encoder\nvar te = typeof TextEncoder != 'undefined' && /*#__PURE__*/ new TextEncoder();\n// text decoder\nvar td = typeof TextDecoder != 'undefined' && /*#__PURE__*/ new TextDecoder();\n// text decoder stream\nvar tds = 0;\ntry {\n td.decode(et, { stream: true });\n tds = 1;\n}\ncatch (e) { }\n// decode UTF8\nvar dutf8 = function (d) {\n for (var r = '', i = 0;;) {\n var c = d[i++];\n var eb = (c > 127) + (c > 223) + (c > 239);\n if (i + eb > d.length)\n return { s: r, r: slc(d, i - 1) };\n if (!eb)\n r += String.fromCharCode(c);\n else if (eb == 3) {\n c = ((c & 15) << 18 | (d[i++] & 63) << 12 | (d[i++] & 63) << 6 | (d[i++] & 63)) - 65536,\n r += String.fromCharCode(55296 | (c >> 10), 56320 | (c & 1023));\n }\n else if (eb & 1)\n r += String.fromCharCode((c & 31) << 6 | (d[i++] & 63));\n else\n r += String.fromCharCode((c & 15) << 12 | (d[i++] & 63) << 6 | (d[i++] & 63));\n }\n};\n/**\n * Streaming UTF-8 decoding\n */\nvar DecodeUTF8 = /*#__PURE__*/ (function () {\n /**\n * Creates a UTF-8 decoding stream\n * @param cb The callback to call whenever data is decoded\n */\n function DecodeUTF8(cb) {\n this.ondata = cb;\n if (tds)\n this.t = new TextDecoder();\n else\n this.p = et;\n }\n /**\n * Pushes a chunk to be decoded from UTF-8 binary\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n DecodeUTF8.prototype.push = function (chunk, final) {\n if (!this.ondata)\n err(5);\n final = !!final;\n if (this.t) {\n this.ondata(this.t.decode(chunk, { stream: true }), final);\n if (final) {\n if (this.t.decode().length)\n err(8);\n this.t = null;\n }\n return;\n }\n if (!this.p)\n err(4);\n var dat = new u8(this.p.length + chunk.length);\n dat.set(this.p);\n dat.set(chunk, this.p.length);\n var _a = dutf8(dat), s = _a.s, r = _a.r;\n if (final) {\n if (r.length)\n err(8);\n this.p = null;\n }\n else\n this.p = r;\n this.ondata(s, final);\n };\n return DecodeUTF8;\n}());\nexport { DecodeUTF8 };\n/**\n * Streaming UTF-8 encoding\n */\nvar EncodeUTF8 = /*#__PURE__*/ (function () {\n /**\n * Creates a UTF-8 decoding stream\n * @param cb The callback to call whenever data is encoded\n */\n function EncodeUTF8(cb) {\n this.ondata = cb;\n }\n /**\n * Pushes a chunk to be encoded to UTF-8\n * @param chunk The string data to push\n * @param final Whether this is the last chunk\n */\n EncodeUTF8.prototype.push = function (chunk, final) {\n if (!this.ondata)\n err(5);\n if (this.d)\n err(4);\n this.ondata(strToU8(chunk), this.d = final || false);\n };\n return EncodeUTF8;\n}());\nexport { EncodeUTF8 };\n/**\n * Converts a string into a Uint8Array for use with compression/decompression methods\n * @param str The string to encode\n * @param latin1 Whether or not to interpret the data as Latin-1. This should\n * not need to be true unless decoding a binary string.\n * @returns The string encoded in UTF-8/Latin-1 binary\n */\nexport function strToU8(str, latin1) {\n if (latin1) {\n var ar_1 = new u8(str.length);\n for (var i = 0; i < str.length; ++i)\n ar_1[i] = str.charCodeAt(i);\n return ar_1;\n }\n if (te)\n return te.encode(str);\n var l = str.length;\n var ar = new u8(str.length + (str.length >> 1));\n var ai = 0;\n var w = function (v) { ar[ai++] = v; };\n for (var i = 0; i < l; ++i) {\n if (ai + 5 > ar.length) {\n var n = new u8(ai + 8 + ((l - i) << 1));\n n.set(ar);\n ar = n;\n }\n var c = str.charCodeAt(i);\n if (c < 128 || latin1)\n w(c);\n else if (c < 2048)\n w(192 | (c >> 6)), w(128 | (c & 63));\n else if (c > 55295 && c < 57344)\n c = 65536 + (c & 1023 << 10) | (str.charCodeAt(++i) & 1023),\n w(240 | (c >> 18)), w(128 | ((c >> 12) & 63)), w(128 | ((c >> 6) & 63)), w(128 | (c & 63));\n else\n w(224 | (c >> 12)), w(128 | ((c >> 6) & 63)), w(128 | (c & 63));\n }\n return slc(ar, 0, ai);\n}\n/**\n * Converts a Uint8Array to a string\n * @param dat The data to decode to string\n * @param latin1 Whether or not to interpret the data as Latin-1. This should\n * not need to be true unless encoding to binary string.\n * @returns The original UTF-8/Latin-1 string\n */\nexport function strFromU8(dat, latin1) {\n if (latin1) {\n var r = '';\n for (var i = 0; i < dat.length; i += 16384)\n r += String.fromCharCode.apply(null, dat.subarray(i, i + 16384));\n return r;\n }\n else if (td) {\n return td.decode(dat);\n }\n else {\n var _a = dutf8(dat), s = _a.s, r = _a.r;\n if (r.length)\n err(8);\n return s;\n }\n}\n;\n// deflate bit flag\nvar dbf = function (l) { return l == 1 ? 3 : l < 6 ? 2 : l == 9 ? 1 : 0; };\n// skip local zip header\nvar slzh = function (d, b) { return b + 30 + b2(d, b + 26) + b2(d, b + 28); };\n// read zip header\nvar zh = function (d, b, z) {\n var fnl = b2(d, b + 28), fn = strFromU8(d.subarray(b + 46, b + 46 + fnl), !(b2(d, b + 8) & 2048)), es = b + 46 + fnl, bs = b4(d, b + 20);\n var _a = z && bs == 4294967295 ? z64e(d, es) : [bs, b4(d, b + 24), b4(d, b + 42)], sc = _a[0], su = _a[1], off = _a[2];\n return [b2(d, b + 10), sc, su, fn, es + b2(d, b + 30) + b2(d, b + 32), off];\n};\n// read zip64 extra field\nvar z64e = function (d, b) {\n for (; b2(d, b) != 1; b += 4 + b2(d, b + 2))\n ;\n return [b8(d, b + 12), b8(d, b + 4), b8(d, b + 20)];\n};\n// extra field length\nvar exfl = function (ex) {\n var le = 0;\n if (ex) {\n for (var k in ex) {\n var l = ex[k].length;\n if (l > 65535)\n err(9);\n le += l + 4;\n }\n }\n return le;\n};\n// write zip header\nvar wzh = function (d, b, f, fn, u, c, ce, co) {\n var fl = fn.length, ex = f.extra, col = co && co.length;\n var exl = exfl(ex);\n wbytes(d, b, ce != null ? 0x2014B50 : 0x4034B50), b += 4;\n if (ce != null)\n d[b++] = 20, d[b++] = f.os;\n d[b] = 20, b += 2; // spec compliance? what's that?\n d[b++] = (f.flag << 1) | (c < 0 && 8), d[b++] = u && 8;\n d[b++] = f.compression & 255, d[b++] = f.compression >> 8;\n var dt = new Date(f.mtime == null ? Date.now() : f.mtime), y = dt.getFullYear() - 1980;\n if (y < 0 || y > 119)\n err(10);\n wbytes(d, b, (y << 25) | ((dt.getMonth() + 1) << 21) | (dt.getDate() << 16) | (dt.getHours() << 11) | (dt.getMinutes() << 5) | (dt.getSeconds() >> 1)), b += 4;\n if (c != -1) {\n wbytes(d, b, f.crc);\n wbytes(d, b + 4, c < 0 ? -c - 2 : c);\n wbytes(d, b + 8, f.size);\n }\n wbytes(d, b + 12, fl);\n wbytes(d, b + 14, exl), b += 16;\n if (ce != null) {\n wbytes(d, b, col);\n wbytes(d, b + 6, f.attrs);\n wbytes(d, b + 10, ce), b += 14;\n }\n d.set(fn, b);\n b += fl;\n if (exl) {\n for (var k in ex) {\n var exf = ex[k], l = exf.length;\n wbytes(d, b, +k);\n wbytes(d, b + 2, l);\n d.set(exf, b + 4), b += 4 + l;\n }\n }\n if (col)\n d.set(co, b), b += col;\n return b;\n};\n// write zip footer (end of central directory)\nvar wzf = function (o, b, c, d, e) {\n wbytes(o, b, 0x6054B50); // skip disk\n wbytes(o, b + 8, c);\n wbytes(o, b + 10, c);\n wbytes(o, b + 12, d);\n wbytes(o, b + 16, e);\n};\n/**\n * A pass-through stream to keep data uncompressed in a ZIP archive.\n */\nvar ZipPassThrough = /*#__PURE__*/ (function () {\n /**\n * Creates a pass-through stream that can be added to ZIP archives\n * @param filename The filename to associate with this data stream\n */\n function ZipPassThrough(filename) {\n this.filename = filename;\n this.c = crc();\n this.size = 0;\n this.compression = 0;\n }\n /**\n * Processes a chunk and pushes to the output stream. You can override this\n * method in a subclass for custom behavior, but by default this passes\n * the data through. You must call this.ondata(err, chunk, final) at some\n * point in this method.\n * @param chunk The chunk to process\n * @param final Whether this is the last chunk\n */\n ZipPassThrough.prototype.process = function (chunk, final) {\n this.ondata(null, chunk, final);\n };\n /**\n * Pushes a chunk to be added. If you are subclassing this with a custom\n * compression algorithm, note that you must push data from the source\n * file only, pre-compression.\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n ZipPassThrough.prototype.push = function (chunk, final) {\n if (!this.ondata)\n err(5);\n this.c.p(chunk);\n this.size += chunk.length;\n if (final)\n this.crc = this.c.d();\n this.process(chunk, final || false);\n };\n return ZipPassThrough;\n}());\nexport { ZipPassThrough };\n// I don't extend because TypeScript extension adds 1kB of runtime bloat\n/**\n * Streaming DEFLATE compression for ZIP archives. Prefer using AsyncZipDeflate\n * for better performance\n */\nvar ZipDeflate = /*#__PURE__*/ (function () {\n /**\n * Creates a DEFLATE stream that can be added to ZIP archives\n * @param filename The filename to associate with this data stream\n * @param opts The compression options\n */\n function ZipDeflate(filename, opts) {\n var _this = this;\n if (!opts)\n opts = {};\n ZipPassThrough.call(this, filename);\n this.d = new Deflate(opts, function (dat, final) {\n _this.ondata(null, dat, final);\n });\n this.compression = 8;\n this.flag = dbf(opts.level);\n }\n ZipDeflate.prototype.process = function (chunk, final) {\n try {\n this.d.push(chunk, final);\n }\n catch (e) {\n this.ondata(e, null, final);\n }\n };\n /**\n * Pushes a chunk to be deflated\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n ZipDeflate.prototype.push = function (chunk, final) {\n ZipPassThrough.prototype.push.call(this, chunk, final);\n };\n return ZipDeflate;\n}());\nexport { ZipDeflate };\n/**\n * Asynchronous streaming DEFLATE compression for ZIP archives\n */\nvar AsyncZipDeflate = /*#__PURE__*/ (function () {\n /**\n * Creates an asynchronous DEFLATE stream that can be added to ZIP archives\n * @param filename The filename to associate with this data stream\n * @param opts The compression options\n */\n function AsyncZipDeflate(filename, opts) {\n var _this = this;\n if (!opts)\n opts = {};\n ZipPassThrough.call(this, filename);\n this.d = new AsyncDeflate(opts, function (err, dat, final) {\n _this.ondata(err, dat, final);\n });\n this.compression = 8;\n this.flag = dbf(opts.level);\n this.terminate = this.d.terminate;\n }\n AsyncZipDeflate.prototype.process = function (chunk, final) {\n this.d.push(chunk, final);\n };\n /**\n * Pushes a chunk to be deflated\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n AsyncZipDeflate.prototype.push = function (chunk, final) {\n ZipPassThrough.prototype.push.call(this, chunk, final);\n };\n return AsyncZipDeflate;\n}());\nexport { AsyncZipDeflate };\n// TODO: Better tree shaking\n/**\n * A zippable archive to which files can incrementally be added\n */\nvar Zip = /*#__PURE__*/ (function () {\n /**\n * Creates an empty ZIP archive to which files can be added\n * @param cb The callback to call whenever data for the generated ZIP archive\n * is available\n */\n function Zip(cb) {\n this.ondata = cb;\n this.u = [];\n this.d = 1;\n }\n /**\n * Adds a file to the ZIP archive\n * @param file The file stream to add\n */\n Zip.prototype.add = function (file) {\n var _this = this;\n if (!this.ondata)\n err(5);\n // finishing or finished\n if (this.d & 2)\n this.ondata(err(4 + (this.d & 1) * 8, 0, 1), null, false);\n else {\n var f = strToU8(file.filename), fl_1 = f.length;\n var com = file.comment, o = com && strToU8(com);\n var u = fl_1 != file.filename.length || (o && (com.length != o.length));\n var hl_1 = fl_1 + exfl(file.extra) + 30;\n if (fl_1 > 65535)\n this.ondata(err(11, 0, 1), null, false);\n var header = new u8(hl_1);\n wzh(header, 0, file, f, u, -1);\n var chks_1 = [header];\n var pAll_1 = function () {\n for (var _i = 0, chks_2 = chks_1; _i < chks_2.length; _i++) {\n var chk = chks_2[_i];\n _this.ondata(null, chk, false);\n }\n chks_1 = [];\n };\n var tr_1 = this.d;\n this.d = 0;\n var ind_1 = this.u.length;\n var uf_1 = mrg(file, {\n f: f,\n u: u,\n o: o,\n t: function () {\n if (file.terminate)\n file.terminate();\n },\n r: function () {\n pAll_1();\n if (tr_1) {\n var nxt = _this.u[ind_1 + 1];\n if (nxt)\n nxt.r();\n else\n _this.d = 1;\n }\n tr_1 = 1;\n }\n });\n var cl_1 = 0;\n file.ondata = function (err, dat, final) {\n if (err) {\n _this.ondata(err, dat, final);\n _this.terminate();\n }\n else {\n cl_1 += dat.length;\n chks_1.push(dat);\n if (final) {\n var dd = new u8(16);\n wbytes(dd, 0, 0x8074B50);\n wbytes(dd, 4, file.crc);\n wbytes(dd, 8, cl_1);\n wbytes(dd, 12, file.size);\n chks_1.push(dd);\n uf_1.c = cl_1, uf_1.b = hl_1 + cl_1 + 16, uf_1.crc = file.crc, uf_1.size = file.size;\n if (tr_1)\n uf_1.r();\n tr_1 = 1;\n }\n else if (tr_1)\n pAll_1();\n }\n };\n this.u.push(uf_1);\n }\n };\n /**\n * Ends the process of adding files and prepares to emit the final chunks.\n * This *must* be called after adding all desired files for the resulting\n * ZIP file to work properly.\n */\n Zip.prototype.end = function () {\n var _this = this;\n if (this.d & 2) {\n this.ondata(err(4 + (this.d & 1) * 8, 0, 1), null, true);\n return;\n }\n if (this.d)\n this.e();\n else\n this.u.push({\n r: function () {\n if (!(_this.d & 1))\n return;\n _this.u.splice(-1, 1);\n _this.e();\n },\n t: function () { }\n });\n this.d = 3;\n };\n Zip.prototype.e = function () {\n var bt = 0, l = 0, tl = 0;\n for (var _i = 0, _a = this.u; _i < _a.length; _i++) {\n var f = _a[_i];\n tl += 46 + f.f.length + exfl(f.extra) + (f.o ? f.o.length : 0);\n }\n var out = new u8(tl + 22);\n for (var _b = 0, _c = this.u; _b < _c.length; _b++) {\n var f = _c[_b];\n wzh(out, bt, f, f.f, f.u, -f.c - 2, l, f.o);\n bt += 46 + f.f.length + exfl(f.extra) + (f.o ? f.o.length : 0), l += f.b;\n }\n wzf(out, bt, this.u.length, tl, l);\n this.ondata(null, out, true);\n this.d = 2;\n };\n /**\n * A method to terminate any internal workers used by the stream. Subsequent\n * calls to add() will fail.\n */\n Zip.prototype.terminate = function () {\n for (var _i = 0, _a = this.u; _i < _a.length; _i++) {\n var f = _a[_i];\n f.t();\n }\n this.d = 2;\n };\n return Zip;\n}());\nexport { Zip };\nexport function zip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n var r = {};\n fltn(data, '', r, opts);\n var k = Object.keys(r);\n var lft = k.length, o = 0, tot = 0;\n var slft = lft, files = new Array(lft);\n var term = [];\n var tAll = function () {\n for (var i = 0; i < term.length; ++i)\n term[i]();\n };\n var cbd = function (a, b) {\n mt(function () { cb(a, b); });\n };\n mt(function () { cbd = cb; });\n var cbf = function () {\n var out = new u8(tot + 22), oe = o, cdl = tot - o;\n tot = 0;\n for (var i = 0; i < slft; ++i) {\n var f = files[i];\n try {\n var l = f.c.length;\n wzh(out, tot, f, f.f, f.u, l);\n var badd = 30 + f.f.length + exfl(f.extra);\n var loc = tot + badd;\n out.set(f.c, loc);\n wzh(out, o, f, f.f, f.u, l, tot, f.m), o += 16 + badd + (f.m ? f.m.length : 0), tot = loc + l;\n }\n catch (e) {\n return cbd(e, null);\n }\n }\n wzf(out, o, files.length, cdl, oe);\n cbd(null, out);\n };\n if (!lft)\n cbf();\n var _loop_1 = function (i) {\n var fn = k[i];\n var _a = r[fn], file = _a[0], p = _a[1];\n var c = crc(), size = file.length;\n c.p(file);\n var f = strToU8(fn), s = f.length;\n var com = p.comment, m = com && strToU8(com), ms = m && m.length;\n var exl = exfl(p.extra);\n var compression = p.level == 0 ? 0 : 8;\n var cbl = function (e, d) {\n if (e) {\n tAll();\n cbd(e, null);\n }\n else {\n var l = d.length;\n files[i] = mrg(p, {\n size: size,\n crc: c.d(),\n c: d,\n f: f,\n m: m,\n u: s != fn.length || (m && (com.length != ms)),\n compression: compression\n });\n o += 30 + s + exl + l;\n tot += 76 + 2 * (s + exl) + (ms || 0) + l;\n if (!--lft)\n cbf();\n }\n };\n if (s > 65535)\n cbl(err(11, 0, 1), null);\n if (!compression)\n cbl(null, file);\n else if (size < 160000) {\n try {\n cbl(null, deflateSync(file, p));\n }\n catch (e) {\n cbl(e, null);\n }\n }\n else\n term.push(deflate(file, p, cbl));\n };\n // Cannot use lft because it can decrease\n for (var i = 0; i < slft; ++i) {\n _loop_1(i);\n }\n return tAll;\n}\n/**\n * Synchronously creates a ZIP file. Prefer using `zip` for better performance\n * with more than one file.\n * @param data The directory structure for the ZIP archive\n * @param opts The main options, merged with per-file options\n * @returns The generated ZIP archive\n */\nexport function zipSync(data, opts) {\n if (!opts)\n opts = {};\n var r = {};\n var files = [];\n fltn(data, '', r, opts);\n var o = 0;\n var tot = 0;\n for (var fn in r) {\n var _a = r[fn], file = _a[0], p = _a[1];\n var compression = p.level == 0 ? 0 : 8;\n var f = strToU8(fn), s = f.length;\n var com = p.comment, m = com && strToU8(com), ms = m && m.length;\n var exl = exfl(p.extra);\n if (s > 65535)\n err(11);\n var d = compression ? deflateSync(file, p) : file, l = d.length;\n var c = crc();\n c.p(file);\n files.push(mrg(p, {\n size: file.length,\n crc: c.d(),\n c: d,\n f: f,\n m: m,\n u: s != fn.length || (m && (com.length != ms)),\n o: o,\n compression: compression\n }));\n o += 30 + s + exl + l;\n tot += 76 + 2 * (s + exl) + (ms || 0) + l;\n }\n var out = new u8(tot + 22), oe = o, cdl = tot - o;\n for (var i = 0; i < files.length; ++i) {\n var f = files[i];\n wzh(out, f.o, f, f.f, f.u, f.c.length);\n var badd = 30 + f.f.length + exfl(f.extra);\n out.set(f.c, f.o + badd);\n wzh(out, o, f, f.f, f.u, f.c.length, f.o, f.m), o += 16 + badd + (f.m ? f.m.length : 0);\n }\n wzf(out, o, files.length, cdl, oe);\n return out;\n}\n/**\n * Streaming pass-through decompression for ZIP archives\n */\nvar UnzipPassThrough = /*#__PURE__*/ (function () {\n function UnzipPassThrough() {\n }\n UnzipPassThrough.prototype.push = function (data, final) {\n this.ondata(null, data, final);\n };\n UnzipPassThrough.compression = 0;\n return UnzipPassThrough;\n}());\nexport { UnzipPassThrough };\n/**\n * Streaming DEFLATE decompression for ZIP archives. Prefer AsyncZipInflate for\n * better performance.\n */\nvar UnzipInflate = /*#__PURE__*/ (function () {\n /**\n * Creates a DEFLATE decompression that can be used in ZIP archives\n */\n function UnzipInflate() {\n var _this = this;\n this.i = new Inflate(function (dat, final) {\n _this.ondata(null, dat, final);\n });\n }\n UnzipInflate.prototype.push = function (data, final) {\n try {\n this.i.push(data, final);\n }\n catch (e) {\n this.ondata(e, null, final);\n }\n };\n UnzipInflate.compression = 8;\n return UnzipInflate;\n}());\nexport { UnzipInflate };\n/**\n * Asynchronous streaming DEFLATE decompression for ZIP archives\n */\nvar AsyncUnzipInflate = /*#__PURE__*/ (function () {\n /**\n * Creates a DEFLATE decompression that can be used in ZIP archives\n */\n function AsyncUnzipInflate(_, sz) {\n var _this = this;\n if (sz < 320000) {\n this.i = new Inflate(function (dat, final) {\n _this.ondata(null, dat, final);\n });\n }\n else {\n this.i = new AsyncInflate(function (err, dat, final) {\n _this.ondata(err, dat, final);\n });\n this.terminate = this.i.terminate;\n }\n }\n AsyncUnzipInflate.prototype.push = function (data, final) {\n if (this.i.terminate)\n data = slc(data, 0);\n this.i.push(data, final);\n };\n AsyncUnzipInflate.compression = 8;\n return AsyncUnzipInflate;\n}());\nexport { AsyncUnzipInflate };\n/**\n * A ZIP archive decompression stream that emits files as they are discovered\n */\nvar Unzip = /*#__PURE__*/ (function () {\n /**\n * Creates a ZIP decompression stream\n * @param cb The callback to call whenever a file in the ZIP archive is found\n */\n function Unzip(cb) {\n this.onfile = cb;\n this.k = [];\n this.o = {\n 0: UnzipPassThrough\n };\n this.p = et;\n }\n /**\n * Pushes a chunk to be unzipped\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Unzip.prototype.push = function (chunk, final) {\n var _this = this;\n if (!this.onfile)\n err(5);\n if (!this.p)\n err(4);\n if (this.c > 0) {\n var len = Math.min(this.c, chunk.length);\n var toAdd = chunk.subarray(0, len);\n this.c -= len;\n if (this.d)\n this.d.push(toAdd, !this.c);\n else\n this.k[0].push(toAdd);\n chunk = chunk.subarray(len);\n if (chunk.length)\n return this.push(chunk, final);\n }\n else {\n var f = 0, i = 0, is = void 0, buf = void 0;\n if (!this.p.length)\n buf = chunk;\n else if (!chunk.length)\n buf = this.p;\n else {\n buf = new u8(this.p.length + chunk.length);\n buf.set(this.p), buf.set(chunk, this.p.length);\n }\n var l = buf.length, oc = this.c, add = oc && this.d;\n var _loop_2 = function () {\n var _a;\n var sig = b4(buf, i);\n if (sig == 0x4034B50) {\n f = 1, is = i;\n this_1.d = null;\n this_1.c = 0;\n var bf = b2(buf, i + 6), cmp_1 = b2(buf, i + 8), u = bf & 2048, dd = bf & 8, fnl = b2(buf, i + 26), es = b2(buf, i + 28);\n if (l > i + 30 + fnl + es) {\n var chks_3 = [];\n this_1.k.unshift(chks_3);\n f = 2;\n var sc_1 = b4(buf, i + 18), su_1 = b4(buf, i + 22);\n var fn_1 = strFromU8(buf.subarray(i + 30, i += 30 + fnl), !u);\n if (sc_1 == 4294967295) {\n _a = dd ? [-2] : z64e(buf, i), sc_1 = _a[0], su_1 = _a[1];\n }\n else if (dd)\n sc_1 = -1;\n i += es;\n this_1.c = sc_1;\n var d_1;\n var file_1 = {\n name: fn_1,\n compression: cmp_1,\n start: function () {\n if (!file_1.ondata)\n err(5);\n if (!sc_1)\n file_1.ondata(null, et, true);\n else {\n var ctr = _this.o[cmp_1];\n if (!ctr)\n file_1.ondata(err(14, 'unknown compression type ' + cmp_1, 1), null, false);\n d_1 = sc_1 < 0 ? new ctr(fn_1) : new ctr(fn_1, sc_1, su_1);\n d_1.ondata = function (err, dat, final) { file_1.ondata(err, dat, final); };\n for (var _i = 0, chks_4 = chks_3; _i < chks_4.length; _i++) {\n var dat = chks_4[_i];\n d_1.push(dat, false);\n }\n if (_this.k[0] == chks_3 && _this.c)\n _this.d = d_1;\n else\n d_1.push(et, true);\n }\n },\n terminate: function () {\n if (d_1 && d_1.terminate)\n d_1.terminate();\n }\n };\n if (sc_1 >= 0)\n file_1.size = sc_1, file_1.originalSize = su_1;\n this_1.onfile(file_1);\n }\n return \"break\";\n }\n else if (oc) {\n if (sig == 0x8074B50) {\n is = i += 12 + (oc == -2 && 8), f = 3, this_1.c = 0;\n return \"break\";\n }\n else if (sig == 0x2014B50) {\n is = i -= 4, f = 3, this_1.c = 0;\n return \"break\";\n }\n }\n };\n var this_1 = this;\n for (; i < l - 4; ++i) {\n var state_1 = _loop_2();\n if (state_1 === \"break\")\n break;\n }\n this.p = et;\n if (oc < 0) {\n var dat = f ? buf.subarray(0, is - 12 - (oc == -2 && 8) - (b4(buf, is - 16) == 0x8074B50 && 4)) : buf.subarray(0, i);\n if (add)\n add.push(dat, !!f);\n else\n this.k[+(f == 2)].push(dat);\n }\n if (f & 2)\n return this.push(buf.subarray(i), final);\n this.p = buf.subarray(i);\n }\n if (final) {\n if (this.c)\n err(13);\n this.p = null;\n }\n };\n /**\n * Registers a decoder with the stream, allowing for files compressed with\n * the compression type provided to be expanded correctly\n * @param decoder The decoder constructor\n */\n Unzip.prototype.register = function (decoder) {\n this.o[decoder.compression] = decoder;\n };\n return Unzip;\n}());\nexport { Unzip };\nvar mt = typeof queueMicrotask == 'function' ? queueMicrotask : typeof setTimeout == 'function' ? setTimeout : function (fn) { fn(); };\nexport function unzip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n var term = [];\n var tAll = function () {\n for (var i = 0; i < term.length; ++i)\n term[i]();\n };\n var files = {};\n var cbd = function (a, b) {\n mt(function () { cb(a, b); });\n };\n mt(function () { cbd = cb; });\n var e = data.length - 22;\n for (; b4(data, e) != 0x6054B50; --e) {\n if (!e || data.length - e > 65558) {\n cbd(err(13, 0, 1), null);\n return tAll;\n }\n }\n ;\n var lft = b2(data, e + 8);\n if (lft) {\n var c = lft;\n var o = b4(data, e + 16);\n var z = o == 4294967295 || c == 65535;\n if (z) {\n var ze = b4(data, e - 12);\n z = b4(data, ze) == 0x6064B50;\n if (z) {\n c = lft = b4(data, ze + 32);\n o = b4(data, ze + 48);\n }\n }\n var fltr = opts && opts.filter;\n var _loop_3 = function (i) {\n var _a = zh(data, o, z), c_1 = _a[0], sc = _a[1], su = _a[2], fn = _a[3], no = _a[4], off = _a[5], b = slzh(data, off);\n o = no;\n var cbl = function (e, d) {\n if (e) {\n tAll();\n cbd(e, null);\n }\n else {\n if (d)\n files[fn] = d;\n if (!--lft)\n cbd(null, files);\n }\n };\n if (!fltr || fltr({\n name: fn,\n size: sc,\n originalSize: su,\n compression: c_1\n })) {\n if (!c_1)\n cbl(null, slc(data, b, b + sc));\n else if (c_1 == 8) {\n var infl = data.subarray(b, b + sc);\n // Synchronously decompress under 512KB, or barely-compressed data\n if (su < 524288 || sc > 0.8 * su) {\n try {\n cbl(null, inflateSync(infl, { out: new u8(su) }));\n }\n catch (e) {\n cbl(e, null);\n }\n }\n else\n term.push(inflate(infl, { size: su }, cbl));\n }\n else\n cbl(err(14, 'unknown compression type ' + c_1, 1), null);\n }\n else\n cbl(null, null);\n };\n for (var i = 0; i < c; ++i) {\n _loop_3(i);\n }\n }\n else\n cbd(null, {});\n return tAll;\n}\n/**\n * Synchronously decompresses a ZIP archive. Prefer using `unzip` for better\n * performance with more than one file.\n * @param data The raw compressed ZIP file\n * @param opts The ZIP extraction options\n * @returns The decompressed files\n */\nexport function unzipSync(data, opts) {\n var files = {};\n var e = data.length - 22;\n for (; b4(data, e) != 0x6054B50; --e) {\n if (!e || data.length - e > 65558)\n err(13);\n }\n ;\n var c = b2(data, e + 8);\n if (!c)\n return {};\n var o = b4(data, e + 16);\n var z = o == 4294967295 || c == 65535;\n if (z) {\n var ze = b4(data, e - 12);\n z = b4(data, ze) == 0x6064B50;\n if (z) {\n c = b4(data, ze + 32);\n o = b4(data, ze + 48);\n }\n }\n var fltr = opts && opts.filter;\n for (var i = 0; i < c; ++i) {\n var _a = zh(data, o, z), c_2 = _a[0], sc = _a[1], su = _a[2], fn = _a[3], no = _a[4], off = _a[5], b = slzh(data, off);\n o = no;\n if (!fltr || fltr({\n name: fn,\n size: sc,\n originalSize: su,\n compression: c_2\n })) {\n if (!c_2)\n files[fn] = slc(data, b, b + sc);\n else if (c_2 == 8)\n files[fn] = inflateSync(data.subarray(b, b + sc), { out: new u8(su) });\n else\n err(14, 'unknown compression type ' + c_2);\n }\n }\n return files;\n}\n","export var globalObject = (function() {\n return \"undefined\" !== typeof window\n ? window\n : \"undefined\" !== typeof global\n ? global\n : \"undefined\" !== typeof self\n ? self\n : this;\n})();\n","import { globalObject } from \"./globalObject.js\";\n\nfunction consoleLog() {\n if (globalObject.console && typeof globalObject.console.log === \"function\") {\n globalObject.console.log.apply(globalObject.console, arguments);\n }\n}\n\nfunction consoleWarn(str) {\n if (globalObject.console) {\n if (typeof globalObject.console.warn === \"function\") {\n globalObject.console.warn.apply(globalObject.console, arguments);\n } else {\n consoleLog.call(null, arguments);\n }\n }\n}\n\nfunction consoleError(str) {\n if (globalObject.console) {\n if (typeof globalObject.console.error === \"function\") {\n globalObject.console.error.apply(globalObject.console, arguments);\n } else {\n consoleLog(str);\n }\n }\n}\nexport var console = {\n log: consoleLog,\n warn: consoleWarn,\n error: consoleError\n};\n","/**\n * @license\n * FileSaver.js\n * A saveAs() FileSaver implementation.\n *\n * By Eli Grey, http://eligrey.com\n *\n * License : https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md (MIT)\n * source : http://purl.eligrey.com/github/FileSaver.js\n */\n\nimport { globalObject as _global } from \"./globalObject.js\";\nimport { console } from \"./console.js\";\n\nfunction bom(blob, opts) {\n if (typeof opts === \"undefined\") opts = { autoBom: false };\n else if (typeof opts !== \"object\") {\n console.warn(\"Deprecated: Expected third argument to be a object\");\n opts = { autoBom: !opts };\n }\n\n // prepend BOM for UTF-8 XML and text/* types (including HTML)\n // note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF\n if (\n opts.autoBom &&\n /^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(\n blob.type\n )\n ) {\n return new Blob([String.fromCharCode(0xfeff), blob], { type: blob.type });\n }\n return blob;\n}\n\nfunction download(url, name, opts) {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url);\n xhr.responseType = \"blob\";\n xhr.onload = function() {\n saveAs(xhr.response, name, opts);\n };\n xhr.onerror = function() {\n console.error(\"could not download file\");\n };\n xhr.send();\n}\n\nfunction corsEnabled(url) {\n var xhr = new XMLHttpRequest();\n // use sync to avoid popup blocker\n xhr.open(\"HEAD\", url, false);\n try {\n xhr.send();\n } catch (e) {}\n return xhr.status >= 200 && xhr.status <= 299;\n}\n\n// `a.click()` doesn't work for all browsers (#465)\nfunction click(node) {\n try {\n node.dispatchEvent(new MouseEvent(\"click\"));\n } catch (e) {\n var evt = document.createEvent(\"MouseEvents\");\n evt.initMouseEvent(\n \"click\",\n true,\n true,\n window,\n 0,\n 0,\n 0,\n 80,\n 20,\n false,\n false,\n false,\n false,\n 0,\n null\n );\n node.dispatchEvent(evt);\n }\n}\n\nvar saveAs =\n _global.saveAs ||\n // probably in some web worker\n (typeof window !== \"object\" || window !== _global\n ? function saveAs() {\n /* noop */\n }\n : // Use download attribute first if possible (#193 Lumia mobile) unless this is a native app\n typeof HTMLAnchorElement !== \"undefined\" &&\n \"download\" in HTMLAnchorElement.prototype\n ? function saveAs(blob, name, opts) {\n var URL = _global.URL || _global.webkitURL;\n var a = document.createElement(\"a\");\n name = name || blob.name || \"download\";\n\n a.download = name;\n a.rel = \"noopener\"; // tabnabbing\n\n // TODO: detect chrome extensions & packaged apps\n // a.target = '_blank'\n\n if (typeof blob === \"string\") {\n // Support regular links\n a.href = blob;\n if (a.origin !== location.origin) {\n corsEnabled(a.href)\n ? download(blob, name, opts)\n : click(a, (a.target = \"_blank\"));\n } else {\n click(a);\n }\n } else {\n // Support blobs\n a.href = URL.createObjectURL(blob);\n setTimeout(function() {\n URL.revokeObjectURL(a.href);\n }, 4e4); // 40s\n setTimeout(function() {\n click(a);\n }, 0);\n }\n }\n : // Use msSaveOrOpenBlob as a second approach\n \"msSaveOrOpenBlob\" in navigator\n ? function saveAs(blob, name, opts) {\n name = name || blob.name || \"download\";\n\n if (typeof blob === \"string\") {\n if (corsEnabled(blob)) {\n download(blob, name, opts);\n } else {\n var a = document.createElement(\"a\");\n a.href = blob;\n a.target = \"_blank\";\n setTimeout(function() {\n click(a);\n });\n }\n } else {\n navigator.msSaveOrOpenBlob(bom(blob, opts), name);\n }\n }\n : // Fallback to using FileReader and a popup\n function saveAs(blob, name, opts, popup) {\n // Open a popup immediately do go around popup blocker\n // Mostly only available on user interaction and the fileReader is async so...\n popup = popup || open(\"\", \"_blank\");\n if (popup) {\n popup.document.title = popup.document.body.innerText =\n \"downloading...\";\n }\n\n if (typeof blob === \"string\") return download(blob, name, opts);\n\n var force = blob.type === \"application/octet-stream\";\n var isSafari =\n /constructor/i.test(_global.HTMLElement) || _global.safari;\n var isChromeIOS = /CriOS\\/[\\d]+/.test(navigator.userAgent);\n\n if (\n (isChromeIOS || (force && isSafari)) &&\n typeof FileReader === \"object\"\n ) {\n // Safari doesn't allow downloading of blob URLs\n var reader = new FileReader();\n reader.onloadend = function() {\n var url = reader.result;\n url = isChromeIOS\n ? url\n : url.replace(/^data:[^;]*;/, \"data:attachment/file;\");\n if (popup) popup.location.href = url;\n else location = url;\n popup = null; // reverse-tabnabbing #460\n };\n reader.readAsDataURL(blob);\n } else {\n var URL = _global.URL || _global.webkitURL;\n var url = URL.createObjectURL(blob);\n if (popup) popup.location = url;\n else location.href = url;\n popup = null; // reverse-tabnabbing #460\n setTimeout(function() {\n URL.revokeObjectURL(url);\n }, 4e4); // 40s\n }\n });\n\nexport { saveAs };\n","import { globalObject } from \"./globalObject.js\";\n\nvar atob, btoa;\n\n(function() {\n atob = globalObject.atob.bind(globalObject);\n btoa = globalObject.btoa.bind(globalObject);\n return;\n\n})();\n\nexport { atob, btoa };\n","/**\n * A class to parse color values\n * @author Stoyan Stefanov \n * {@link http://www.phpied.com/rgb-color-parser-in-javascript/}\n * @license Use it if you like it\n */\n\nfunction RGBColor(color_string) {\n color_string = color_string || \"\";\n this.ok = false;\n\n // strip any leading #\n if (color_string.charAt(0) == \"#\") {\n // remove # if any\n color_string = color_string.substr(1, 6);\n }\n\n color_string = color_string.replace(/ /g, \"\");\n color_string = color_string.toLowerCase();\n\n var channels;\n\n // before getting into regexps, try simple matches\n // and overwrite the input\n var simple_colors = {\n aliceblue: \"f0f8ff\",\n antiquewhite: \"faebd7\",\n aqua: \"00ffff\",\n aquamarine: \"7fffd4\",\n azure: \"f0ffff\",\n beige: \"f5f5dc\",\n bisque: \"ffe4c4\",\n black: \"000000\",\n blanchedalmond: \"ffebcd\",\n blue: \"0000ff\",\n blueviolet: \"8a2be2\",\n brown: \"a52a2a\",\n burlywood: \"deb887\",\n cadetblue: \"5f9ea0\",\n chartreuse: \"7fff00\",\n chocolate: \"d2691e\",\n coral: \"ff7f50\",\n cornflowerblue: \"6495ed\",\n cornsilk: \"fff8dc\",\n crimson: \"dc143c\",\n cyan: \"00ffff\",\n darkblue: \"00008b\",\n darkcyan: \"008b8b\",\n darkgoldenrod: \"b8860b\",\n darkgray: \"a9a9a9\",\n darkgreen: \"006400\",\n darkkhaki: \"bdb76b\",\n darkmagenta: \"8b008b\",\n darkolivegreen: \"556b2f\",\n darkorange: \"ff8c00\",\n darkorchid: \"9932cc\",\n darkred: \"8b0000\",\n darksalmon: \"e9967a\",\n darkseagreen: \"8fbc8f\",\n darkslateblue: \"483d8b\",\n darkslategray: \"2f4f4f\",\n darkturquoise: \"00ced1\",\n darkviolet: \"9400d3\",\n deeppink: \"ff1493\",\n deepskyblue: \"00bfff\",\n dimgray: \"696969\",\n dodgerblue: \"1e90ff\",\n feldspar: \"d19275\",\n firebrick: \"b22222\",\n floralwhite: \"fffaf0\",\n forestgreen: \"228b22\",\n fuchsia: \"ff00ff\",\n gainsboro: \"dcdcdc\",\n ghostwhite: \"f8f8ff\",\n gold: \"ffd700\",\n goldenrod: \"daa520\",\n gray: \"808080\",\n green: \"008000\",\n greenyellow: \"adff2f\",\n honeydew: \"f0fff0\",\n hotpink: \"ff69b4\",\n indianred: \"cd5c5c\",\n indigo: \"4b0082\",\n ivory: \"fffff0\",\n khaki: \"f0e68c\",\n lavender: \"e6e6fa\",\n lavenderblush: \"fff0f5\",\n lawngreen: \"7cfc00\",\n lemonchiffon: \"fffacd\",\n lightblue: \"add8e6\",\n lightcoral: \"f08080\",\n lightcyan: \"e0ffff\",\n lightgoldenrodyellow: \"fafad2\",\n lightgrey: \"d3d3d3\",\n lightgreen: \"90ee90\",\n lightpink: \"ffb6c1\",\n lightsalmon: \"ffa07a\",\n lightseagreen: \"20b2aa\",\n lightskyblue: \"87cefa\",\n lightslateblue: \"8470ff\",\n lightslategray: \"778899\",\n lightsteelblue: \"b0c4de\",\n lightyellow: \"ffffe0\",\n lime: \"00ff00\",\n limegreen: \"32cd32\",\n linen: \"faf0e6\",\n magenta: \"ff00ff\",\n maroon: \"800000\",\n mediumaquamarine: \"66cdaa\",\n mediumblue: \"0000cd\",\n mediumorchid: \"ba55d3\",\n mediumpurple: \"9370d8\",\n mediumseagreen: \"3cb371\",\n mediumslateblue: \"7b68ee\",\n mediumspringgreen: \"00fa9a\",\n mediumturquoise: \"48d1cc\",\n mediumvioletred: \"c71585\",\n midnightblue: \"191970\",\n mintcream: \"f5fffa\",\n mistyrose: \"ffe4e1\",\n moccasin: \"ffe4b5\",\n navajowhite: \"ffdead\",\n navy: \"000080\",\n oldlace: \"fdf5e6\",\n olive: \"808000\",\n olivedrab: \"6b8e23\",\n orange: \"ffa500\",\n orangered: \"ff4500\",\n orchid: \"da70d6\",\n palegoldenrod: \"eee8aa\",\n palegreen: \"98fb98\",\n paleturquoise: \"afeeee\",\n palevioletred: \"d87093\",\n papayawhip: \"ffefd5\",\n peachpuff: \"ffdab9\",\n peru: \"cd853f\",\n pink: \"ffc0cb\",\n plum: \"dda0dd\",\n powderblue: \"b0e0e6\",\n purple: \"800080\",\n red: \"ff0000\",\n rosybrown: \"bc8f8f\",\n royalblue: \"4169e1\",\n saddlebrown: \"8b4513\",\n salmon: \"fa8072\",\n sandybrown: \"f4a460\",\n seagreen: \"2e8b57\",\n seashell: \"fff5ee\",\n sienna: \"a0522d\",\n silver: \"c0c0c0\",\n skyblue: \"87ceeb\",\n slateblue: \"6a5acd\",\n slategray: \"708090\",\n snow: \"fffafa\",\n springgreen: \"00ff7f\",\n steelblue: \"4682b4\",\n tan: \"d2b48c\",\n teal: \"008080\",\n thistle: \"d8bfd8\",\n tomato: \"ff6347\",\n turquoise: \"40e0d0\",\n violet: \"ee82ee\",\n violetred: \"d02090\",\n wheat: \"f5deb3\",\n white: \"ffffff\",\n whitesmoke: \"f5f5f5\",\n yellow: \"ffff00\",\n yellowgreen: \"9acd32\"\n };\n color_string = simple_colors[color_string] || color_string;\n\n // array of color definition objects\n var color_defs = [\n {\n re: /^rgb\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3})\\)$/,\n example: [\"rgb(123, 234, 45)\", \"rgb(255,234,245)\"],\n process: function(bits) {\n return [parseInt(bits[1]), parseInt(bits[2]), parseInt(bits[3])];\n }\n },\n {\n re: /^(\\w{2})(\\w{2})(\\w{2})$/,\n example: [\"#00ff00\", \"336699\"],\n process: function(bits) {\n return [\n parseInt(bits[1], 16),\n parseInt(bits[2], 16),\n parseInt(bits[3], 16)\n ];\n }\n },\n {\n re: /^(\\w{1})(\\w{1})(\\w{1})$/,\n example: [\"#fb0\", \"f0f\"],\n process: function(bits) {\n return [\n parseInt(bits[1] + bits[1], 16),\n parseInt(bits[2] + bits[2], 16),\n parseInt(bits[3] + bits[3], 16)\n ];\n }\n }\n ];\n\n // search through the definitions to find a match\n for (var i = 0; i < color_defs.length; i++) {\n var re = color_defs[i].re;\n var processor = color_defs[i].process;\n var bits = re.exec(color_string);\n if (bits) {\n channels = processor(bits);\n this.r = channels[0];\n this.g = channels[1];\n this.b = channels[2];\n this.ok = true;\n }\n }\n\n // validate/cleanup values\n this.r = this.r < 0 || isNaN(this.r) ? 0 : this.r > 255 ? 255 : this.r;\n this.g = this.g < 0 || isNaN(this.g) ? 0 : this.g > 255 ? 255 : this.g;\n this.b = this.b < 0 || isNaN(this.b) ? 0 : this.b > 255 ? 255 : this.b;\n\n // some getters\n this.toRGB = function() {\n return \"rgb(\" + this.r + \", \" + this.g + \", \" + this.b + \")\";\n };\n this.toHex = function() {\n var r = this.r.toString(16);\n var g = this.g.toString(16);\n var b = this.b.toString(16);\n if (r.length == 1) r = \"0\" + r;\n if (g.length == 1) g = \"0\" + g;\n if (b.length == 1) b = \"0\" + b;\n return \"#\" + r + g + b;\n };\n}\n\nexport { RGBColor };\n","/**\n * @license\n * Joseph Myers does not specify a particular license for his work.\n *\n * Author: Joseph Myers\n * Accessed from: http://www.myersdaily.org/joseph/javascript/md5.js\n *\n * Modified by: Owen Leong\n */\n\nfunction md5cycle(x, k) {\n var a = x[0],\n b = x[1],\n c = x[2],\n d = x[3];\n\n a = ff(a, b, c, d, k[0], 7, -680876936);\n d = ff(d, a, b, c, k[1], 12, -389564586);\n c = ff(c, d, a, b, k[2], 17, 606105819);\n b = ff(b, c, d, a, k[3], 22, -1044525330);\n a = ff(a, b, c, d, k[4], 7, -176418897);\n d = ff(d, a, b, c, k[5], 12, 1200080426);\n c = ff(c, d, a, b, k[6], 17, -1473231341);\n b = ff(b, c, d, a, k[7], 22, -45705983);\n a = ff(a, b, c, d, k[8], 7, 1770035416);\n d = ff(d, a, b, c, k[9], 12, -1958414417);\n c = ff(c, d, a, b, k[10], 17, -42063);\n b = ff(b, c, d, a, k[11], 22, -1990404162);\n a = ff(a, b, c, d, k[12], 7, 1804603682);\n d = ff(d, a, b, c, k[13], 12, -40341101);\n c = ff(c, d, a, b, k[14], 17, -1502002290);\n b = ff(b, c, d, a, k[15], 22, 1236535329);\n\n a = gg(a, b, c, d, k[1], 5, -165796510);\n d = gg(d, a, b, c, k[6], 9, -1069501632);\n c = gg(c, d, a, b, k[11], 14, 643717713);\n b = gg(b, c, d, a, k[0], 20, -373897302);\n a = gg(a, b, c, d, k[5], 5, -701558691);\n d = gg(d, a, b, c, k[10], 9, 38016083);\n c = gg(c, d, a, b, k[15], 14, -660478335);\n b = gg(b, c, d, a, k[4], 20, -405537848);\n a = gg(a, b, c, d, k[9], 5, 568446438);\n d = gg(d, a, b, c, k[14], 9, -1019803690);\n c = gg(c, d, a, b, k[3], 14, -187363961);\n b = gg(b, c, d, a, k[8], 20, 1163531501);\n a = gg(a, b, c, d, k[13], 5, -1444681467);\n d = gg(d, a, b, c, k[2], 9, -51403784);\n c = gg(c, d, a, b, k[7], 14, 1735328473);\n b = gg(b, c, d, a, k[12], 20, -1926607734);\n\n a = hh(a, b, c, d, k[5], 4, -378558);\n d = hh(d, a, b, c, k[8], 11, -2022574463);\n c = hh(c, d, a, b, k[11], 16, 1839030562);\n b = hh(b, c, d, a, k[14], 23, -35309556);\n a = hh(a, b, c, d, k[1], 4, -1530992060);\n d = hh(d, a, b, c, k[4], 11, 1272893353);\n c = hh(c, d, a, b, k[7], 16, -155497632);\n b = hh(b, c, d, a, k[10], 23, -1094730640);\n a = hh(a, b, c, d, k[13], 4, 681279174);\n d = hh(d, a, b, c, k[0], 11, -358537222);\n c = hh(c, d, a, b, k[3], 16, -722521979);\n b = hh(b, c, d, a, k[6], 23, 76029189);\n a = hh(a, b, c, d, k[9], 4, -640364487);\n d = hh(d, a, b, c, k[12], 11, -421815835);\n c = hh(c, d, a, b, k[15], 16, 530742520);\n b = hh(b, c, d, a, k[2], 23, -995338651);\n\n a = ii(a, b, c, d, k[0], 6, -198630844);\n d = ii(d, a, b, c, k[7], 10, 1126891415);\n c = ii(c, d, a, b, k[14], 15, -1416354905);\n b = ii(b, c, d, a, k[5], 21, -57434055);\n a = ii(a, b, c, d, k[12], 6, 1700485571);\n d = ii(d, a, b, c, k[3], 10, -1894986606);\n c = ii(c, d, a, b, k[10], 15, -1051523);\n b = ii(b, c, d, a, k[1], 21, -2054922799);\n a = ii(a, b, c, d, k[8], 6, 1873313359);\n d = ii(d, a, b, c, k[15], 10, -30611744);\n c = ii(c, d, a, b, k[6], 15, -1560198380);\n b = ii(b, c, d, a, k[13], 21, 1309151649);\n a = ii(a, b, c, d, k[4], 6, -145523070);\n d = ii(d, a, b, c, k[11], 10, -1120210379);\n c = ii(c, d, a, b, k[2], 15, 718787259);\n b = ii(b, c, d, a, k[9], 21, -343485551);\n\n x[0] = add32(a, x[0]);\n x[1] = add32(b, x[1]);\n x[2] = add32(c, x[2]);\n x[3] = add32(d, x[3]);\n}\n\nfunction cmn(q, a, b, x, s, t) {\n a = add32(add32(a, q), add32(x, t));\n return add32((a << s) | (a >>> (32 - s)), b);\n}\n\nfunction ff(a, b, c, d, x, s, t) {\n return cmn((b & c) | (~b & d), a, b, x, s, t);\n}\n\nfunction gg(a, b, c, d, x, s, t) {\n return cmn((b & d) | (c & ~d), a, b, x, s, t);\n}\n\nfunction hh(a, b, c, d, x, s, t) {\n return cmn(b ^ c ^ d, a, b, x, s, t);\n}\n\nfunction ii(a, b, c, d, x, s, t) {\n return cmn(c ^ (b | ~d), a, b, x, s, t);\n}\n\nfunction md51(s) {\n // txt = '';\n var n = s.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i;\n for (i = 64; i <= s.length; i += 64) {\n md5cycle(state, md5blk(s.substring(i - 64, i)));\n }\n s = s.substring(i - 64);\n var tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n for (i = 0; i < s.length; i++)\n tail[i >> 2] |= s.charCodeAt(i) << (i % 4 << 3);\n tail[i >> 2] |= 0x80 << (i % 4 << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i++) tail[i] = 0;\n }\n tail[14] = n * 8;\n md5cycle(state, tail);\n return state;\n}\n\n/* there needs to be support for Unicode here,\n * unless we pretend that we can redefine the MD-5\n * algorithm for multi-byte characters (perhaps\n * by adding every four 16-bit characters and\n * shortening the sum to 32 bits). Otherwise\n * I suggest performing MD-5 as if every character\n * was two bytes--e.g., 0040 0025 = @%--but then\n * how will an ordinary MD-5 sum be matched?\n * There is no way to standardize text to something\n * like UTF-8 before transformation; speed cost is\n * utterly prohibitive. The JavaScript standard\n * itself needs to look at this: it should start\n * providing access to strings as preformed UTF-8\n * 8-bit unsigned value arrays.\n */\nfunction md5blk(s) {\n /* I figured global was faster. */\n var md5blks = [],\n i; /* Andy King said do it this way. */\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] =\n s.charCodeAt(i) +\n (s.charCodeAt(i + 1) << 8) +\n (s.charCodeAt(i + 2) << 16) +\n (s.charCodeAt(i + 3) << 24);\n }\n return md5blks;\n}\n\nvar hex_chr = \"0123456789abcdef\".split(\"\");\n\nfunction rhex(n) {\n var s = \"\",\n j = 0;\n for (; j < 4; j++)\n s += hex_chr[(n >> (j * 8 + 4)) & 0x0f] + hex_chr[(n >> (j * 8)) & 0x0f];\n return s;\n}\n\nfunction hex(x) {\n for (var i = 0; i < x.length; i++) x[i] = rhex(x[i]);\n return x.join(\"\");\n}\n\n// Converts a 4-byte number to byte string\nfunction singleToByteString(n) {\n return String.fromCharCode(\n (n & 0xff) >> 0,\n (n & 0xff00) >> 8,\n (n & 0xff0000) >> 16,\n (n & 0xff000000) >> 24\n );\n}\n\n// Converts an array of numbers to a byte string\nfunction toByteString(x) {\n return x.map(singleToByteString).join(\"\");\n}\n\n// Returns the MD5 hash as a byte string\nfunction md5Bin(s) {\n return toByteString(md51(s));\n}\n\n// Returns MD5 hash as a hex string\nfunction md5(s) {\n return hex(md51(s));\n}\n\nvar md5Check = md5(\"hello\") != \"5d41402abc4b2a76b9719d911017c592\";\n\nfunction add32(a, b) {\n if (md5Check) {\n /* if the md5Check does not match\n the expected value, we're dealing\n with an old browser and need\n this function. */\n var lsw = (a & 0xffff) + (b & 0xffff),\n msw = (a >> 16) + (b >> 16) + (lsw >> 16);\n return (msw << 16) | (lsw & 0xffff);\n } else {\n /* this function is much faster,\n so if possible we use it. Some IEs\n are the only ones I know of that\n need the idiotic second function,\n generated by an if clause. */\n return (a + b) & 0xffffffff;\n }\n}\n\nexport { md5, md5Bin };\n","/**\r\n * @license\r\n * FPDF is released under a permissive license: there is no usage restriction.\r\n * You may embed it freely in your application (commercial or not), with or\r\n * without modifications.\r\n *\r\n * Reference: http://www.fpdf.org/en/script/script37.php\r\n */\r\n\r\nfunction repeat(str, num) {\r\n return new Array(num + 1).join(str);\r\n}\r\n\r\n/**\r\n * Converts a byte string to a hex string\r\n *\r\n * @name rc4\r\n * @function\r\n * @param {string} key Byte string of encryption key\r\n * @param {string} data Byte string of data to be encrypted\r\n * @returns {string} Encrypted string\r\n */\r\nfunction rc4(key, data) {\r\n var lastKey, lastState;\r\n if (key !== lastKey) {\r\n var k = repeat(key, ((256 / key.length) >> 0) + 1);\r\n var state = [];\r\n for (var i = 0; i < 256; i++) {\r\n state[i] = i;\r\n }\r\n var j = 0;\r\n for (var i = 0; i < 256; i++) {\r\n var t = state[i];\r\n j = (j + t + k.charCodeAt(i)) % 256;\r\n state[i] = state[j];\r\n state[j] = t;\r\n }\r\n lastKey = key;\r\n lastState = state;\r\n } else {\r\n state = lastState;\r\n }\r\n var length = data.length;\r\n var a = 0;\r\n var b = 0;\r\n var out = \"\";\r\n for (var i = 0; i < length; i++) {\r\n a = (a + 1) % 256;\r\n t = state[a];\r\n b = (b + t) % 256;\r\n state[a] = state[b];\r\n state[b] = t;\r\n k = state[(state[a] + state[b]) % 256];\r\n out += String.fromCharCode(data.charCodeAt(i) ^ k);\r\n }\r\n return out;\r\n}\r\n\r\nexport { rc4 };\r\n","/**\r\n * @license\r\n * Licensed under the MIT License.\r\n * http://opensource.org/licenses/mit-license\r\n * Author: Owen Leong (@owenl131)\r\n * Date: 15 Oct 2020\r\n * References:\r\n * https://www.cs.cmu.edu/~dst/Adobe/Gallery/anon21jul01-pdf-encryption.txt\r\n * https://github.com/foliojs/pdfkit/blob/master/lib/security.js\r\n * http://www.fpdf.org/en/script/script37.php\r\n */\r\n\r\nimport { md5Bin } from \"./md5.js\";\r\nimport { rc4 } from \"./rc4.js\";\r\n\r\nvar permissionOptions = {\r\n print: 4,\r\n modify: 8,\r\n copy: 16,\r\n \"annot-forms\": 32\r\n};\r\n\r\n/**\r\n * Initializes encryption settings\r\n *\r\n * @name constructor\r\n * @function\r\n * @param {Array} permissions Permissions allowed for user, \"print\", \"modify\", \"copy\" and \"annot-forms\".\r\n * @param {String} userPassword Permissions apply to this user. Leaving this empty means the document\r\n * is not password protected but viewer has the above permissions.\r\n * @param {String} ownerPassword Owner has full functionalities to the file.\r\n * @param {String} fileId As hex string, should be same as the file ID in the trailer.\r\n * @example\r\n * var security = new PDFSecurity([\"print\"])\r\n */\r\nfunction PDFSecurity(permissions, userPassword, ownerPassword, fileId) {\r\n this.v = 1; // algorithm 1, future work can add in more recent encryption schemes\r\n this.r = 2; // revision 2\r\n\r\n // set flags for what functionalities the user can access\r\n let protection = 192;\r\n permissions.forEach(function(perm) {\r\n if (typeof permissionOptions.perm !== \"undefined\") {\r\n throw new Error(\"Invalid permission: \" + perm);\r\n }\r\n protection += permissionOptions[perm];\r\n });\r\n\r\n // padding is used to pad the passwords to 32 bytes, also is hashed and stored in the final PDF\r\n this.padding =\r\n \"\\x28\\xBF\\x4E\\x5E\\x4E\\x75\\x8A\\x41\\x64\\x00\\x4E\\x56\\xFF\\xFA\\x01\\x08\" +\r\n \"\\x2E\\x2E\\x00\\xB6\\xD0\\x68\\x3E\\x80\\x2F\\x0C\\xA9\\xFE\\x64\\x53\\x69\\x7A\";\r\n let paddedUserPassword = (userPassword + this.padding).substr(0, 32);\r\n let paddedOwnerPassword = (ownerPassword + this.padding).substr(0, 32);\r\n\r\n this.O = this.processOwnerPassword(paddedUserPassword, paddedOwnerPassword);\r\n this.P = -((protection ^ 255) + 1);\r\n this.encryptionKey = md5Bin(\r\n paddedUserPassword +\r\n this.O +\r\n this.lsbFirstWord(this.P) +\r\n this.hexToBytes(fileId)\r\n ).substr(0, 5);\r\n this.U = rc4(this.encryptionKey, this.padding);\r\n}\r\n\r\n/**\r\n * Breaks down a 4-byte number into its individual bytes, with the least significant bit first\r\n *\r\n * @name lsbFirstWord\r\n * @function\r\n * @param {number} data 32-bit number\r\n * @returns {Array}\r\n */\r\nPDFSecurity.prototype.lsbFirstWord = function(data) {\r\n return String.fromCharCode(\r\n (data >> 0) & 0xff,\r\n (data >> 8) & 0xff,\r\n (data >> 16) & 0xff,\r\n (data >> 24) & 0xff\r\n );\r\n};\r\n\r\n/**\r\n * Converts a byte string to a hex string\r\n *\r\n * @name toHexString\r\n * @function\r\n * @param {String} byteString Byte string\r\n * @returns {String}\r\n */\r\nPDFSecurity.prototype.toHexString = function(byteString) {\r\n return byteString\r\n .split(\"\")\r\n .map(function(byte) {\r\n return (\"0\" + (byte.charCodeAt(0) & 0xff).toString(16)).slice(-2);\r\n })\r\n .join(\"\");\r\n};\r\n\r\n/**\r\n * Converts a hex string to a byte string\r\n *\r\n * @name hexToBytes\r\n * @function\r\n * @param {String} hex Hex string\r\n * @returns {String}\r\n */\r\nPDFSecurity.prototype.hexToBytes = function(hex) {\r\n for (var bytes = [], c = 0; c < hex.length; c += 2)\r\n bytes.push(String.fromCharCode(parseInt(hex.substr(c, 2), 16)));\r\n return bytes.join(\"\");\r\n};\r\n\r\n/**\r\n * Computes the 'O' field in the encryption dictionary\r\n *\r\n * @name processOwnerPassword\r\n * @function\r\n * @param {String} paddedUserPassword Byte string of padded user password\r\n * @param {String} paddedOwnerPassword Byte string of padded owner password\r\n * @returns {String}\r\n */\r\nPDFSecurity.prototype.processOwnerPassword = function(\r\n paddedUserPassword,\r\n paddedOwnerPassword\r\n) {\r\n let key = md5Bin(paddedOwnerPassword).substr(0, 5);\r\n return rc4(key, paddedUserPassword);\r\n};\r\n\r\n/**\r\n * Returns an encryptor function which can take in a byte string and returns the encrypted version\r\n *\r\n * @name encryptor\r\n * @function\r\n * @param {number} objectId\r\n * @param {number} generation Not sure what this is for, you can set it to 0\r\n * @returns {Function}\r\n * @example\r\n * out(\"stream\");\r\n * encryptor = security.encryptor(object.id, 0);\r\n * out(encryptor(data));\r\n * out(\"endstream\");\r\n */\r\nPDFSecurity.prototype.encryptor = function(objectId, generation) {\r\n let key = md5Bin(\r\n this.encryptionKey +\r\n String.fromCharCode(\r\n objectId & 0xff,\r\n (objectId >> 8) & 0xff,\r\n (objectId >> 16) & 0xff,\r\n generation & 0xff,\r\n (generation >> 8) & 0xff\r\n )\r\n ).substr(0, 10);\r\n return function(data) {\r\n return rc4(key, data);\r\n };\r\n};\r\n\r\nexport { PDFSecurity };\r\n","/**\n * Convert string to `PDF Name Object`.\n * Detail: PDF Reference 1.3 - Chapter 3.2.4 Name Object\n * @param str\n */\nfunction toPDFName(str) {\n // eslint-disable-next-line no-control-regex\n if (/[^\\u0000-\\u00ff]/.test(str)) {\n // non ascii string\n throw new Error(\n \"Invalid PDF Name Object: \" + str + \", Only accept ASCII characters.\"\n );\n }\n var result = \"\",\n strLength = str.length;\n for (var i = 0; i < strLength; i++) {\n var charCode = str.charCodeAt(i);\n if (\n charCode < 0x21 ||\n charCode === 0x23 /* # */ ||\n charCode === 0x25 /* % */ ||\n charCode === 0x28 /* ( */ ||\n charCode === 0x29 /* ) */ ||\n charCode === 0x2f /* / */ ||\n charCode === 0x3c /* < */ ||\n charCode === 0x3e /* > */ ||\n charCode === 0x5b /* [ */ ||\n charCode === 0x5d /* ] */ ||\n charCode === 0x7b /* { */ ||\n charCode === 0x7d /* } */ ||\n charCode > 0x7e\n ) {\n // Char CharCode hexStr paddingHexStr Result\n // \"\\t\" 9 9 09 #09\n // \" \" 32 20 20 #20\n // \"©\" 169 a9 a9 #a9\n var hexStr = charCode.toString(16),\n paddingHexStr = (\"0\" + hexStr).slice(-2);\n\n result += \"#\" + paddingHexStr;\n } else {\n // Other ASCII printable characters between 0x21 <= X <= 0x7e\n result += str[i];\n }\n }\n return result;\n}\n\nexport { toPDFName };\n","/* eslint-disable no-console */\r\n\r\nimport { saveAs } from \"./libs/FileSaver.js\";\r\nimport { globalObject } from \"./libs/globalObject.js\";\r\nimport { RGBColor } from \"./libs/rgbcolor.js\";\r\nimport { btoa } from \"./libs/AtobBtoa.js\";\r\nimport { console } from \"./libs/console.js\";\r\nimport { PDFSecurity } from \"./libs/pdfsecurity.js\";\r\nimport { toPDFName } from \"./libs/pdfname.js\";\r\n/**\r\n * jsPDF's Internal PubSub Implementation.\r\n * Backward compatible rewritten on 2014 by\r\n * Diego Casorran, https://github.com/diegocr\r\n *\r\n * @class\r\n * @name PubSub\r\n * @ignore\r\n */\r\nfunction PubSub(context) {\r\n if (typeof context !== \"object\") {\r\n throw new Error(\r\n \"Invalid Context passed to initialize PubSub (jsPDF-module)\"\r\n );\r\n }\r\n var topics = {};\r\n\r\n this.subscribe = function(topic, callback, once) {\r\n once = once || false;\r\n if (\r\n typeof topic !== \"string\" ||\r\n typeof callback !== \"function\" ||\r\n typeof once !== \"boolean\"\r\n ) {\r\n throw new Error(\r\n \"Invalid arguments passed to PubSub.subscribe (jsPDF-module)\"\r\n );\r\n }\r\n\r\n if (!topics.hasOwnProperty(topic)) {\r\n topics[topic] = {};\r\n }\r\n\r\n var token = Math.random().toString(35);\r\n topics[topic][token] = [callback, !!once];\r\n\r\n return token;\r\n };\r\n\r\n this.unsubscribe = function(token) {\r\n for (var topic in topics) {\r\n if (topics[topic][token]) {\r\n delete topics[topic][token];\r\n if (Object.keys(topics[topic]).length === 0) {\r\n delete topics[topic];\r\n }\r\n return true;\r\n }\r\n }\r\n return false;\r\n };\r\n\r\n this.publish = function(topic) {\r\n if (topics.hasOwnProperty(topic)) {\r\n var args = Array.prototype.slice.call(arguments, 1),\r\n tokens = [];\r\n\r\n for (var token in topics[topic]) {\r\n var sub = topics[topic][token];\r\n try {\r\n sub[0].apply(context, args);\r\n } catch (ex) {\r\n if (globalObject.console) {\r\n console.error(\"jsPDF PubSub Error\", ex.message, ex);\r\n }\r\n }\r\n if (sub[1]) tokens.push(token);\r\n }\r\n if (tokens.length) tokens.forEach(this.unsubscribe);\r\n }\r\n };\r\n\r\n this.getTopics = function() {\r\n return topics;\r\n };\r\n}\r\n\r\nfunction GState(parameters) {\r\n if (!(this instanceof GState)) {\r\n return new GState(parameters);\r\n }\r\n\r\n /**\r\n * @name GState#opacity\r\n * @type {any}\r\n */\r\n /**\r\n * @name GState#stroke-opacity\r\n * @type {any}\r\n */\r\n var supported = \"opacity,stroke-opacity\".split(\",\");\r\n for (var p in parameters) {\r\n if (parameters.hasOwnProperty(p) && supported.indexOf(p) >= 0) {\r\n this[p] = parameters[p];\r\n }\r\n }\r\n /**\r\n * @name GState#id\r\n * @type {string}\r\n */\r\n this.id = \"\"; // set by addGState()\r\n /**\r\n * @name GState#objectNumber\r\n * @type {number}\r\n */\r\n this.objectNumber = -1; // will be set by putGState()\r\n}\r\n\r\nGState.prototype.equals = function equals(other) {\r\n var ignore = \"id,objectNumber,equals\";\r\n var p;\r\n if (!other || typeof other !== typeof this) return false;\r\n var count = 0;\r\n for (p in this) {\r\n if (ignore.indexOf(p) >= 0) continue;\r\n if (this.hasOwnProperty(p) && !other.hasOwnProperty(p)) return false;\r\n if (this[p] !== other[p]) return false;\r\n count++;\r\n }\r\n for (p in other) {\r\n if (other.hasOwnProperty(p) && ignore.indexOf(p) < 0) count--;\r\n }\r\n return count === 0;\r\n};\r\n\r\nfunction Pattern(gState, matrix) {\r\n this.gState = gState;\r\n this.matrix = matrix;\r\n\r\n this.id = \"\"; // set by addPattern()\r\n this.objectNumber = -1; // will be set by putPattern()\r\n}\r\n\r\nfunction ShadingPattern(type, coords, colors, gState, matrix) {\r\n if (!(this instanceof ShadingPattern)) {\r\n return new ShadingPattern(type, coords, colors, gState, matrix);\r\n }\r\n\r\n // see putPattern() for information how they are realized\r\n this.type = type === \"axial\" ? 2 : 3;\r\n this.coords = coords;\r\n this.colors = colors;\r\n\r\n Pattern.call(this, gState, matrix);\r\n}\r\n\r\nfunction TilingPattern(boundingBox, xStep, yStep, gState, matrix) {\r\n if (!(this instanceof TilingPattern)) {\r\n return new TilingPattern(boundingBox, xStep, yStep, gState, matrix);\r\n }\r\n\r\n this.boundingBox = boundingBox;\r\n this.xStep = xStep;\r\n this.yStep = yStep;\r\n\r\n this.stream = \"\"; // set by endTilingPattern();\r\n\r\n this.cloneIndex = 0;\r\n\r\n Pattern.call(this, gState, matrix);\r\n}\r\n\r\n/**\r\n * Creates new jsPDF document object instance.\r\n * @name jsPDF\r\n * @class\r\n * @param {Object} [options] - Collection of settings initializing the jsPDF-instance\r\n * @param {string} [options.orientation=portrait] - Orientation of the first page. Possible values are \"portrait\" or \"landscape\" (or shortcuts \"p\" or \"l\").
\r\n * @param {string} [options.unit=mm] Measurement unit (base unit) to be used when coordinates are specified.
\r\n * Possible values are \"pt\" (points), \"mm\", \"cm\", \"in\", \"px\", \"pc\", \"em\" or \"ex\". Note that in order to get the correct scaling for \"px\"\r\n * units, you need to enable the hotfix \"px_scaling\" by setting options.hotfixes = [\"px_scaling\"].\r\n * @param {string/Array} [options.format=a4] The format of the first page. Can be:
  • a0 - a10
  • b0 - b10
  • c0 - c10
  • dl
  • letter
  • government-letter
  • legal
  • junior-legal
  • ledger
  • tabloid
  • credit-card

\r\n * Default is \"a4\". If you want to use your own format just pass instead of one of the above predefined formats the size as an number-array, e.g. [595.28, 841.89]\r\n * @param {boolean} [options.putOnlyUsedFonts=false] Only put fonts into the PDF, which were used.\r\n * @param {boolean} [options.compress=false] Compress the generated PDF.\r\n * @param {number} [options.precision=16] Precision of the element-positions.\r\n * @param {number} [options.userUnit=1.0] Not to be confused with the base unit. Please inform yourself before you use it.\r\n * @param {string[]} [options.hotfixes] An array of strings to enable hotfixes such as correct pixel scaling.\r\n * @param {Object} [options.encryption]\r\n * @param {string} [options.encryption.userPassword] Password for the user bound by the given permissions list.\r\n * @param {string} [options.encryption.ownerPassword] Both userPassword and ownerPassword should be set for proper authentication.\r\n * @param {string[]} [options.encryption.userPermissions] Array of permissions \"print\", \"modify\", \"copy\", \"annot-forms\", accessible by the user.\r\n * @param {number|\"smart\"} [options.floatPrecision=16]\r\n * @returns {jsPDF} jsPDF-instance\r\n * @description\r\n * ```\r\n * {\r\n * orientation: 'p',\r\n * unit: 'mm',\r\n * format: 'a4',\r\n * putOnlyUsedFonts:true,\r\n * floatPrecision: 16 // or \"smart\", default is 16\r\n * }\r\n * ```\r\n *\r\n * @constructor\r\n */\r\nfunction jsPDF(options) {\r\n var orientation = typeof arguments[0] === \"string\" ? arguments[0] : \"p\";\r\n var unit = arguments[1];\r\n var format = arguments[2];\r\n var compressPdf = arguments[3];\r\n var filters = [];\r\n var userUnit = 1.0;\r\n var precision;\r\n var floatPrecision = 16;\r\n var defaultPathOperation = \"S\";\r\n var encryptionOptions = null;\r\n\r\n options = options || {};\r\n\r\n if (typeof options === \"object\") {\r\n orientation = options.orientation;\r\n unit = options.unit || unit;\r\n format = options.format || format;\r\n compressPdf = options.compress || options.compressPdf || compressPdf;\r\n encryptionOptions = options.encryption || null;\r\n if (encryptionOptions !== null) {\r\n encryptionOptions.userPassword = encryptionOptions.userPassword || \"\";\r\n encryptionOptions.ownerPassword = encryptionOptions.ownerPassword || \"\";\r\n encryptionOptions.userPermissions =\r\n encryptionOptions.userPermissions || [];\r\n }\r\n userUnit =\r\n typeof options.userUnit === \"number\" ? Math.abs(options.userUnit) : 1.0;\r\n if (typeof options.precision !== \"undefined\") {\r\n precision = options.precision;\r\n }\r\n if (typeof options.floatPrecision !== \"undefined\") {\r\n floatPrecision = options.floatPrecision;\r\n }\r\n defaultPathOperation = options.defaultPathOperation || \"S\";\r\n }\r\n\r\n filters =\r\n options.filters || (compressPdf === true ? [\"FlateEncode\"] : filters);\r\n\r\n unit = unit || \"mm\";\r\n orientation = (\"\" + (orientation || \"P\")).toLowerCase();\r\n var putOnlyUsedFonts = options.putOnlyUsedFonts || false;\r\n var usedFonts = {};\r\n\r\n var API = {\r\n internal: {},\r\n __private__: {}\r\n };\r\n\r\n API.__private__.PubSub = PubSub;\r\n\r\n var pdfVersion = \"1.3\";\r\n var getPdfVersion = (API.__private__.getPdfVersion = function() {\r\n return pdfVersion;\r\n });\r\n\r\n API.__private__.setPdfVersion = function(value) {\r\n pdfVersion = value;\r\n };\r\n\r\n // Size in pt of various paper formats\r\n var pageFormats = {\r\n a0: [2383.94, 3370.39],\r\n a1: [1683.78, 2383.94],\r\n a2: [1190.55, 1683.78],\r\n a3: [841.89, 1190.55],\r\n a4: [595.28, 841.89],\r\n a5: [419.53, 595.28],\r\n a6: [297.64, 419.53],\r\n a7: [209.76, 297.64],\r\n a8: [147.4, 209.76],\r\n a9: [104.88, 147.4],\r\n a10: [73.7, 104.88],\r\n b0: [2834.65, 4008.19],\r\n b1: [2004.09, 2834.65],\r\n b2: [1417.32, 2004.09],\r\n b3: [1000.63, 1417.32],\r\n b4: [708.66, 1000.63],\r\n b5: [498.9, 708.66],\r\n b6: [354.33, 498.9],\r\n b7: [249.45, 354.33],\r\n b8: [175.75, 249.45],\r\n b9: [124.72, 175.75],\r\n b10: [87.87, 124.72],\r\n c0: [2599.37, 3676.54],\r\n c1: [1836.85, 2599.37],\r\n c2: [1298.27, 1836.85],\r\n c3: [918.43, 1298.27],\r\n c4: [649.13, 918.43],\r\n c5: [459.21, 649.13],\r\n c6: [323.15, 459.21],\r\n c7: [229.61, 323.15],\r\n c8: [161.57, 229.61],\r\n c9: [113.39, 161.57],\r\n c10: [79.37, 113.39],\r\n dl: [311.81, 623.62],\r\n letter: [612, 792],\r\n \"government-letter\": [576, 756],\r\n legal: [612, 1008],\r\n \"junior-legal\": [576, 360],\r\n ledger: [1224, 792],\r\n tabloid: [792, 1224],\r\n \"credit-card\": [153, 243]\r\n };\r\n\r\n API.__private__.getPageFormats = function() {\r\n return pageFormats;\r\n };\r\n\r\n var getPageFormat = (API.__private__.getPageFormat = function(value) {\r\n return pageFormats[value];\r\n });\r\n\r\n format = format || \"a4\";\r\n\r\n var ApiMode = {\r\n COMPAT: \"compat\",\r\n ADVANCED: \"advanced\"\r\n };\r\n var apiMode = ApiMode.COMPAT;\r\n\r\n function advancedAPI() {\r\n // prepend global change of basis matrix\r\n // (Now, instead of converting every coordinate to the pdf coordinate system, we apply a matrix\r\n // that does this job for us (however, texts, images and similar objects must be drawn bottom up))\r\n this.saveGraphicsState();\r\n out(\r\n new Matrix(\r\n scaleFactor,\r\n 0,\r\n 0,\r\n -scaleFactor,\r\n 0,\r\n getPageHeight() * scaleFactor\r\n ).toString() + \" cm\"\r\n );\r\n this.setFontSize(this.getFontSize() / scaleFactor);\r\n\r\n // The default in MrRio's implementation is \"S\" (stroke), whereas the default in the yWorks implementation\r\n // was \"n\" (none). Although this has nothing to do with transforms, we should use the API switch here.\r\n defaultPathOperation = \"n\";\r\n\r\n apiMode = ApiMode.ADVANCED;\r\n }\r\n\r\n function compatAPI() {\r\n this.restoreGraphicsState();\r\n defaultPathOperation = \"S\";\r\n apiMode = ApiMode.COMPAT;\r\n }\r\n\r\n /**\r\n * @function combineFontStyleAndFontWeight\r\n * @param {string} fontStyle Fontstyle or variant. Example: \"italic\".\r\n * @param {number | string} fontWeight Weight of the Font. Example: \"normal\" | 400\r\n * @returns {string}\r\n * @private\r\n */\r\n var combineFontStyleAndFontWeight = (API.__private__.combineFontStyleAndFontWeight = function(\r\n fontStyle,\r\n fontWeight\r\n ) {\r\n if (\r\n (fontStyle == \"bold\" && fontWeight == \"normal\") ||\r\n (fontStyle == \"bold\" && fontWeight == 400) ||\r\n (fontStyle == \"normal\" && fontWeight == \"italic\") ||\r\n (fontStyle == \"bold\" && fontWeight == \"italic\")\r\n ) {\r\n throw new Error(\"Invalid Combination of fontweight and fontstyle\");\r\n }\r\n if (fontWeight) {\r\n fontStyle =\r\n fontWeight == 400 || fontWeight === \"normal\"\r\n ? fontStyle === \"italic\"\r\n ? \"italic\"\r\n : \"normal\"\r\n : (fontWeight == 700 || fontWeight === \"bold\") &&\r\n fontStyle === \"normal\"\r\n ? \"bold\"\r\n : (fontWeight == 700 ? \"bold\" : fontWeight) + \"\" + fontStyle;\r\n }\r\n return fontStyle;\r\n });\r\n\r\n /**\r\n * @callback ApiSwitchBody\r\n * @param {jsPDF} pdf\r\n */\r\n\r\n /**\r\n * For compatibility reasons jsPDF offers two API modes which differ in the way they convert between the the usual\r\n * screen coordinates and the PDF coordinate system.\r\n * - \"compat\": Offers full compatibility across all plugins but does not allow arbitrary transforms\r\n * - \"advanced\": Allows arbitrary transforms and more advanced features like pattern fills. Some plugins might\r\n * not support this mode, though.\r\n * Initial mode is \"compat\".\r\n *\r\n * You can either provide a callback to the body argument, which means that jsPDF will automatically switch back to\r\n * the original API mode afterwards; or you can omit the callback and switch back manually using {@link compatAPI}.\r\n *\r\n * Note, that the calls to {@link saveGraphicsState} and {@link restoreGraphicsState} need to be balanced within the\r\n * callback or between calls of this method and its counterpart {@link compatAPI}. Calls to {@link beginFormObject}\r\n * or {@link beginTilingPattern} need to be closed by their counterparts before switching back to \"compat\" API mode.\r\n *\r\n * @param {ApiSwitchBody=} body When provided, this callback will be called after the API mode has been switched.\r\n * The API mode will be switched back automatically afterwards.\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name advancedAPI\r\n */\r\n API.advancedAPI = function(body) {\r\n var doSwitch = apiMode === ApiMode.COMPAT;\r\n\r\n if (doSwitch) {\r\n advancedAPI.call(this);\r\n }\r\n\r\n if (typeof body !== \"function\") {\r\n return this;\r\n }\r\n\r\n body(this);\r\n\r\n if (doSwitch) {\r\n compatAPI.call(this);\r\n }\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * Switches to \"compat\" API mode. See {@link advancedAPI} for more details.\r\n *\r\n * @param {ApiSwitchBody=} body When provided, this callback will be called after the API mode has been switched.\r\n * The API mode will be switched back automatically afterwards.\r\n * @return {jsPDF}\r\n * @memberof jsPDF#\r\n * @name compatApi\r\n */\r\n API.compatAPI = function(body) {\r\n var doSwitch = apiMode === ApiMode.ADVANCED;\r\n\r\n if (doSwitch) {\r\n compatAPI.call(this);\r\n }\r\n\r\n if (typeof body !== \"function\") {\r\n return this;\r\n }\r\n\r\n body(this);\r\n\r\n if (doSwitch) {\r\n advancedAPI.call(this);\r\n }\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * @return {boolean} True iff the current API mode is \"advanced\". See {@link advancedAPI}.\r\n * @memberof jsPDF#\r\n * @name isAdvancedAPI\r\n */\r\n API.isAdvancedAPI = function() {\r\n return apiMode === ApiMode.ADVANCED;\r\n };\r\n\r\n var advancedApiModeTrap = function(methodName) {\r\n if (apiMode !== ApiMode.ADVANCED) {\r\n throw new Error(\r\n methodName +\r\n \" is only available in 'advanced' API mode. \" +\r\n \"You need to call advancedAPI() first.\"\r\n );\r\n }\r\n };\r\n\r\n var roundToPrecision = (API.roundToPrecision = API.__private__.roundToPrecision = function(\r\n number,\r\n parmPrecision\r\n ) {\r\n var tmpPrecision = precision || parmPrecision;\r\n if (isNaN(number) || isNaN(tmpPrecision)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.roundToPrecision\");\r\n }\r\n return number.toFixed(tmpPrecision).replace(/0+$/, \"\");\r\n });\r\n\r\n // high precision float\r\n var hpf;\r\n if (typeof floatPrecision === \"number\") {\r\n hpf = API.hpf = API.__private__.hpf = function(number) {\r\n if (isNaN(number)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.hpf\");\r\n }\r\n return roundToPrecision(number, floatPrecision);\r\n };\r\n } else if (floatPrecision === \"smart\") {\r\n hpf = API.hpf = API.__private__.hpf = function(number) {\r\n if (isNaN(number)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.hpf\");\r\n }\r\n if (number > -1 && number < 1) {\r\n return roundToPrecision(number, 16);\r\n } else {\r\n return roundToPrecision(number, 5);\r\n }\r\n };\r\n } else {\r\n hpf = API.hpf = API.__private__.hpf = function(number) {\r\n if (isNaN(number)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.hpf\");\r\n }\r\n return roundToPrecision(number, 16);\r\n };\r\n }\r\n var f2 = (API.f2 = API.__private__.f2 = function(number) {\r\n if (isNaN(number)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.f2\");\r\n }\r\n return roundToPrecision(number, 2);\r\n });\r\n\r\n var f3 = (API.__private__.f3 = function(number) {\r\n if (isNaN(number)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.f3\");\r\n }\r\n return roundToPrecision(number, 3);\r\n });\r\n\r\n var scale = (API.scale = API.__private__.scale = function(number) {\r\n if (isNaN(number)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.scale\");\r\n }\r\n if (apiMode === ApiMode.COMPAT) {\r\n return number * scaleFactor;\r\n } else if (apiMode === ApiMode.ADVANCED) {\r\n return number;\r\n }\r\n });\r\n\r\n var transformY = function(y) {\r\n if (apiMode === ApiMode.COMPAT) {\r\n return getPageHeight() - y;\r\n } else if (apiMode === ApiMode.ADVANCED) {\r\n return y;\r\n }\r\n };\r\n\r\n var transformScaleY = function(y) {\r\n return scale(transformY(y));\r\n };\r\n\r\n /**\r\n * @name setPrecision\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n * @param {string} precision\r\n * @returns {jsPDF}\r\n */\r\n API.__private__.setPrecision = API.setPrecision = function(value) {\r\n if (typeof parseInt(value, 10) === \"number\") {\r\n precision = parseInt(value, 10);\r\n }\r\n };\r\n\r\n var fileId = \"00000000000000000000000000000000\";\r\n\r\n var getFileId = (API.__private__.getFileId = function() {\r\n return fileId;\r\n });\r\n\r\n var setFileId = (API.__private__.setFileId = function(value) {\r\n if (typeof value !== \"undefined\" && /^[a-fA-F0-9]{32}$/.test(value)) {\r\n fileId = value.toUpperCase();\r\n } else {\r\n fileId = fileId\r\n .split(\"\")\r\n .map(function() {\r\n return \"ABCDEF0123456789\".charAt(Math.floor(Math.random() * 16));\r\n })\r\n .join(\"\");\r\n }\r\n\r\n if (encryptionOptions !== null) {\r\n encryption = new PDFSecurity(\r\n encryptionOptions.userPermissions,\r\n encryptionOptions.userPassword,\r\n encryptionOptions.ownerPassword,\r\n fileId\r\n );\r\n }\r\n return fileId;\r\n });\r\n\r\n /**\r\n * @name setFileId\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n * @param {string} value GUID.\r\n * @returns {jsPDF}\r\n */\r\n API.setFileId = function(value) {\r\n setFileId(value);\r\n return this;\r\n };\r\n\r\n /**\r\n * @name getFileId\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n *\r\n * @returns {string} GUID.\r\n */\r\n API.getFileId = function() {\r\n return getFileId();\r\n };\r\n\r\n var creationDate;\r\n\r\n var convertDateToPDFDate = (API.__private__.convertDateToPDFDate = function(\r\n parmDate\r\n ) {\r\n var result = \"\";\r\n var tzoffset = parmDate.getTimezoneOffset(),\r\n tzsign = tzoffset < 0 ? \"+\" : \"-\",\r\n tzhour = Math.floor(Math.abs(tzoffset / 60)),\r\n tzmin = Math.abs(tzoffset % 60),\r\n timeZoneString = [tzsign, padd2(tzhour), \"'\", padd2(tzmin), \"'\"].join(\"\");\r\n\r\n result = [\r\n \"D:\",\r\n parmDate.getFullYear(),\r\n padd2(parmDate.getMonth() + 1),\r\n padd2(parmDate.getDate()),\r\n padd2(parmDate.getHours()),\r\n padd2(parmDate.getMinutes()),\r\n padd2(parmDate.getSeconds()),\r\n timeZoneString\r\n ].join(\"\");\r\n return result;\r\n });\r\n\r\n var convertPDFDateToDate = (API.__private__.convertPDFDateToDate = function(\r\n parmPDFDate\r\n ) {\r\n var year = parseInt(parmPDFDate.substr(2, 4), 10);\r\n var month = parseInt(parmPDFDate.substr(6, 2), 10) - 1;\r\n var date = parseInt(parmPDFDate.substr(8, 2), 10);\r\n var hour = parseInt(parmPDFDate.substr(10, 2), 10);\r\n var minutes = parseInt(parmPDFDate.substr(12, 2), 10);\r\n var seconds = parseInt(parmPDFDate.substr(14, 2), 10);\r\n // var timeZoneHour = parseInt(parmPDFDate.substr(16, 2), 10);\r\n // var timeZoneMinutes = parseInt(parmPDFDate.substr(20, 2), 10);\r\n\r\n var resultingDate = new Date(year, month, date, hour, minutes, seconds, 0);\r\n return resultingDate;\r\n });\r\n\r\n var setCreationDate = (API.__private__.setCreationDate = function(date) {\r\n var tmpCreationDateString;\r\n var regexPDFCreationDate = /^D:(20[0-2][0-9]|203[0-7]|19[7-9][0-9])(0[0-9]|1[0-2])([0-2][0-9]|3[0-1])(0[0-9]|1[0-9]|2[0-3])(0[0-9]|[1-5][0-9])(0[0-9]|[1-5][0-9])(\\+0[0-9]|\\+1[0-4]|-0[0-9]|-1[0-1])'(0[0-9]|[1-5][0-9])'?$/;\r\n if (typeof date === \"undefined\") {\r\n date = new Date();\r\n }\r\n\r\n if (date instanceof Date) {\r\n tmpCreationDateString = convertDateToPDFDate(date);\r\n } else if (regexPDFCreationDate.test(date)) {\r\n tmpCreationDateString = date;\r\n } else {\r\n throw new Error(\"Invalid argument passed to jsPDF.setCreationDate\");\r\n }\r\n creationDate = tmpCreationDateString;\r\n return creationDate;\r\n });\r\n\r\n var getCreationDate = (API.__private__.getCreationDate = function(type) {\r\n var result = creationDate;\r\n if (type === \"jsDate\") {\r\n result = convertPDFDateToDate(creationDate);\r\n }\r\n return result;\r\n });\r\n\r\n /**\r\n * @name setCreationDate\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n * @param {Object} date\r\n * @returns {jsPDF}\r\n */\r\n API.setCreationDate = function(date) {\r\n setCreationDate(date);\r\n return this;\r\n };\r\n\r\n /**\r\n * @name getCreationDate\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n * @param {Object} type\r\n * @returns {Object}\r\n */\r\n API.getCreationDate = function(type) {\r\n return getCreationDate(type);\r\n };\r\n\r\n var padd2 = (API.__private__.padd2 = function(number) {\r\n return (\"0\" + parseInt(number)).slice(-2);\r\n });\r\n\r\n var padd2Hex = (API.__private__.padd2Hex = function(hexString) {\r\n hexString = hexString.toString();\r\n return (\"00\" + hexString).substr(hexString.length);\r\n });\r\n\r\n var objectNumber = 0; // 'n' Current object number\r\n var offsets = []; // List of offsets. Activated and reset by buildDocument(). Pupulated by various calls buildDocument makes.\r\n var content = [];\r\n var contentLength = 0;\r\n var additionalObjects = [];\r\n\r\n var pages = [];\r\n var currentPage;\r\n var hasCustomDestination = false;\r\n var outputDestination = content;\r\n\r\n var resetDocument = function() {\r\n //reset fields relevant for objectNumber generation and xref.\r\n objectNumber = 0;\r\n contentLength = 0;\r\n content = [];\r\n offsets = [];\r\n additionalObjects = [];\r\n\r\n rootDictionaryObjId = newObjectDeferred();\r\n resourceDictionaryObjId = newObjectDeferred();\r\n };\r\n\r\n API.__private__.setCustomOutputDestination = function(destination) {\r\n hasCustomDestination = true;\r\n outputDestination = destination;\r\n };\r\n var setOutputDestination = function(destination) {\r\n if (!hasCustomDestination) {\r\n outputDestination = destination;\r\n }\r\n };\r\n\r\n API.__private__.resetCustomOutputDestination = function() {\r\n hasCustomDestination = false;\r\n outputDestination = content;\r\n };\r\n\r\n var out = (API.__private__.out = function(string) {\r\n string = string.toString();\r\n contentLength += string.length + 1;\r\n outputDestination.push(string);\r\n\r\n return outputDestination;\r\n });\r\n\r\n var write = (API.__private__.write = function(value) {\r\n return out(\r\n arguments.length === 1\r\n ? value.toString()\r\n : Array.prototype.join.call(arguments, \" \")\r\n );\r\n });\r\n\r\n var getArrayBuffer = (API.__private__.getArrayBuffer = function(data) {\r\n var len = data.length,\r\n ab = new ArrayBuffer(len),\r\n u8 = new Uint8Array(ab);\r\n\r\n while (len--) u8[len] = data.charCodeAt(len);\r\n return ab;\r\n });\r\n\r\n var standardFonts = [\r\n [\"Helvetica\", \"helvetica\", \"normal\", \"WinAnsiEncoding\"],\r\n [\"Helvetica-Bold\", \"helvetica\", \"bold\", \"WinAnsiEncoding\"],\r\n [\"Helvetica-Oblique\", \"helvetica\", \"italic\", \"WinAnsiEncoding\"],\r\n [\"Helvetica-BoldOblique\", \"helvetica\", \"bolditalic\", \"WinAnsiEncoding\"],\r\n [\"Courier\", \"courier\", \"normal\", \"WinAnsiEncoding\"],\r\n [\"Courier-Bold\", \"courier\", \"bold\", \"WinAnsiEncoding\"],\r\n [\"Courier-Oblique\", \"courier\", \"italic\", \"WinAnsiEncoding\"],\r\n [\"Courier-BoldOblique\", \"courier\", \"bolditalic\", \"WinAnsiEncoding\"],\r\n [\"Times-Roman\", \"times\", \"normal\", \"WinAnsiEncoding\"],\r\n [\"Times-Bold\", \"times\", \"bold\", \"WinAnsiEncoding\"],\r\n [\"Times-Italic\", \"times\", \"italic\", \"WinAnsiEncoding\"],\r\n [\"Times-BoldItalic\", \"times\", \"bolditalic\", \"WinAnsiEncoding\"],\r\n [\"ZapfDingbats\", \"zapfdingbats\", \"normal\", null],\r\n [\"Symbol\", \"symbol\", \"normal\", null]\r\n ];\r\n\r\n API.__private__.getStandardFonts = function() {\r\n return standardFonts;\r\n };\r\n\r\n var activeFontSize = options.fontSize || 16;\r\n\r\n /**\r\n * Sets font size for upcoming text elements.\r\n *\r\n * @param {number} size Font size in points.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setFontSize\r\n */\r\n API.__private__.setFontSize = API.setFontSize = function(size) {\r\n if (apiMode === ApiMode.ADVANCED) {\r\n activeFontSize = size / scaleFactor;\r\n } else {\r\n activeFontSize = size;\r\n }\r\n return this;\r\n };\r\n\r\n /**\r\n * Gets the fontsize for upcoming text elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {number}\r\n * @memberof jsPDF#\r\n * @name getFontSize\r\n */\r\n var getFontSize = (API.__private__.getFontSize = API.getFontSize = function() {\r\n if (apiMode === ApiMode.COMPAT) {\r\n return activeFontSize;\r\n } else {\r\n return activeFontSize * scaleFactor;\r\n }\r\n });\r\n\r\n var R2L = options.R2L || false;\r\n\r\n /**\r\n * Set value of R2L functionality.\r\n *\r\n * @param {boolean} value\r\n * @function\r\n * @instance\r\n * @returns {jsPDF} jsPDF-instance\r\n * @memberof jsPDF#\r\n * @name setR2L\r\n */\r\n API.__private__.setR2L = API.setR2L = function(value) {\r\n R2L = value;\r\n return this;\r\n };\r\n\r\n /**\r\n * Get value of R2L functionality.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {boolean} jsPDF-instance\r\n * @memberof jsPDF#\r\n * @name getR2L\r\n */\r\n API.__private__.getR2L = API.getR2L = function() {\r\n return R2L;\r\n };\r\n\r\n var zoomMode; // default: 1;\r\n\r\n var setZoomMode = (API.__private__.setZoomMode = function(zoom) {\r\n var validZoomModes = [\r\n undefined,\r\n null,\r\n \"fullwidth\",\r\n \"fullheight\",\r\n \"fullpage\",\r\n \"original\"\r\n ];\r\n\r\n if (/^(?:\\d+\\.\\d*|\\d*\\.\\d+|\\d+)%$/.test(zoom)) {\r\n zoomMode = zoom;\r\n } else if (!isNaN(zoom)) {\r\n zoomMode = parseInt(zoom, 10);\r\n } else if (validZoomModes.indexOf(zoom) !== -1) {\r\n zoomMode = zoom;\r\n } else {\r\n throw new Error(\r\n 'zoom must be Integer (e.g. 2), a percentage Value (e.g. 300%) or fullwidth, fullheight, fullpage, original. \"' +\r\n zoom +\r\n '\" is not recognized.'\r\n );\r\n }\r\n });\r\n\r\n API.__private__.getZoomMode = function() {\r\n return zoomMode;\r\n };\r\n\r\n var pageMode; // default: 'UseOutlines';\r\n var setPageMode = (API.__private__.setPageMode = function(pmode) {\r\n var validPageModes = [\r\n undefined,\r\n null,\r\n \"UseNone\",\r\n \"UseOutlines\",\r\n \"UseThumbs\",\r\n \"FullScreen\"\r\n ];\r\n\r\n if (validPageModes.indexOf(pmode) == -1) {\r\n throw new Error(\r\n 'Page mode must be one of UseNone, UseOutlines, UseThumbs, or FullScreen. \"' +\r\n pmode +\r\n '\" is not recognized.'\r\n );\r\n }\r\n pageMode = pmode;\r\n });\r\n\r\n API.__private__.getPageMode = function() {\r\n return pageMode;\r\n };\r\n\r\n var layoutMode; // default: 'continuous';\r\n var setLayoutMode = (API.__private__.setLayoutMode = function(layout) {\r\n var validLayoutModes = [\r\n undefined,\r\n null,\r\n \"continuous\",\r\n \"single\",\r\n \"twoleft\",\r\n \"tworight\",\r\n \"two\"\r\n ];\r\n\r\n if (validLayoutModes.indexOf(layout) == -1) {\r\n throw new Error(\r\n 'Layout mode must be one of continuous, single, twoleft, tworight. \"' +\r\n layout +\r\n '\" is not recognized.'\r\n );\r\n }\r\n layoutMode = layout;\r\n });\r\n\r\n API.__private__.getLayoutMode = function() {\r\n return layoutMode;\r\n };\r\n\r\n /**\r\n * Set the display mode options of the page like zoom and layout.\r\n *\r\n * @name setDisplayMode\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n * @param {integer|String} zoom You can pass an integer or percentage as\r\n * a string. 2 will scale the document up 2x, '200%' will scale up by the\r\n * same amount. You can also set it to 'fullwidth', 'fullheight',\r\n * 'fullpage', or 'original'.\r\n *\r\n * Only certain PDF readers support this, such as Adobe Acrobat.\r\n *\r\n * @param {string} layout Layout mode can be: 'continuous' - this is the\r\n * default continuous scroll. 'single' - the single page mode only shows one\r\n * page at a time. 'twoleft' - two column left mode, first page starts on\r\n * the left, and 'tworight' - pages are laid out in two columns, with the\r\n * first page on the right. This would be used for books.\r\n * @param {string} pmode 'UseOutlines' - it shows the\r\n * outline of the document on the left. 'UseThumbs' - shows thumbnails along\r\n * the left. 'FullScreen' - prompts the user to enter fullscreen mode.\r\n *\r\n * @returns {jsPDF}\r\n */\r\n API.__private__.setDisplayMode = API.setDisplayMode = function(\r\n zoom,\r\n layout,\r\n pmode\r\n ) {\r\n setZoomMode(zoom);\r\n setLayoutMode(layout);\r\n setPageMode(pmode);\r\n return this;\r\n };\r\n\r\n var documentProperties = {\r\n title: \"\",\r\n subject: \"\",\r\n author: \"\",\r\n keywords: \"\",\r\n creator: \"\"\r\n };\r\n\r\n API.__private__.getDocumentProperty = function(key) {\r\n if (Object.keys(documentProperties).indexOf(key) === -1) {\r\n throw new Error(\"Invalid argument passed to jsPDF.getDocumentProperty\");\r\n }\r\n return documentProperties[key];\r\n };\r\n\r\n API.__private__.getDocumentProperties = function() {\r\n return documentProperties;\r\n };\r\n\r\n /**\r\n * Adds a properties to the PDF document.\r\n *\r\n * @param {Object} A property_name-to-property_value object structure.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setDocumentProperties\r\n */\r\n API.__private__.setDocumentProperties = API.setProperties = API.setDocumentProperties = function(\r\n properties\r\n ) {\r\n // copying only those properties we can render.\r\n for (var property in documentProperties) {\r\n if (documentProperties.hasOwnProperty(property) && properties[property]) {\r\n documentProperties[property] = properties[property];\r\n }\r\n }\r\n return this;\r\n };\r\n\r\n API.__private__.setDocumentProperty = function(key, value) {\r\n if (Object.keys(documentProperties).indexOf(key) === -1) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.setDocumentProperty\");\r\n }\r\n return (documentProperties[key] = value);\r\n };\r\n\r\n var fonts = {}; // collection of font objects, where key is fontKey - a dynamically created label for a given font.\r\n var fontmap = {}; // mapping structure fontName > fontStyle > font key - performance layer. See addFont()\r\n var activeFontKey; // will be string representing the KEY of the font as combination of fontName + fontStyle\r\n var fontStateStack = []; //\r\n var patterns = {}; // collection of pattern objects\r\n var patternMap = {}; // see fonts\r\n var gStates = {}; // collection of graphic state objects\r\n var gStatesMap = {}; // see fonts\r\n var activeGState = null;\r\n var scaleFactor; // Scale factor\r\n var page = 0;\r\n var pagesContext = [];\r\n var events = new PubSub(API);\r\n var hotfixes = options.hotfixes || [];\r\n\r\n var renderTargets = {};\r\n var renderTargetMap = {};\r\n var renderTargetStack = [];\r\n var pageX;\r\n var pageY;\r\n var pageMatrix; // only used for FormObjects\r\n\r\n /**\r\n * A matrix object for 2D homogenous transformations:
\r\n * | a b 0 |
\r\n * | c d 0 |
\r\n * | e f 1 |
\r\n * pdf multiplies matrices righthand: v' = v x m1 x m2 x ...\r\n *\r\n * @class\r\n * @name Matrix\r\n * @param {number} sx\r\n * @param {number} shy\r\n * @param {number} shx\r\n * @param {number} sy\r\n * @param {number} tx\r\n * @param {number} ty\r\n * @constructor\r\n */\r\n var Matrix = function(sx, shy, shx, sy, tx, ty) {\r\n if (!(this instanceof Matrix)) {\r\n return new Matrix(sx, shy, shx, sy, tx, ty);\r\n }\r\n\r\n if (isNaN(sx)) sx = 1;\r\n if (isNaN(shy)) shy = 0;\r\n if (isNaN(shx)) shx = 0;\r\n if (isNaN(sy)) sy = 1;\r\n if (isNaN(tx)) tx = 0;\r\n if (isNaN(ty)) ty = 0;\r\n\r\n this._matrix = [sx, shy, shx, sy, tx, ty];\r\n };\r\n\r\n /**\r\n * @name sx\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"sx\", {\r\n get: function() {\r\n return this._matrix[0];\r\n },\r\n set: function(value) {\r\n this._matrix[0] = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name shy\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"shy\", {\r\n get: function() {\r\n return this._matrix[1];\r\n },\r\n set: function(value) {\r\n this._matrix[1] = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name shx\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"shx\", {\r\n get: function() {\r\n return this._matrix[2];\r\n },\r\n set: function(value) {\r\n this._matrix[2] = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name sy\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"sy\", {\r\n get: function() {\r\n return this._matrix[3];\r\n },\r\n set: function(value) {\r\n this._matrix[3] = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name tx\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"tx\", {\r\n get: function() {\r\n return this._matrix[4];\r\n },\r\n set: function(value) {\r\n this._matrix[4] = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name ty\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"ty\", {\r\n get: function() {\r\n return this._matrix[5];\r\n },\r\n set: function(value) {\r\n this._matrix[5] = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(Matrix.prototype, \"a\", {\r\n get: function() {\r\n return this._matrix[0];\r\n },\r\n set: function(value) {\r\n this._matrix[0] = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(Matrix.prototype, \"b\", {\r\n get: function() {\r\n return this._matrix[1];\r\n },\r\n set: function(value) {\r\n this._matrix[1] = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(Matrix.prototype, \"c\", {\r\n get: function() {\r\n return this._matrix[2];\r\n },\r\n set: function(value) {\r\n this._matrix[2] = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(Matrix.prototype, \"d\", {\r\n get: function() {\r\n return this._matrix[3];\r\n },\r\n set: function(value) {\r\n this._matrix[3] = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(Matrix.prototype, \"e\", {\r\n get: function() {\r\n return this._matrix[4];\r\n },\r\n set: function(value) {\r\n this._matrix[4] = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(Matrix.prototype, \"f\", {\r\n get: function() {\r\n return this._matrix[5];\r\n },\r\n set: function(value) {\r\n this._matrix[5] = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name rotation\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"rotation\", {\r\n get: function() {\r\n return Math.atan2(this.shx, this.sx);\r\n }\r\n });\r\n\r\n /**\r\n * @name scaleX\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"scaleX\", {\r\n get: function() {\r\n return this.decompose().scale.sx;\r\n }\r\n });\r\n\r\n /**\r\n * @name scaleY\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"scaleY\", {\r\n get: function() {\r\n return this.decompose().scale.sy;\r\n }\r\n });\r\n\r\n /**\r\n * @name isIdentity\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"isIdentity\", {\r\n get: function() {\r\n if (this.sx !== 1) {\r\n return false;\r\n }\r\n if (this.shy !== 0) {\r\n return false;\r\n }\r\n if (this.shx !== 0) {\r\n return false;\r\n }\r\n if (this.sy !== 1) {\r\n return false;\r\n }\r\n if (this.tx !== 0) {\r\n return false;\r\n }\r\n if (this.ty !== 0) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n });\r\n\r\n /**\r\n * Join the Matrix Values to a String\r\n *\r\n * @function join\r\n * @param {string} separator Specifies a string to separate each pair of adjacent elements of the array. The separator is converted to a string if necessary. If omitted, the array elements are separated with a comma (\",\"). If separator is an empty string, all elements are joined without any characters in between them.\r\n * @returns {string} A string with all array elements joined.\r\n * @memberof Matrix#\r\n */\r\n Matrix.prototype.join = function(separator) {\r\n return [this.sx, this.shy, this.shx, this.sy, this.tx, this.ty]\r\n .map(hpf)\r\n .join(separator);\r\n };\r\n\r\n /**\r\n * Multiply the matrix with given Matrix\r\n *\r\n * @function multiply\r\n * @param matrix\r\n * @returns {Matrix}\r\n * @memberof Matrix#\r\n */\r\n Matrix.prototype.multiply = function(matrix) {\r\n var sx = matrix.sx * this.sx + matrix.shy * this.shx;\r\n var shy = matrix.sx * this.shy + matrix.shy * this.sy;\r\n var shx = matrix.shx * this.sx + matrix.sy * this.shx;\r\n var sy = matrix.shx * this.shy + matrix.sy * this.sy;\r\n var tx = matrix.tx * this.sx + matrix.ty * this.shx + this.tx;\r\n var ty = matrix.tx * this.shy + matrix.ty * this.sy + this.ty;\r\n\r\n return new Matrix(sx, shy, shx, sy, tx, ty);\r\n };\r\n\r\n /**\r\n * @function decompose\r\n * @memberof Matrix#\r\n */\r\n Matrix.prototype.decompose = function() {\r\n var a = this.sx;\r\n var b = this.shy;\r\n var c = this.shx;\r\n var d = this.sy;\r\n var e = this.tx;\r\n var f = this.ty;\r\n\r\n var scaleX = Math.sqrt(a * a + b * b);\r\n a /= scaleX;\r\n b /= scaleX;\r\n\r\n var shear = a * c + b * d;\r\n c -= a * shear;\r\n d -= b * shear;\r\n\r\n var scaleY = Math.sqrt(c * c + d * d);\r\n c /= scaleY;\r\n d /= scaleY;\r\n shear /= scaleY;\r\n\r\n if (a * d < b * c) {\r\n a = -a;\r\n b = -b;\r\n shear = -shear;\r\n scaleX = -scaleX;\r\n }\r\n\r\n return {\r\n scale: new Matrix(scaleX, 0, 0, scaleY, 0, 0),\r\n translate: new Matrix(1, 0, 0, 1, e, f),\r\n rotate: new Matrix(a, b, -b, a, 0, 0),\r\n skew: new Matrix(1, 0, shear, 1, 0, 0)\r\n };\r\n };\r\n\r\n /**\r\n * @function toString\r\n * @memberof Matrix#\r\n */\r\n Matrix.prototype.toString = function(parmPrecision) {\r\n return this.join(\" \");\r\n };\r\n\r\n /**\r\n * @function inversed\r\n * @memberof Matrix#\r\n */\r\n Matrix.prototype.inversed = function() {\r\n var a = this.sx,\r\n b = this.shy,\r\n c = this.shx,\r\n d = this.sy,\r\n e = this.tx,\r\n f = this.ty;\r\n\r\n var quot = 1 / (a * d - b * c);\r\n\r\n var aInv = d * quot;\r\n var bInv = -b * quot;\r\n var cInv = -c * quot;\r\n var dInv = a * quot;\r\n var eInv = -aInv * e - cInv * f;\r\n var fInv = -bInv * e - dInv * f;\r\n\r\n return new Matrix(aInv, bInv, cInv, dInv, eInv, fInv);\r\n };\r\n\r\n /**\r\n * @function applyToPoint\r\n * @memberof Matrix#\r\n */\r\n Matrix.prototype.applyToPoint = function(pt) {\r\n var x = pt.x * this.sx + pt.y * this.shx + this.tx;\r\n var y = pt.x * this.shy + pt.y * this.sy + this.ty;\r\n return new Point(x, y);\r\n };\r\n\r\n /**\r\n * @function applyToRectangle\r\n * @memberof Matrix#\r\n */\r\n Matrix.prototype.applyToRectangle = function(rect) {\r\n var pt1 = this.applyToPoint(rect);\r\n var pt2 = this.applyToPoint(new Point(rect.x + rect.w, rect.y + rect.h));\r\n return new Rectangle(pt1.x, pt1.y, pt2.x - pt1.x, pt2.y - pt1.y);\r\n };\r\n\r\n /**\r\n * Clone the Matrix\r\n *\r\n * @function clone\r\n * @memberof Matrix#\r\n * @name clone\r\n * @instance\r\n */\r\n Matrix.prototype.clone = function() {\r\n var sx = this.sx;\r\n var shy = this.shy;\r\n var shx = this.shx;\r\n var sy = this.sy;\r\n var tx = this.tx;\r\n var ty = this.ty;\r\n\r\n return new Matrix(sx, shy, shx, sy, tx, ty);\r\n };\r\n\r\n API.Matrix = Matrix;\r\n\r\n /**\r\n * Multiplies two matrices. (see {@link Matrix})\r\n * @param {Matrix} m1\r\n * @param {Matrix} m2\r\n * @memberof jsPDF#\r\n * @name matrixMult\r\n */\r\n var matrixMult = (API.matrixMult = function(m1, m2) {\r\n return m2.multiply(m1);\r\n });\r\n\r\n /**\r\n * The identity matrix (equivalent to new Matrix(1, 0, 0, 1, 0, 0)).\r\n * @type {Matrix}\r\n * @memberof! jsPDF#\r\n * @name identityMatrix\r\n */\r\n var identityMatrix = new Matrix(1, 0, 0, 1, 0, 0);\r\n API.unitMatrix = API.identityMatrix = identityMatrix;\r\n\r\n /**\r\n * Adds a new pattern for later use.\r\n * @param {String} key The key by it can be referenced later. The keys must be unique!\r\n * @param {API.Pattern} pattern The pattern\r\n */\r\n var addPattern = function(key, pattern) {\r\n // only add it if it is not already present (the keys provided by the user must be unique!)\r\n if (patternMap[key]) return;\r\n\r\n var prefix = pattern instanceof ShadingPattern ? \"Sh\" : \"P\";\r\n var patternKey = prefix + (Object.keys(patterns).length + 1).toString(10);\r\n pattern.id = patternKey;\r\n\r\n patternMap[key] = patternKey;\r\n patterns[patternKey] = pattern;\r\n\r\n events.publish(\"addPattern\", pattern);\r\n };\r\n\r\n /**\r\n * A pattern describing a shading pattern.\r\n *\r\n * Only available in \"advanced\" API mode.\r\n *\r\n * @param {String} type One of \"axial\" or \"radial\"\r\n * @param {Array} coords Either [x1, y1, x2, y2] for \"axial\" type describing the two interpolation points\r\n * or [x1, y1, r, x2, y2, r2] for \"radial\" describing inner and the outer circle.\r\n * @param {Array} colors An array of objects with the fields \"offset\" and \"color\". \"offset\" describes\r\n * the offset in parameter space [0, 1]. \"color\" is an array of length 3 describing RGB values in [0, 255].\r\n * @param {GState=} gState An additional graphics state that gets applied to the pattern (optional).\r\n * @param {Matrix=} matrix A matrix that describes the transformation between the pattern coordinate system\r\n * and the use coordinate system (optional).\r\n * @constructor\r\n * @extends API.Pattern\r\n */\r\n API.ShadingPattern = ShadingPattern;\r\n\r\n /**\r\n * A PDF Tiling pattern.\r\n *\r\n * Only available in \"advanced\" API mode.\r\n *\r\n * @param {Array.} boundingBox The bounding box at which one pattern cell gets clipped.\r\n * @param {Number} xStep Horizontal spacing between pattern cells.\r\n * @param {Number} yStep Vertical spacing between pattern cells.\r\n * @param {API.GState=} gState An additional graphics state that gets applied to the pattern (optional).\r\n * @param {Matrix=} matrix A matrix that describes the transformation between the pattern coordinate system\r\n * and the use coordinate system (optional).\r\n * @constructor\r\n * @extends API.Pattern\r\n */\r\n API.TilingPattern = TilingPattern;\r\n\r\n /**\r\n * Adds a new {@link API.ShadingPattern} for later use. Only available in \"advanced\" API mode.\r\n * @param {String} key\r\n * @param {Pattern} pattern\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name addPattern\r\n */\r\n API.addShadingPattern = function(key, pattern) {\r\n advancedApiModeTrap(\"addShadingPattern()\");\r\n\r\n addPattern(key, pattern);\r\n return this;\r\n };\r\n\r\n /**\r\n * Begins a new tiling pattern. All subsequent render calls are drawn to this pattern until {@link API.endTilingPattern}\r\n * gets called. Only available in \"advanced\" API mode.\r\n * @param {API.Pattern} pattern\r\n * @memberof jsPDF#\r\n * @name beginTilingPattern\r\n */\r\n API.beginTilingPattern = function(pattern) {\r\n advancedApiModeTrap(\"beginTilingPattern()\");\r\n\r\n beginNewRenderTarget(\r\n pattern.boundingBox[0],\r\n pattern.boundingBox[1],\r\n pattern.boundingBox[2] - pattern.boundingBox[0],\r\n pattern.boundingBox[3] - pattern.boundingBox[1],\r\n pattern.matrix\r\n );\r\n };\r\n\r\n /**\r\n * Ends a tiling pattern and sets the render target to the one active before {@link API.beginTilingPattern} has been called.\r\n *\r\n * Only available in \"advanced\" API mode.\r\n *\r\n * @param {string} key A unique key that is used to reference this pattern at later use.\r\n * @param {API.Pattern} pattern The pattern to end.\r\n * @memberof jsPDF#\r\n * @name endTilingPattern\r\n */\r\n API.endTilingPattern = function(key, pattern) {\r\n advancedApiModeTrap(\"endTilingPattern()\");\r\n\r\n // retrieve the stream\r\n pattern.stream = pages[currentPage].join(\"\\n\");\r\n\r\n addPattern(key, pattern);\r\n\r\n events.publish(\"endTilingPattern\", pattern);\r\n\r\n // restore state from stack\r\n renderTargetStack.pop().restore();\r\n };\r\n\r\n var newObject = (API.__private__.newObject = function() {\r\n var oid = newObjectDeferred();\r\n newObjectDeferredBegin(oid, true);\r\n return oid;\r\n });\r\n\r\n // Does not output the object. The caller must call newObjectDeferredBegin(oid) before outputing any data\r\n var newObjectDeferred = (API.__private__.newObjectDeferred = function() {\r\n objectNumber++;\r\n offsets[objectNumber] = function() {\r\n return contentLength;\r\n };\r\n return objectNumber;\r\n });\r\n\r\n var newObjectDeferredBegin = function(oid, doOutput) {\r\n doOutput = typeof doOutput === \"boolean\" ? doOutput : false;\r\n offsets[oid] = contentLength;\r\n if (doOutput) {\r\n out(oid + \" 0 obj\");\r\n }\r\n return oid;\r\n };\r\n // Does not output the object until after the pages have been output.\r\n // Returns an object containing the objectId and content.\r\n // All pages have been added so the object ID can be estimated to start right after.\r\n // This does not modify the current objectNumber; It must be updated after the newObjects are output.\r\n var newAdditionalObject = (API.__private__.newAdditionalObject = function() {\r\n var objId = newObjectDeferred();\r\n var obj = {\r\n objId: objId,\r\n content: \"\"\r\n };\r\n additionalObjects.push(obj);\r\n return obj;\r\n });\r\n\r\n var rootDictionaryObjId = newObjectDeferred();\r\n var resourceDictionaryObjId = newObjectDeferred();\r\n\r\n /////////////////////\r\n // Private functions\r\n /////////////////////\r\n\r\n var decodeColorString = (API.__private__.decodeColorString = function(color) {\r\n var colorEncoded = color.split(\" \");\r\n if (\r\n colorEncoded.length === 2 &&\r\n (colorEncoded[1] === \"g\" || colorEncoded[1] === \"G\")\r\n ) {\r\n // convert grayscale value to rgb so that it can be converted to hex for consistency\r\n var floatVal = parseFloat(colorEncoded[0]);\r\n colorEncoded = [floatVal, floatVal, floatVal, \"r\"];\r\n } else if (\r\n colorEncoded.length === 5 &&\r\n (colorEncoded[4] === \"k\" || colorEncoded[4] === \"K\")\r\n ) {\r\n // convert CMYK values to rbg so that it can be converted to hex for consistency\r\n var red = (1.0 - colorEncoded[0]) * (1.0 - colorEncoded[3]);\r\n var green = (1.0 - colorEncoded[1]) * (1.0 - colorEncoded[3]);\r\n var blue = (1.0 - colorEncoded[2]) * (1.0 - colorEncoded[3]);\r\n\r\n colorEncoded = [red, green, blue, \"r\"];\r\n }\r\n var colorAsRGB = \"#\";\r\n for (var i = 0; i < 3; i++) {\r\n colorAsRGB += (\r\n \"0\" + Math.floor(parseFloat(colorEncoded[i]) * 255).toString(16)\r\n ).slice(-2);\r\n }\r\n return colorAsRGB;\r\n });\r\n\r\n var encodeColorString = (API.__private__.encodeColorString = function(\r\n options\r\n ) {\r\n var color;\r\n\r\n if (typeof options === \"string\") {\r\n options = {\r\n ch1: options\r\n };\r\n }\r\n var ch1 = options.ch1;\r\n var ch2 = options.ch2;\r\n var ch3 = options.ch3;\r\n var ch4 = options.ch4;\r\n var letterArray =\r\n options.pdfColorType === \"draw\" ? [\"G\", \"RG\", \"K\"] : [\"g\", \"rg\", \"k\"];\r\n\r\n if (typeof ch1 === \"string\" && ch1.charAt(0) !== \"#\") {\r\n var rgbColor = new RGBColor(ch1);\r\n if (rgbColor.ok) {\r\n ch1 = rgbColor.toHex();\r\n } else if (!/^\\d*\\.?\\d*$/.test(ch1)) {\r\n throw new Error(\r\n 'Invalid color \"' + ch1 + '\" passed to jsPDF.encodeColorString.'\r\n );\r\n }\r\n }\r\n //convert short rgb to long form\r\n if (typeof ch1 === \"string\" && /^#[0-9A-Fa-f]{3}$/.test(ch1)) {\r\n ch1 = \"#\" + ch1[1] + ch1[1] + ch1[2] + ch1[2] + ch1[3] + ch1[3];\r\n }\r\n\r\n if (typeof ch1 === \"string\" && /^#[0-9A-Fa-f]{6}$/.test(ch1)) {\r\n var hex = parseInt(ch1.substr(1), 16);\r\n ch1 = (hex >> 16) & 255;\r\n ch2 = (hex >> 8) & 255;\r\n ch3 = hex & 255;\r\n }\r\n\r\n if (\r\n typeof ch2 === \"undefined\" ||\r\n (typeof ch4 === \"undefined\" && ch1 === ch2 && ch2 === ch3)\r\n ) {\r\n // Gray color space.\r\n if (typeof ch1 === \"string\") {\r\n color = ch1 + \" \" + letterArray[0];\r\n } else {\r\n switch (options.precision) {\r\n case 2:\r\n color = f2(ch1 / 255) + \" \" + letterArray[0];\r\n break;\r\n case 3:\r\n default:\r\n color = f3(ch1 / 255) + \" \" + letterArray[0];\r\n }\r\n }\r\n } else if (typeof ch4 === \"undefined\" || typeof ch4 === \"object\") {\r\n // assume RGBA\r\n if (ch4 && !isNaN(ch4.a)) {\r\n //TODO Implement transparency.\r\n //WORKAROUND use white for now, if transparent, otherwise handle as rgb\r\n if (ch4.a === 0) {\r\n color = [\"1.\", \"1.\", \"1.\", letterArray[1]].join(\" \");\r\n return color;\r\n }\r\n }\r\n // assume RGB\r\n if (typeof ch1 === \"string\") {\r\n color = [ch1, ch2, ch3, letterArray[1]].join(\" \");\r\n } else {\r\n switch (options.precision) {\r\n case 2:\r\n color = [\r\n f2(ch1 / 255),\r\n f2(ch2 / 255),\r\n f2(ch3 / 255),\r\n letterArray[1]\r\n ].join(\" \");\r\n break;\r\n default:\r\n case 3:\r\n color = [\r\n f3(ch1 / 255),\r\n f3(ch2 / 255),\r\n f3(ch3 / 255),\r\n letterArray[1]\r\n ].join(\" \");\r\n }\r\n }\r\n } else {\r\n // assume CMYK\r\n if (typeof ch1 === \"string\") {\r\n color = [ch1, ch2, ch3, ch4, letterArray[2]].join(\" \");\r\n } else {\r\n switch (options.precision) {\r\n case 2:\r\n color = [f2(ch1), f2(ch2), f2(ch3), f2(ch4), letterArray[2]].join(\r\n \" \"\r\n );\r\n break;\r\n case 3:\r\n default:\r\n color = [f3(ch1), f3(ch2), f3(ch3), f3(ch4), letterArray[2]].join(\r\n \" \"\r\n );\r\n }\r\n }\r\n }\r\n return color;\r\n });\r\n\r\n var getFilters = (API.__private__.getFilters = function() {\r\n return filters;\r\n });\r\n\r\n var putStream = (API.__private__.putStream = function(options) {\r\n options = options || {};\r\n var data = options.data || \"\";\r\n var filters = options.filters || getFilters();\r\n var alreadyAppliedFilters = options.alreadyAppliedFilters || [];\r\n var addLength1 = options.addLength1 || false;\r\n var valueOfLength1 = data.length;\r\n var objectId = options.objectId;\r\n var encryptor = function(data) {\r\n return data;\r\n };\r\n if (encryptionOptions !== null && typeof objectId == \"undefined\") {\r\n throw new Error(\r\n \"ObjectId must be passed to putStream for file encryption\"\r\n );\r\n }\r\n if (encryptionOptions !== null) {\r\n encryptor = encryption.encryptor(objectId, 0);\r\n }\r\n\r\n var processedData = {};\r\n if (filters === true) {\r\n filters = [\"FlateEncode\"];\r\n }\r\n var keyValues = options.additionalKeyValues || [];\r\n if (typeof jsPDF.API.processDataByFilters !== \"undefined\") {\r\n processedData = jsPDF.API.processDataByFilters(data, filters);\r\n } else {\r\n processedData = { data: data, reverseChain: [] };\r\n }\r\n var filterAsString =\r\n processedData.reverseChain +\r\n (Array.isArray(alreadyAppliedFilters)\r\n ? alreadyAppliedFilters.join(\" \")\r\n : alreadyAppliedFilters.toString());\r\n\r\n if (processedData.data.length !== 0) {\r\n keyValues.push({\r\n key: \"Length\",\r\n value: processedData.data.length\r\n });\r\n if (addLength1 === true) {\r\n keyValues.push({\r\n key: \"Length1\",\r\n value: valueOfLength1\r\n });\r\n }\r\n }\r\n\r\n if (filterAsString.length != 0) {\r\n if (filterAsString.split(\"/\").length - 1 === 1) {\r\n keyValues.push({\r\n key: \"Filter\",\r\n value: filterAsString\r\n });\r\n } else {\r\n keyValues.push({\r\n key: \"Filter\",\r\n value: \"[\" + filterAsString + \"]\"\r\n });\r\n\r\n for (var j = 0; j < keyValues.length; j += 1) {\r\n if (keyValues[j].key === \"DecodeParms\") {\r\n var decodeParmsArray = [];\r\n\r\n for (\r\n var i = 0;\r\n i < processedData.reverseChain.split(\"/\").length - 1;\r\n i += 1\r\n ) {\r\n decodeParmsArray.push(\"null\");\r\n }\r\n\r\n decodeParmsArray.push(keyValues[j].value);\r\n keyValues[j].value = \"[\" + decodeParmsArray.join(\" \") + \"]\";\r\n }\r\n }\r\n }\r\n }\r\n\r\n out(\"<<\");\r\n for (var k = 0; k < keyValues.length; k++) {\r\n out(\"/\" + keyValues[k].key + \" \" + keyValues[k].value);\r\n }\r\n out(\">>\");\r\n if (processedData.data.length !== 0) {\r\n out(\"stream\");\r\n out(encryptor(processedData.data));\r\n out(\"endstream\");\r\n }\r\n });\r\n\r\n var putPage = (API.__private__.putPage = function(page) {\r\n var pageNumber = page.number;\r\n var data = page.data;\r\n var pageObjectNumber = page.objId;\r\n var pageContentsObjId = page.contentsObjId;\r\n\r\n newObjectDeferredBegin(pageObjectNumber, true);\r\n out(\"<>\");\r\n out(\"endobj\");\r\n // Page content\r\n var pageContent = data.join(\"\\n\");\r\n\r\n if (apiMode === ApiMode.ADVANCED) {\r\n // if the user forgot to switch back to COMPAT mode, we must balance the graphics stack again\r\n pageContent += \"\\nQ\";\r\n }\r\n\r\n newObjectDeferredBegin(pageContentsObjId, true);\r\n putStream({\r\n data: pageContent,\r\n filters: getFilters(),\r\n objectId: pageContentsObjId\r\n });\r\n out(\"endobj\");\r\n return pageObjectNumber;\r\n });\r\n\r\n var putPages = (API.__private__.putPages = function() {\r\n var n,\r\n i,\r\n pageObjectNumbers = [];\r\n\r\n for (n = 1; n <= page; n++) {\r\n pagesContext[n].objId = newObjectDeferred();\r\n pagesContext[n].contentsObjId = newObjectDeferred();\r\n }\r\n\r\n for (n = 1; n <= page; n++) {\r\n pageObjectNumbers.push(\r\n putPage({\r\n number: n,\r\n data: pages[n],\r\n objId: pagesContext[n].objId,\r\n contentsObjId: pagesContext[n].contentsObjId,\r\n mediaBox: pagesContext[n].mediaBox,\r\n cropBox: pagesContext[n].cropBox,\r\n bleedBox: pagesContext[n].bleedBox,\r\n trimBox: pagesContext[n].trimBox,\r\n artBox: pagesContext[n].artBox,\r\n userUnit: pagesContext[n].userUnit,\r\n rootDictionaryObjId: rootDictionaryObjId,\r\n resourceDictionaryObjId: resourceDictionaryObjId\r\n })\r\n );\r\n }\r\n newObjectDeferredBegin(rootDictionaryObjId, true);\r\n out(\"<>\");\r\n out(\"endobj\");\r\n events.publish(\"postPutPages\");\r\n });\r\n\r\n var putFont = function(font) {\r\n events.publish(\"putFont\", {\r\n font: font,\r\n out: out,\r\n newObject: newObject,\r\n putStream: putStream\r\n });\r\n\r\n if (font.isAlreadyPutted !== true) {\r\n font.objectNumber = newObject();\r\n out(\"<<\");\r\n out(\"/Type /Font\");\r\n out(\"/BaseFont /\" + toPDFName(font.postScriptName));\r\n out(\"/Subtype /Type1\");\r\n if (typeof font.encoding === \"string\") {\r\n out(\"/Encoding /\" + font.encoding);\r\n }\r\n out(\"/FirstChar 32\");\r\n out(\"/LastChar 255\");\r\n out(\">>\");\r\n out(\"endobj\");\r\n }\r\n };\r\n\r\n var putFonts = function() {\r\n for (var fontKey in fonts) {\r\n if (fonts.hasOwnProperty(fontKey)) {\r\n if (\r\n putOnlyUsedFonts === false ||\r\n (putOnlyUsedFonts === true && usedFonts.hasOwnProperty(fontKey))\r\n ) {\r\n putFont(fonts[fontKey]);\r\n }\r\n }\r\n }\r\n };\r\n\r\n var putXObject = function(xObject) {\r\n xObject.objectNumber = newObject();\r\n\r\n var options = [];\r\n options.push({ key: \"Type\", value: \"/XObject\" });\r\n options.push({ key: \"Subtype\", value: \"/Form\" });\r\n options.push({\r\n key: \"BBox\",\r\n value:\r\n \"[\" +\r\n [\r\n hpf(xObject.x),\r\n hpf(xObject.y),\r\n hpf(xObject.x + xObject.width),\r\n hpf(xObject.y + xObject.height)\r\n ].join(\" \") +\r\n \"]\"\r\n });\r\n options.push({\r\n key: \"Matrix\",\r\n value: \"[\" + xObject.matrix.toString() + \"]\"\r\n });\r\n // TODO: /Resources\r\n\r\n var stream = xObject.pages[1].join(\"\\n\");\r\n putStream({\r\n data: stream,\r\n additionalKeyValues: options,\r\n objectId: xObject.objectNumber\r\n });\r\n out(\"endobj\");\r\n };\r\n\r\n var putXObjects = function() {\r\n for (var xObjectKey in renderTargets) {\r\n if (renderTargets.hasOwnProperty(xObjectKey)) {\r\n putXObject(renderTargets[xObjectKey]);\r\n }\r\n }\r\n };\r\n\r\n var interpolateAndEncodeRGBStream = function(colors, numberSamples) {\r\n var tValues = [];\r\n var t;\r\n var dT = 1.0 / (numberSamples - 1);\r\n for (t = 0.0; t < 1.0; t += dT) {\r\n tValues.push(t);\r\n }\r\n tValues.push(1.0);\r\n // add first and last control point if not present\r\n if (colors[0].offset != 0.0) {\r\n var c0 = {\r\n offset: 0.0,\r\n color: colors[0].color\r\n };\r\n colors.unshift(c0);\r\n }\r\n if (colors[colors.length - 1].offset != 1.0) {\r\n var c1 = {\r\n offset: 1.0,\r\n color: colors[colors.length - 1].color\r\n };\r\n colors.push(c1);\r\n }\r\n var out = \"\";\r\n var index = 0;\r\n\r\n for (var i = 0; i < tValues.length; i++) {\r\n t = tValues[i];\r\n while (t > colors[index + 1].offset) index++;\r\n var a = colors[index].offset;\r\n var b = colors[index + 1].offset;\r\n var d = (t - a) / (b - a);\r\n\r\n var aColor = colors[index].color;\r\n var bColor = colors[index + 1].color;\r\n\r\n out +=\r\n padd2Hex(Math.round((1 - d) * aColor[0] + d * bColor[0]).toString(16)) +\r\n padd2Hex(Math.round((1 - d) * aColor[1] + d * bColor[1]).toString(16)) +\r\n padd2Hex(Math.round((1 - d) * aColor[2] + d * bColor[2]).toString(16));\r\n }\r\n return out.trim();\r\n };\r\n\r\n var putShadingPattern = function(pattern, numberSamples) {\r\n /*\r\n Axial patterns shade between the two points specified in coords, radial patterns between the inner\r\n and outer circle.\r\n The user can specify an array (colors) that maps t-Values in [0, 1] to RGB colors. These are now\r\n interpolated to equidistant samples and written to pdf as a sample (type 0) function.\r\n */\r\n // The number of color samples that should be used to describe the shading.\r\n // The higher, the more accurate the gradient will be.\r\n numberSamples || (numberSamples = 21);\r\n var funcObjectNumber = newObject();\r\n var stream = interpolateAndEncodeRGBStream(pattern.colors, numberSamples);\r\n\r\n var options = [];\r\n options.push({ key: \"FunctionType\", value: \"0\" });\r\n options.push({ key: \"Domain\", value: \"[0.0 1.0]\" });\r\n options.push({ key: \"Size\", value: \"[\" + numberSamples + \"]\" });\r\n options.push({ key: \"BitsPerSample\", value: \"8\" });\r\n options.push({ key: \"Range\", value: \"[0.0 1.0 0.0 1.0 0.0 1.0]\" });\r\n options.push({ key: \"Decode\", value: \"[0.0 1.0 0.0 1.0 0.0 1.0]\" });\r\n\r\n putStream({\r\n data: stream,\r\n additionalKeyValues: options,\r\n alreadyAppliedFilters: [\"/ASCIIHexDecode\"],\r\n objectId: funcObjectNumber\r\n });\r\n out(\"endobj\");\r\n\r\n pattern.objectNumber = newObject();\r\n out(\"<< /ShadingType \" + pattern.type);\r\n out(\"/ColorSpace /DeviceRGB\");\r\n var coords =\r\n \"/Coords [\" +\r\n hpf(parseFloat(pattern.coords[0])) +\r\n \" \" + // x1\r\n hpf(parseFloat(pattern.coords[1])) +\r\n \" \"; // y1\r\n if (pattern.type === 2) {\r\n // axial\r\n coords +=\r\n hpf(parseFloat(pattern.coords[2])) +\r\n \" \" + // x2\r\n hpf(parseFloat(pattern.coords[3])); // y2\r\n } else {\r\n // radial\r\n coords +=\r\n hpf(parseFloat(pattern.coords[2])) +\r\n \" \" + // r1\r\n hpf(parseFloat(pattern.coords[3])) +\r\n \" \" + // x2\r\n hpf(parseFloat(pattern.coords[4])) +\r\n \" \" + // y2\r\n hpf(parseFloat(pattern.coords[5])); // r2\r\n }\r\n coords += \"]\";\r\n out(coords);\r\n\r\n if (pattern.matrix) {\r\n out(\"/Matrix [\" + pattern.matrix.toString() + \"]\");\r\n }\r\n out(\"/Function \" + funcObjectNumber + \" 0 R\");\r\n out(\"/Extend [true true]\");\r\n out(\">>\");\r\n out(\"endobj\");\r\n };\r\n\r\n var putTilingPattern = function(pattern, deferredResourceDictionaryIds) {\r\n var resourcesObjectId = newObjectDeferred();\r\n var patternObjectId = newObject();\r\n\r\n deferredResourceDictionaryIds.push({\r\n resourcesOid: resourcesObjectId,\r\n objectOid: patternObjectId\r\n });\r\n\r\n pattern.objectNumber = patternObjectId;\r\n var options = [];\r\n options.push({ key: \"Type\", value: \"/Pattern\" });\r\n options.push({ key: \"PatternType\", value: \"1\" }); // tiling pattern\r\n options.push({ key: \"PaintType\", value: \"1\" }); // colored tiling pattern\r\n options.push({ key: \"TilingType\", value: \"1\" }); // constant spacing\r\n options.push({\r\n key: \"BBox\",\r\n value: \"[\" + pattern.boundingBox.map(hpf).join(\" \") + \"]\"\r\n });\r\n options.push({ key: \"XStep\", value: hpf(pattern.xStep) });\r\n options.push({ key: \"YStep\", value: hpf(pattern.yStep) });\r\n options.push({ key: \"Resources\", value: resourcesObjectId + \" 0 R\" });\r\n if (pattern.matrix) {\r\n options.push({\r\n key: \"Matrix\",\r\n value: \"[\" + pattern.matrix.toString() + \"]\"\r\n });\r\n }\r\n\r\n putStream({\r\n data: pattern.stream,\r\n additionalKeyValues: options,\r\n objectId: pattern.objectNumber\r\n });\r\n out(\"endobj\");\r\n };\r\n\r\n var putPatterns = function(deferredResourceDictionaryIds) {\r\n var patternKey;\r\n for (patternKey in patterns) {\r\n if (patterns.hasOwnProperty(patternKey)) {\r\n if (patterns[patternKey] instanceof ShadingPattern) {\r\n putShadingPattern(patterns[patternKey]);\r\n } else if (patterns[patternKey] instanceof TilingPattern) {\r\n putTilingPattern(patterns[patternKey], deferredResourceDictionaryIds);\r\n }\r\n }\r\n }\r\n };\r\n\r\n var putGState = function(gState) {\r\n gState.objectNumber = newObject();\r\n out(\"<<\");\r\n for (var p in gState) {\r\n switch (p) {\r\n case \"opacity\":\r\n out(\"/ca \" + f2(gState[p]));\r\n break;\r\n case \"stroke-opacity\":\r\n out(\"/CA \" + f2(gState[p]));\r\n break;\r\n }\r\n }\r\n out(\">>\");\r\n out(\"endobj\");\r\n };\r\n\r\n var putGStates = function() {\r\n var gStateKey;\r\n for (gStateKey in gStates) {\r\n if (gStates.hasOwnProperty(gStateKey)) {\r\n putGState(gStates[gStateKey]);\r\n }\r\n }\r\n };\r\n\r\n var putXobjectDict = function() {\r\n out(\"/XObject <<\");\r\n for (var xObjectKey in renderTargets) {\r\n if (\r\n renderTargets.hasOwnProperty(xObjectKey) &&\r\n renderTargets[xObjectKey].objectNumber >= 0\r\n ) {\r\n out(\r\n \"/\" +\r\n xObjectKey +\r\n \" \" +\r\n renderTargets[xObjectKey].objectNumber +\r\n \" 0 R\"\r\n );\r\n }\r\n }\r\n\r\n // Loop through images, or other data objects\r\n events.publish(\"putXobjectDict\");\r\n out(\">>\");\r\n };\r\n\r\n var putEncryptionDict = function() {\r\n encryption.oid = newObject();\r\n out(\"<<\");\r\n out(\"/Filter /Standard\");\r\n out(\"/V \" + encryption.v);\r\n out(\"/R \" + encryption.r);\r\n out(\"/U <\" + encryption.toHexString(encryption.U) + \">\");\r\n out(\"/O <\" + encryption.toHexString(encryption.O) + \">\");\r\n out(\"/P \" + encryption.P);\r\n out(\">>\");\r\n out(\"endobj\");\r\n };\r\n\r\n var putFontDict = function() {\r\n out(\"/Font <<\");\r\n\r\n for (var fontKey in fonts) {\r\n if (fonts.hasOwnProperty(fontKey)) {\r\n if (\r\n putOnlyUsedFonts === false ||\r\n (putOnlyUsedFonts === true && usedFonts.hasOwnProperty(fontKey))\r\n ) {\r\n out(\"/\" + fontKey + \" \" + fonts[fontKey].objectNumber + \" 0 R\");\r\n }\r\n }\r\n }\r\n out(\">>\");\r\n };\r\n\r\n var putShadingPatternDict = function() {\r\n if (Object.keys(patterns).length > 0) {\r\n out(\"/Shading <<\");\r\n for (var patternKey in patterns) {\r\n if (\r\n patterns.hasOwnProperty(patternKey) &&\r\n patterns[patternKey] instanceof ShadingPattern &&\r\n patterns[patternKey].objectNumber >= 0\r\n ) {\r\n out(\r\n \"/\" + patternKey + \" \" + patterns[patternKey].objectNumber + \" 0 R\"\r\n );\r\n }\r\n }\r\n\r\n events.publish(\"putShadingPatternDict\");\r\n out(\">>\");\r\n }\r\n };\r\n\r\n var putTilingPatternDict = function(objectOid) {\r\n if (Object.keys(patterns).length > 0) {\r\n out(\"/Pattern <<\");\r\n for (var patternKey in patterns) {\r\n if (\r\n patterns.hasOwnProperty(patternKey) &&\r\n patterns[patternKey] instanceof API.TilingPattern &&\r\n patterns[patternKey].objectNumber >= 0 &&\r\n patterns[patternKey].objectNumber < objectOid // prevent cyclic dependencies\r\n ) {\r\n out(\r\n \"/\" + patternKey + \" \" + patterns[patternKey].objectNumber + \" 0 R\"\r\n );\r\n }\r\n }\r\n events.publish(\"putTilingPatternDict\");\r\n out(\">>\");\r\n }\r\n };\r\n\r\n var putGStatesDict = function() {\r\n if (Object.keys(gStates).length > 0) {\r\n var gStateKey;\r\n out(\"/ExtGState <<\");\r\n for (gStateKey in gStates) {\r\n if (\r\n gStates.hasOwnProperty(gStateKey) &&\r\n gStates[gStateKey].objectNumber >= 0\r\n ) {\r\n out(\"/\" + gStateKey + \" \" + gStates[gStateKey].objectNumber + \" 0 R\");\r\n }\r\n }\r\n\r\n events.publish(\"putGStateDict\");\r\n out(\">>\");\r\n }\r\n };\r\n\r\n var putResourceDictionary = function(objectIds) {\r\n newObjectDeferredBegin(objectIds.resourcesOid, true);\r\n out(\"<<\");\r\n out(\"/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]\");\r\n putFontDict();\r\n putShadingPatternDict();\r\n putTilingPatternDict(objectIds.objectOid);\r\n putGStatesDict();\r\n putXobjectDict();\r\n out(\">>\");\r\n out(\"endobj\");\r\n };\r\n\r\n var putResources = function() {\r\n // FormObjects, Patterns etc. might use other FormObjects/Patterns/Images\r\n // which means their resource dictionaries must contain the already resolved\r\n // object ids. For this reason we defer the serialization of the resource\r\n // dicts until all objects have been serialized and have object ids.\r\n //\r\n // In order to prevent cyclic dependencies (which Adobe Reader doesn't like),\r\n // we only put all oids that are smaller than the oid of the object the\r\n // resource dict belongs to. This is correct behavior, since the streams\r\n // may only use other objects that have already been defined and thus appear\r\n // earlier in their respective collection.\r\n // Currently, this only affects tiling patterns, but a (more) correct\r\n // implementation of FormObjects would also define their own resource dicts.\r\n var deferredResourceDictionaryIds = [];\r\n\r\n putFonts();\r\n putGStates();\r\n putXObjects();\r\n putPatterns(deferredResourceDictionaryIds);\r\n\r\n events.publish(\"putResources\");\r\n deferredResourceDictionaryIds.forEach(putResourceDictionary);\r\n putResourceDictionary({\r\n resourcesOid: resourceDictionaryObjId,\r\n objectOid: Number.MAX_SAFE_INTEGER // output all objects\r\n });\r\n events.publish(\"postPutResources\");\r\n };\r\n\r\n var putAdditionalObjects = function() {\r\n events.publish(\"putAdditionalObjects\");\r\n for (var i = 0; i < additionalObjects.length; i++) {\r\n var obj = additionalObjects[i];\r\n newObjectDeferredBegin(obj.objId, true);\r\n out(obj.content);\r\n out(\"endobj\");\r\n }\r\n events.publish(\"postPutAdditionalObjects\");\r\n };\r\n\r\n var addFontToFontDictionary = function(font) {\r\n fontmap[font.fontName] = fontmap[font.fontName] || {};\r\n fontmap[font.fontName][font.fontStyle] = font.id;\r\n };\r\n\r\n var addFont = function(\r\n postScriptName,\r\n fontName,\r\n fontStyle,\r\n encoding,\r\n isStandardFont\r\n ) {\r\n var font = {\r\n id: \"F\" + (Object.keys(fonts).length + 1).toString(10),\r\n postScriptName: postScriptName,\r\n fontName: fontName,\r\n fontStyle: fontStyle,\r\n encoding: encoding,\r\n isStandardFont: isStandardFont || false,\r\n metadata: {}\r\n };\r\n\r\n events.publish(\"addFont\", {\r\n font: font,\r\n instance: this\r\n });\r\n\r\n fonts[font.id] = font;\r\n addFontToFontDictionary(font);\r\n return font.id;\r\n };\r\n\r\n var addFonts = function(arrayOfFonts) {\r\n for (var i = 0, l = standardFonts.length; i < l; i++) {\r\n var fontKey = addFont.call(\r\n this,\r\n arrayOfFonts[i][0],\r\n arrayOfFonts[i][1],\r\n arrayOfFonts[i][2],\r\n standardFonts[i][3],\r\n true\r\n );\r\n\r\n if (putOnlyUsedFonts === false) {\r\n usedFonts[fontKey] = true;\r\n }\r\n // adding aliases for standard fonts, this time matching the capitalization\r\n var parts = arrayOfFonts[i][0].split(\"-\");\r\n addFontToFontDictionary({\r\n id: fontKey,\r\n fontName: parts[0],\r\n fontStyle: parts[1] || \"\"\r\n });\r\n }\r\n events.publish(\"addFonts\", {\r\n fonts: fonts,\r\n dictionary: fontmap\r\n });\r\n };\r\n\r\n var SAFE = function __safeCall(fn) {\r\n fn.foo = function __safeCallWrapper() {\r\n try {\r\n return fn.apply(this, arguments);\r\n } catch (e) {\r\n var stack = e.stack || \"\";\r\n if (~stack.indexOf(\" at \")) stack = stack.split(\" at \")[1];\r\n var m =\r\n \"Error in function \" +\r\n stack.split(\"\\n\")[0].split(\"<\")[0] +\r\n \": \" +\r\n e.message;\r\n if (globalObject.console) {\r\n globalObject.console.error(m, e);\r\n if (globalObject.alert) alert(m);\r\n } else {\r\n throw new Error(m);\r\n }\r\n }\r\n };\r\n fn.foo.bar = fn;\r\n return fn.foo;\r\n };\r\n\r\n var to8bitStream = function(text, flags) {\r\n /**\r\n * PDF 1.3 spec:\r\n * \"For text strings encoded in Unicode, the first two bytes must be 254 followed by\r\n * 255, representing the Unicode byte order marker, U+FEFF. (This sequence conflicts\r\n * with the PDFDocEncoding character sequence thorn ydieresis, which is unlikely\r\n * to be a meaningful beginning of a word or phrase.) The remainder of the\r\n * string consists of Unicode character codes, according to the UTF-16 encoding\r\n * specified in the Unicode standard, version 2.0. Commonly used Unicode values\r\n * are represented as 2 bytes per character, with the high-order byte appearing first\r\n * in the string.\"\r\n *\r\n * In other words, if there are chars in a string with char code above 255, we\r\n * recode the string to UCS2 BE - string doubles in length and BOM is prepended.\r\n *\r\n * HOWEVER!\r\n * Actual *content* (body) text (as opposed to strings used in document properties etc)\r\n * does NOT expect BOM. There, it is treated as a literal GID (Glyph ID)\r\n *\r\n * Because of Adobe's focus on \"you subset your fonts!\" you are not supposed to have\r\n * a font that maps directly Unicode (UCS2 / UTF16BE) code to font GID, but you could\r\n * fudge it with \"Identity-H\" encoding and custom CIDtoGID map that mimics Unicode\r\n * code page. There, however, all characters in the stream are treated as GIDs,\r\n * including BOM, which is the reason we need to skip BOM in content text (i.e. that\r\n * that is tied to a font).\r\n *\r\n * To signal this \"special\" PDFEscape / to8bitStream handling mode,\r\n * API.text() function sets (unless you overwrite it with manual values\r\n * given to API.text(.., flags) )\r\n * flags.autoencode = true\r\n * flags.noBOM = true\r\n *\r\n * ===================================================================================\r\n * `flags` properties relied upon:\r\n * .sourceEncoding = string with encoding label.\r\n * \"Unicode\" by default. = encoding of the incoming text.\r\n * pass some non-existing encoding name\r\n * (ex: 'Do not touch my strings! I know what I am doing.')\r\n * to make encoding code skip the encoding step.\r\n * .outputEncoding = Either valid PDF encoding name\r\n * (must be supported by jsPDF font metrics, otherwise no encoding)\r\n * or a JS object, where key = sourceCharCode, value = outputCharCode\r\n * missing keys will be treated as: sourceCharCode === outputCharCode\r\n * .noBOM\r\n * See comment higher above for explanation for why this is important\r\n * .autoencode\r\n * See comment higher above for explanation for why this is important\r\n */\r\n\r\n var i,\r\n l,\r\n sourceEncoding,\r\n encodingBlock,\r\n outputEncoding,\r\n newtext,\r\n isUnicode,\r\n ch,\r\n bch;\r\n\r\n flags = flags || {};\r\n sourceEncoding = flags.sourceEncoding || \"Unicode\";\r\n outputEncoding = flags.outputEncoding;\r\n\r\n // This 'encoding' section relies on font metrics format\r\n // attached to font objects by, among others,\r\n // \"Willow Systems' standard_font_metrics plugin\"\r\n // see jspdf.plugin.standard_font_metrics.js for format\r\n // of the font.metadata.encoding Object.\r\n // It should be something like\r\n // .encoding = {'codePages':['WinANSI....'], 'WinANSI...':{code:code, ...}}\r\n // .widths = {0:width, code:width, ..., 'fof':divisor}\r\n // .kerning = {code:{previous_char_code:shift, ..., 'fof':-divisor},...}\r\n if (\r\n (flags.autoencode || outputEncoding) &&\r\n fonts[activeFontKey].metadata &&\r\n fonts[activeFontKey].metadata[sourceEncoding] &&\r\n fonts[activeFontKey].metadata[sourceEncoding].encoding\r\n ) {\r\n encodingBlock = fonts[activeFontKey].metadata[sourceEncoding].encoding;\r\n\r\n // each font has default encoding. Some have it clearly defined.\r\n if (!outputEncoding && fonts[activeFontKey].encoding) {\r\n outputEncoding = fonts[activeFontKey].encoding;\r\n }\r\n\r\n // Hmmm, the above did not work? Let's try again, in different place.\r\n if (!outputEncoding && encodingBlock.codePages) {\r\n outputEncoding = encodingBlock.codePages[0]; // let's say, first one is the default\r\n }\r\n\r\n if (typeof outputEncoding === \"string\") {\r\n outputEncoding = encodingBlock[outputEncoding];\r\n }\r\n // we want output encoding to be a JS Object, where\r\n // key = sourceEncoding's character code and\r\n // value = outputEncoding's character code.\r\n if (outputEncoding) {\r\n isUnicode = false;\r\n newtext = [];\r\n for (i = 0, l = text.length; i < l; i++) {\r\n ch = outputEncoding[text.charCodeAt(i)];\r\n if (ch) {\r\n newtext.push(String.fromCharCode(ch));\r\n } else {\r\n newtext.push(text[i]);\r\n }\r\n\r\n // since we are looping over chars anyway, might as well\r\n // check for residual unicodeness\r\n if (newtext[i].charCodeAt(0) >> 8) {\r\n /* more than 255 */\r\n isUnicode = true;\r\n }\r\n }\r\n text = newtext.join(\"\");\r\n }\r\n }\r\n\r\n i = text.length;\r\n // isUnicode may be set to false above. Hence the triple-equal to undefined\r\n while (isUnicode === undefined && i !== 0) {\r\n if (text.charCodeAt(i - 1) >> 8) {\r\n /* more than 255 */\r\n isUnicode = true;\r\n }\r\n i--;\r\n }\r\n if (!isUnicode) {\r\n return text;\r\n }\r\n\r\n newtext = flags.noBOM ? [] : [254, 255];\r\n for (i = 0, l = text.length; i < l; i++) {\r\n ch = text.charCodeAt(i);\r\n bch = ch >> 8; // divide by 256\r\n if (bch >> 8) {\r\n /* something left after dividing by 256 second time */\r\n throw new Error(\r\n \"Character at position \" +\r\n i +\r\n \" of string '\" +\r\n text +\r\n \"' exceeds 16bits. Cannot be encoded into UCS-2 BE\"\r\n );\r\n }\r\n newtext.push(bch);\r\n newtext.push(ch - (bch << 8));\r\n }\r\n return String.fromCharCode.apply(undefined, newtext);\r\n };\r\n\r\n var pdfEscape = (API.__private__.pdfEscape = API.pdfEscape = function(\r\n text,\r\n flags\r\n ) {\r\n /**\r\n * Replace '/', '(', and ')' with pdf-safe versions\r\n *\r\n * Doing to8bitStream does NOT make this PDF display unicode text. For that\r\n * we also need to reference a unicode font and embed it - royal pain in the rear.\r\n *\r\n * There is still a benefit to to8bitStream - PDF simply cannot handle 16bit chars,\r\n * which JavaScript Strings are happy to provide. So, while we still cannot display\r\n * 2-byte characters property, at least CONDITIONALLY converting (entire string containing)\r\n * 16bit chars to (USC-2-BE) 2-bytes per char + BOM streams we ensure that entire PDF\r\n * is still parseable.\r\n * This will allow immediate support for unicode in document properties strings.\r\n */\r\n return to8bitStream(text, flags)\r\n .replace(/\\\\/g, \"\\\\\\\\\")\r\n .replace(/\\(/g, \"\\\\(\")\r\n .replace(/\\)/g, \"\\\\)\");\r\n });\r\n\r\n var beginPage = (API.__private__.beginPage = function(format) {\r\n pages[++page] = [];\r\n pagesContext[page] = {\r\n objId: 0,\r\n contentsObjId: 0,\r\n userUnit: Number(userUnit),\r\n artBox: null,\r\n bleedBox: null,\r\n cropBox: null,\r\n trimBox: null,\r\n mediaBox: {\r\n bottomLeftX: 0,\r\n bottomLeftY: 0,\r\n topRightX: Number(format[0]),\r\n topRightY: Number(format[1])\r\n }\r\n };\r\n _setPage(page);\r\n setOutputDestination(pages[currentPage]);\r\n });\r\n\r\n var _addPage = function(parmFormat, parmOrientation) {\r\n var dimensions, width, height;\r\n\r\n orientation = parmOrientation || orientation;\r\n\r\n if (typeof parmFormat === \"string\") {\r\n dimensions = getPageFormat(parmFormat.toLowerCase());\r\n if (Array.isArray(dimensions)) {\r\n width = dimensions[0];\r\n height = dimensions[1];\r\n }\r\n }\r\n\r\n if (Array.isArray(parmFormat)) {\r\n width = parmFormat[0] * scaleFactor;\r\n height = parmFormat[1] * scaleFactor;\r\n }\r\n\r\n if (isNaN(width)) {\r\n width = format[0];\r\n height = format[1];\r\n }\r\n\r\n if (width > 14400 || height > 14400) {\r\n console.warn(\r\n \"A page in a PDF can not be wider or taller than 14400 userUnit. jsPDF limits the width/height to 14400\"\r\n );\r\n width = Math.min(14400, width);\r\n height = Math.min(14400, height);\r\n }\r\n\r\n format = [width, height];\r\n\r\n switch (orientation.substr(0, 1)) {\r\n case \"l\":\r\n if (height > width) {\r\n format = [height, width];\r\n }\r\n break;\r\n case \"p\":\r\n if (width > height) {\r\n format = [height, width];\r\n }\r\n break;\r\n }\r\n\r\n beginPage(format);\r\n\r\n // Set line width\r\n setLineWidth(lineWidth);\r\n // Set draw color\r\n out(strokeColor);\r\n // resurrecting non-default line caps, joins\r\n if (lineCapID !== 0) {\r\n out(lineCapID + \" J\");\r\n }\r\n if (lineJoinID !== 0) {\r\n out(lineJoinID + \" j\");\r\n }\r\n events.publish(\"addPage\", {\r\n pageNumber: page\r\n });\r\n };\r\n\r\n var _deletePage = function(n) {\r\n if (n > 0 && n <= page) {\r\n pages.splice(n, 1);\r\n pagesContext.splice(n, 1);\r\n page--;\r\n if (currentPage > page) {\r\n currentPage = page;\r\n }\r\n this.setPage(currentPage);\r\n }\r\n };\r\n\r\n var _setPage = function(n) {\r\n if (n > 0 && n <= page) {\r\n currentPage = n;\r\n }\r\n };\r\n\r\n var getNumberOfPages = (API.__private__.getNumberOfPages = API.getNumberOfPages = function() {\r\n return pages.length - 1;\r\n });\r\n\r\n /**\r\n * Returns a document-specific font key - a label assigned to a\r\n * font name + font type combination at the time the font was added\r\n * to the font inventory.\r\n *\r\n * Font key is used as label for the desired font for a block of text\r\n * to be added to the PDF document stream.\r\n * @private\r\n * @function\r\n * @param fontName {string} can be undefined on \"falthy\" to indicate \"use current\"\r\n * @param fontStyle {string} can be undefined on \"falthy\" to indicate \"use current\"\r\n * @returns {string} Font key.\r\n * @ignore\r\n */\r\n var getFont = function(fontName, fontStyle, options) {\r\n var key = undefined,\r\n fontNameLowerCase;\r\n options = options || {};\r\n\r\n fontName =\r\n fontName !== undefined ? fontName : fonts[activeFontKey].fontName;\r\n fontStyle =\r\n fontStyle !== undefined ? fontStyle : fonts[activeFontKey].fontStyle;\r\n fontNameLowerCase = fontName.toLowerCase();\r\n\r\n if (\r\n fontmap[fontNameLowerCase] !== undefined &&\r\n fontmap[fontNameLowerCase][fontStyle] !== undefined\r\n ) {\r\n key = fontmap[fontNameLowerCase][fontStyle];\r\n } else if (\r\n fontmap[fontName] !== undefined &&\r\n fontmap[fontName][fontStyle] !== undefined\r\n ) {\r\n key = fontmap[fontName][fontStyle];\r\n } else {\r\n if (options.disableWarning === false) {\r\n console.warn(\r\n \"Unable to look up font label for font '\" +\r\n fontName +\r\n \"', '\" +\r\n fontStyle +\r\n \"'. Refer to getFontList() for available fonts.\"\r\n );\r\n }\r\n }\r\n\r\n if (!key && !options.noFallback) {\r\n key = fontmap[\"times\"][fontStyle];\r\n if (key == null) {\r\n key = fontmap[\"times\"][\"normal\"];\r\n }\r\n }\r\n return key;\r\n };\r\n\r\n var putInfo = (API.__private__.putInfo = function() {\r\n var objectId = newObject();\r\n var encryptor = function(data) {\r\n return data;\r\n };\r\n if (encryptionOptions !== null) {\r\n encryptor = encryption.encryptor(objectId, 0);\r\n }\r\n out(\"<<\");\r\n out(\"/Producer (\" + pdfEscape(encryptor(\"jsPDF \" + jsPDF.version)) + \")\");\r\n for (var key in documentProperties) {\r\n if (documentProperties.hasOwnProperty(key) && documentProperties[key]) {\r\n out(\r\n \"/\" +\r\n key.substr(0, 1).toUpperCase() +\r\n key.substr(1) +\r\n \" (\" +\r\n pdfEscape(encryptor(documentProperties[key])) +\r\n \")\"\r\n );\r\n }\r\n }\r\n out(\"/CreationDate (\" + pdfEscape(encryptor(creationDate)) + \")\");\r\n out(\">>\");\r\n out(\"endobj\");\r\n });\r\n\r\n var putCatalog = (API.__private__.putCatalog = function(options) {\r\n options = options || {};\r\n var tmpRootDictionaryObjId =\r\n options.rootDictionaryObjId || rootDictionaryObjId;\r\n newObject();\r\n out(\"<<\");\r\n out(\"/Type /Catalog\");\r\n out(\"/Pages \" + tmpRootDictionaryObjId + \" 0 R\");\r\n // PDF13ref Section 7.2.1\r\n if (!zoomMode) zoomMode = \"fullwidth\";\r\n switch (zoomMode) {\r\n case \"fullwidth\":\r\n out(\"/OpenAction [3 0 R /FitH null]\");\r\n break;\r\n case \"fullheight\":\r\n out(\"/OpenAction [3 0 R /FitV null]\");\r\n break;\r\n case \"fullpage\":\r\n out(\"/OpenAction [3 0 R /Fit]\");\r\n break;\r\n case \"original\":\r\n out(\"/OpenAction [3 0 R /XYZ null null 1]\");\r\n break;\r\n default:\r\n var pcn = \"\" + zoomMode;\r\n if (pcn.substr(pcn.length - 1) === \"%\")\r\n zoomMode = parseInt(zoomMode) / 100;\r\n if (typeof zoomMode === \"number\") {\r\n out(\"/OpenAction [3 0 R /XYZ null null \" + f2(zoomMode) + \"]\");\r\n }\r\n }\r\n if (!layoutMode) layoutMode = \"continuous\";\r\n switch (layoutMode) {\r\n case \"continuous\":\r\n out(\"/PageLayout /OneColumn\");\r\n break;\r\n case \"single\":\r\n out(\"/PageLayout /SinglePage\");\r\n break;\r\n case \"two\":\r\n case \"twoleft\":\r\n out(\"/PageLayout /TwoColumnLeft\");\r\n break;\r\n case \"tworight\":\r\n out(\"/PageLayout /TwoColumnRight\");\r\n break;\r\n }\r\n if (pageMode) {\r\n /**\r\n * A name object specifying how the document should be displayed when opened:\r\n * UseNone : Neither document outline nor thumbnail images visible -- DEFAULT\r\n * UseOutlines : Document outline visible\r\n * UseThumbs : Thumbnail images visible\r\n * FullScreen : Full-screen mode, with no menu bar, window controls, or any other window visible\r\n */\r\n out(\"/PageMode /\" + pageMode);\r\n }\r\n events.publish(\"putCatalog\");\r\n out(\">>\");\r\n out(\"endobj\");\r\n });\r\n\r\n var putTrailer = (API.__private__.putTrailer = function() {\r\n out(\"trailer\");\r\n out(\"<<\");\r\n out(\"/Size \" + (objectNumber + 1));\r\n // Root and Info must be the last and second last objects written respectively\r\n out(\"/Root \" + objectNumber + \" 0 R\");\r\n out(\"/Info \" + (objectNumber - 1) + \" 0 R\");\r\n if (encryptionOptions !== null) {\r\n out(\"/Encrypt \" + encryption.oid + \" 0 R\");\r\n }\r\n out(\"/ID [ <\" + fileId + \"> <\" + fileId + \"> ]\");\r\n out(\">>\");\r\n });\r\n\r\n var putHeader = (API.__private__.putHeader = function() {\r\n out(\"%PDF-\" + pdfVersion);\r\n out(\"%\\xBA\\xDF\\xAC\\xE0\");\r\n });\r\n\r\n var putXRef = (API.__private__.putXRef = function() {\r\n var p = \"0000000000\";\r\n\r\n out(\"xref\");\r\n out(\"0 \" + (objectNumber + 1));\r\n out(\"0000000000 65535 f \");\r\n for (var i = 1; i <= objectNumber; i++) {\r\n var offset = offsets[i];\r\n if (typeof offset === \"function\") {\r\n out((p + offsets[i]()).slice(-10) + \" 00000 n \");\r\n } else {\r\n if (typeof offsets[i] !== \"undefined\") {\r\n out((p + offsets[i]).slice(-10) + \" 00000 n \");\r\n } else {\r\n out(\"0000000000 00000 n \");\r\n }\r\n }\r\n }\r\n });\r\n\r\n var buildDocument = (API.__private__.buildDocument = function() {\r\n resetDocument();\r\n setOutputDestination(content);\r\n\r\n events.publish(\"buildDocument\");\r\n\r\n putHeader();\r\n putPages();\r\n putAdditionalObjects();\r\n putResources();\r\n if (encryptionOptions !== null) putEncryptionDict();\r\n putInfo();\r\n putCatalog();\r\n\r\n var offsetOfXRef = contentLength;\r\n putXRef();\r\n putTrailer();\r\n out(\"startxref\");\r\n out(\"\" + offsetOfXRef);\r\n out(\"%%EOF\");\r\n\r\n setOutputDestination(pages[currentPage]);\r\n\r\n return content.join(\"\\n\");\r\n });\r\n\r\n var getBlob = (API.__private__.getBlob = function(data) {\r\n return new Blob([getArrayBuffer(data)], {\r\n type: \"application/pdf\"\r\n });\r\n });\r\n\r\n /**\r\n * Generates the PDF document.\r\n *\r\n * If `type` argument is undefined, output is raw body of resulting PDF returned as a string.\r\n *\r\n * @param {string} type A string identifying one of the possible output types.
\r\n * Possible values are:
\r\n * 'arraybuffer' -> (ArrayBuffer)
\r\n * 'blob' -> (Blob)
\r\n * 'bloburi'/'bloburl' -> (string)
\r\n * 'datauristring'/'dataurlstring' -> (string)
\r\n * 'datauri'/'dataurl' -> (undefined) -> change location to generated datauristring/dataurlstring
\r\n * 'dataurlnewwindow' -> (window | null | undefined) throws error if global isn't a window object(node)
\r\n * 'pdfobjectnewwindow' -> (window | null) throws error if global isn't a window object(node)
\r\n * 'pdfjsnewwindow' -> (wind | null)\r\n * @param {Object|string} options An object providing some additional signalling to PDF generator.
\r\n * Possible options are 'filename'.
\r\n * A string can be passed instead of {filename:string} and defaults to 'generated.pdf'\r\n * @function\r\n * @instance\r\n * @returns {string|window|ArrayBuffer|Blob|jsPDF|null|undefined}\r\n * @memberof jsPDF#\r\n * @name output\r\n */\r\n var output = (API.output = API.__private__.output = SAFE(function output(\r\n type,\r\n options\r\n ) {\r\n options = options || {};\r\n\r\n if (typeof options === \"string\") {\r\n options = {\r\n filename: options\r\n };\r\n } else {\r\n options.filename = options.filename || \"generated.pdf\";\r\n }\r\n\r\n switch (type) {\r\n case undefined:\r\n return buildDocument();\r\n case \"save\":\r\n API.save(options.filename);\r\n break;\r\n case \"arraybuffer\":\r\n return getArrayBuffer(buildDocument());\r\n case \"blob\":\r\n return getBlob(buildDocument());\r\n case \"bloburi\":\r\n case \"bloburl\":\r\n // Developer is responsible of calling revokeObjectURL\r\n if (\r\n typeof globalObject.URL !== \"undefined\" &&\r\n typeof globalObject.URL.createObjectURL === \"function\"\r\n ) {\r\n return (\r\n (globalObject.URL &&\r\n globalObject.URL.createObjectURL(getBlob(buildDocument()))) ||\r\n void 0\r\n );\r\n } else {\r\n console.warn(\r\n \"bloburl is not supported by your system, because URL.createObjectURL is not supported by your browser.\"\r\n );\r\n }\r\n break;\r\n case \"datauristring\":\r\n case \"dataurlstring\":\r\n var dataURI = \"\";\r\n var pdfDocument = buildDocument();\r\n try {\r\n dataURI = btoa(pdfDocument);\r\n } catch (e) {\r\n dataURI = btoa(unescape(encodeURIComponent(pdfDocument)));\r\n }\r\n return (\r\n \"data:application/pdf;filename=\" +\r\n options.filename +\r\n \";base64,\" +\r\n dataURI\r\n );\r\n case \"pdfobjectnewwindow\":\r\n if (\r\n Object.prototype.toString.call(globalObject) === \"[object Window]\"\r\n ) {\r\n var pdfObjectUrl =\r\n \"https://cdnjs.cloudflare.com/ajax/libs/pdfobject/2.1.1/pdfobject.min.js\";\r\n var integrity =\r\n ' integrity=\"sha512-4ze/a9/4jqu+tX9dfOqJYSvyYd5M6qum/3HpCLr+/Jqf0whc37VUbkpNGHR7/8pSnCFw47T1fmIpwBV7UySh3g==\" crossorigin=\"anonymous\"';\r\n\r\n if (options.pdfObjectUrl) {\r\n pdfObjectUrl = options.pdfObjectUrl;\r\n integrity = \"\";\r\n }\r\n\r\n var htmlForNewWindow =\r\n \"\" +\r\n '\";\r\n var nW = globalObject.open();\r\n\r\n if (nW !== null) {\r\n nW.document.write(htmlForNewWindow);\r\n }\r\n return nW;\r\n } else {\r\n throw new Error(\r\n \"The option pdfobjectnewwindow just works in a browser-environment.\"\r\n );\r\n }\r\n case \"pdfjsnewwindow\":\r\n if (\r\n Object.prototype.toString.call(globalObject) === \"[object Window]\"\r\n ) {\r\n var pdfJsUrl = options.pdfJsUrl || \"examples/PDF.js/web/viewer.html\";\r\n var htmlForPDFjsNewWindow =\r\n \"\" +\r\n \"\" +\r\n '' +\r\n \"\";\r\n var dataURLNewWindow = globalObject.open();\r\n if (dataURLNewWindow !== null) {\r\n dataURLNewWindow.document.write(htmlForDataURLNewWindow);\r\n dataURLNewWindow.document.title = options.filename;\r\n }\r\n if (dataURLNewWindow || typeof safari === \"undefined\")\r\n return dataURLNewWindow;\r\n } else {\r\n throw new Error(\r\n \"The option dataurlnewwindow just works in a browser-environment.\"\r\n );\r\n }\r\n break;\r\n case \"datauri\":\r\n case \"dataurl\":\r\n return (globalObject.document.location.href = this.output(\r\n \"datauristring\",\r\n options\r\n ));\r\n default:\r\n return null;\r\n }\r\n }));\r\n\r\n /**\r\n * Used to see if a supplied hotfix was requested when the pdf instance was created.\r\n * @param {string} hotfixName - The name of the hotfix to check.\r\n * @returns {boolean}\r\n */\r\n var hasHotfix = function(hotfixName) {\r\n return (\r\n Array.isArray(hotfixes) === true && hotfixes.indexOf(hotfixName) > -1\r\n );\r\n };\r\n\r\n switch (unit) {\r\n case \"pt\":\r\n scaleFactor = 1;\r\n break;\r\n case \"mm\":\r\n scaleFactor = 72 / 25.4;\r\n break;\r\n case \"cm\":\r\n scaleFactor = 72 / 2.54;\r\n break;\r\n case \"in\":\r\n scaleFactor = 72;\r\n break;\r\n case \"px\":\r\n if (hasHotfix(\"px_scaling\") == true) {\r\n scaleFactor = 72 / 96;\r\n } else {\r\n scaleFactor = 96 / 72;\r\n }\r\n break;\r\n case \"pc\":\r\n scaleFactor = 12;\r\n break;\r\n case \"em\":\r\n scaleFactor = 12;\r\n break;\r\n case \"ex\":\r\n scaleFactor = 6;\r\n break;\r\n default:\r\n if (typeof unit === \"number\") {\r\n scaleFactor = unit;\r\n } else {\r\n throw new Error(\"Invalid unit: \" + unit);\r\n }\r\n }\r\n\r\n var encryption = null;\r\n setCreationDate();\r\n setFileId();\r\n\r\n var getEncryptor = function(objectId) {\r\n if (encryptionOptions !== null) {\r\n return encryption.encryptor(objectId, 0);\r\n }\r\n return function(data) {\r\n return data;\r\n };\r\n };\r\n\r\n //---------------------------------------\r\n // Public API\r\n\r\n var getPageInfo = (API.__private__.getPageInfo = API.getPageInfo = function(\r\n pageNumberOneBased\r\n ) {\r\n if (isNaN(pageNumberOneBased) || pageNumberOneBased % 1 !== 0) {\r\n throw new Error(\"Invalid argument passed to jsPDF.getPageInfo\");\r\n }\r\n var objId = pagesContext[pageNumberOneBased].objId;\r\n return {\r\n objId: objId,\r\n pageNumber: pageNumberOneBased,\r\n pageContext: pagesContext[pageNumberOneBased]\r\n };\r\n });\r\n\r\n var getPageInfoByObjId = (API.__private__.getPageInfoByObjId = function(\r\n objId\r\n ) {\r\n if (isNaN(objId) || objId % 1 !== 0) {\r\n throw new Error(\"Invalid argument passed to jsPDF.getPageInfoByObjId\");\r\n }\r\n for (var pageNumber in pagesContext) {\r\n if (pagesContext[pageNumber].objId === objId) {\r\n break;\r\n }\r\n }\r\n return getPageInfo(pageNumber);\r\n });\r\n\r\n var getCurrentPageInfo = (API.__private__.getCurrentPageInfo = API.getCurrentPageInfo = function() {\r\n return {\r\n objId: pagesContext[currentPage].objId,\r\n pageNumber: currentPage,\r\n pageContext: pagesContext[currentPage]\r\n };\r\n });\r\n\r\n /**\r\n * Adds (and transfers the focus to) new page to the PDF document.\r\n * @param format {String/Array} The format of the new page. Can be:
  • a0 - a10
  • b0 - b10
  • c0 - c10
  • dl
  • letter
  • government-letter
  • legal
  • junior-legal
  • ledger
  • tabloid
  • credit-card

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

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

    \n *

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

    \n *

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

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

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

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

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

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

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

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



    a c e

    b d f

    0 0 1

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

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

    In other words, the setTransform() method lets you scale, rotate, move, and skew the current context.\r\n */\r\n Context2D.prototype.setTransform = function(a, b, c, d, e, f) {\r\n a = isNaN(a) ? 1 : a;\r\n b = isNaN(b) ? 0 : b;\r\n c = isNaN(c) ? 0 : c;\r\n d = isNaN(d) ? 1 : d;\r\n e = isNaN(e) ? 0 : e;\r\n f = isNaN(f) ? 0 : f;\r\n this.ctx.transform = new Matrix(a, b, c, d, e, f);\r\n };\r\n\r\n /**\r\n * Should only be used if pageWrapYEnabled is true\r\n *\r\n * @name setPageByYPosition\r\n * @function\r\n * @private\r\n * @ignore\r\n * @returns One-based Page Number\r\n */\r\n var setPageByYPosition = function(y) {\r\n if (this.pageWrapYEnabled) {\r\n this.lastBreak = 0;\r\n var manualBreaks = 0;\r\n var autoBreaks = 0;\r\n for (var i = 0; i < this.pageBreaks.length; i++) {\r\n if (y >= this.pageBreaks[i]) {\r\n manualBreaks++;\r\n if (this.lastBreak === 0) {\r\n autoBreaks++;\r\n }\r\n var spaceBetweenLastBreak = this.pageBreaks[i] - this.lastBreak;\r\n this.lastBreak = this.pageBreaks[i];\r\n var pagesSinceLastBreak = Math.floor(\r\n spaceBetweenLastBreak / this.pageWrapY\r\n );\r\n autoBreaks += pagesSinceLastBreak;\r\n }\r\n }\r\n if (this.lastBreak === 0) {\r\n var pagesSinceLastBreak = Math.floor(y / this.pageWrapY) + 1;\r\n autoBreaks += pagesSinceLastBreak;\r\n }\r\n return autoBreaks + manualBreaks;\r\n } else {\r\n return this.pdf.internal.getCurrentPageInfo().pageNumber;\r\n }\r\n };\r\n\r\n var hasMargins = function() {\r\n return (\r\n this.margin[0] > 0 ||\r\n this.margin[1] > 0 ||\r\n this.margin[2] > 0 ||\r\n this.margin[3] > 0\r\n );\r\n };\r\n\r\n /**\r\n * Draws an image, canvas, or video onto the canvas\r\n *\r\n * @function\r\n * @param img {} Specifies the image, canvas, or video element to use\r\n * @param sx {Number} Optional. The x coordinate where to start clipping\r\n * @param sy {Number} Optional. The y coordinate where to start clipping\r\n * @param swidth {Number} Optional. The width of the clipped image\r\n * @param sheight {Number} Optional. The height of the clipped image\r\n * @param x {Number} The x coordinate where to place the image on the canvas\r\n * @param y {Number} The y coordinate where to place the image on the canvas\r\n * @param width {Number} Optional. The width of the image to use (stretch or reduce the image)\r\n * @param height {Number} Optional. The height of the image to use (stretch or reduce the image)\r\n */\r\n Context2D.prototype.drawImage = function(\r\n img,\r\n sx,\r\n sy,\r\n swidth,\r\n sheight,\r\n x,\r\n y,\r\n width,\r\n height\r\n ) {\r\n var imageProperties = this.pdf.getImageProperties(img);\r\n var factorX = 1;\r\n var factorY = 1;\r\n var isClip;\r\n\r\n var clipFactorX = 1;\r\n var clipFactorY = 1;\r\n\r\n if (typeof swidth !== \"undefined\" && typeof width !== \"undefined\") {\r\n isClip = true;\r\n clipFactorX = width / swidth;\r\n clipFactorY = height / sheight;\r\n factorX = ((imageProperties.width / swidth) * width) / swidth;\r\n factorY = ((imageProperties.height / sheight) * height) / sheight;\r\n }\r\n\r\n //is sx and sy are set and x and y not, set x and y with values of sx and sy\r\n if (typeof x === \"undefined\") {\r\n x = sx;\r\n y = sy;\r\n sx = 0;\r\n sy = 0;\r\n }\r\n\r\n if (typeof swidth !== \"undefined\" && typeof width === \"undefined\") {\r\n width = swidth;\r\n height = sheight;\r\n }\r\n if (typeof swidth === \"undefined\" && typeof width === \"undefined\") {\r\n width = imageProperties.width;\r\n height = imageProperties.height;\r\n }\r\n\r\n var decomposedTransformationMatrix = this.ctx.transform.decompose();\r\n var angle = rad2deg(decomposedTransformationMatrix.rotate.shx);\r\n var matrix = new Matrix();\r\n matrix = matrix.multiply(decomposedTransformationMatrix.translate);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.skew);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.scale);\r\n var xRect = matrix.applyToRectangle(\r\n new Rectangle(\r\n x - sx * clipFactorX,\r\n y - sy * clipFactorY,\r\n swidth * factorX,\r\n sheight * factorY\r\n )\r\n );\r\n var pageArray = getPagesByPath.call(this, xRect);\r\n var pages = [];\r\n for (var ii = 0; ii < pageArray.length; ii += 1) {\r\n if (pages.indexOf(pageArray[ii]) === -1) {\r\n pages.push(pageArray[ii]);\r\n }\r\n }\r\n\r\n sortPages(pages);\r\n\r\n var clipPath;\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var i = min; i < max + 1; i++) {\r\n this.pdf.setPage(i);\r\n\r\n var pageWidthMinusMargins =\r\n this.pdf.internal.pageSize.width - this.margin[3] - this.margin[1];\r\n var topMargin = i === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusMargins =\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var previousPageHeightSum =\r\n i === 1 ? 0 : firstPageHeight + (i - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n drawPaths.call(this, \"fill\", true);\r\n this.path = tmpPaths;\r\n }\r\n var tmpRect = JSON.parse(JSON.stringify(xRect));\r\n tmpRect = pathPositionRedo(\r\n [tmpRect],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n const needsClipping = (i > min || i < max) && hasMargins.call(this);\r\n\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n this.pdf.addImage(\r\n img,\r\n \"JPEG\",\r\n tmpRect.x,\r\n tmpRect.y,\r\n tmpRect.w,\r\n tmpRect.h,\r\n null,\r\n null,\r\n angle\r\n );\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n } else {\r\n this.pdf.addImage(\r\n img,\r\n \"JPEG\",\r\n xRect.x,\r\n xRect.y,\r\n xRect.w,\r\n xRect.h,\r\n null,\r\n null,\r\n angle\r\n );\r\n }\r\n };\r\n\r\n var getPagesByPath = function(path, pageWrapX, pageWrapY) {\r\n var result = [];\r\n pageWrapX = pageWrapX || this.pdf.internal.pageSize.width;\r\n pageWrapY =\r\n pageWrapY ||\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var yOffset = this.posY + this.ctx.prevPageLastElemOffset;\r\n\r\n switch (path.type) {\r\n default:\r\n case \"mt\":\r\n case \"lt\":\r\n result.push(Math.floor((path.y + yOffset) / pageWrapY) + 1);\r\n break;\r\n case \"arc\":\r\n result.push(\r\n Math.floor((path.y + yOffset - path.radius) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor((path.y + yOffset + path.radius) / pageWrapY) + 1\r\n );\r\n break;\r\n case \"qct\":\r\n var rectOfQuadraticCurve = getQuadraticCurveBoundary(\r\n this.ctx.lastPoint.x,\r\n this.ctx.lastPoint.y,\r\n path.x1,\r\n path.y1,\r\n path.x,\r\n path.y\r\n );\r\n result.push(\r\n Math.floor((rectOfQuadraticCurve.y + yOffset) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor(\r\n (rectOfQuadraticCurve.y + rectOfQuadraticCurve.h + yOffset) /\r\n pageWrapY\r\n ) + 1\r\n );\r\n break;\r\n case \"bct\":\r\n var rectOfBezierCurve = getBezierCurveBoundary(\r\n this.ctx.lastPoint.x,\r\n this.ctx.lastPoint.y,\r\n path.x1,\r\n path.y1,\r\n path.x2,\r\n path.y2,\r\n path.x,\r\n path.y\r\n );\r\n result.push(\r\n Math.floor((rectOfBezierCurve.y + yOffset) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor(\r\n (rectOfBezierCurve.y + rectOfBezierCurve.h + yOffset) / pageWrapY\r\n ) + 1\r\n );\r\n break;\r\n case \"rect\":\r\n result.push(Math.floor((path.y + yOffset) / pageWrapY) + 1);\r\n result.push(Math.floor((path.y + path.h + yOffset) / pageWrapY) + 1);\r\n }\r\n\r\n for (var i = 0; i < result.length; i += 1) {\r\n while (this.pdf.internal.getNumberOfPages() < result[i]) {\r\n addPage.call(this);\r\n }\r\n }\r\n return result;\r\n };\r\n\r\n var addPage = function() {\r\n var fillStyle = this.fillStyle;\r\n var strokeStyle = this.strokeStyle;\r\n var font = this.font;\r\n var lineCap = this.lineCap;\r\n var lineWidth = this.lineWidth;\r\n var lineJoin = this.lineJoin;\r\n this.pdf.addPage();\r\n this.fillStyle = fillStyle;\r\n this.strokeStyle = strokeStyle;\r\n this.font = font;\r\n this.lineCap = lineCap;\r\n this.lineWidth = lineWidth;\r\n this.lineJoin = lineJoin;\r\n };\r\n\r\n var pathPositionRedo = function(paths, x, y) {\r\n for (var i = 0; i < paths.length; i++) {\r\n switch (paths[i].type) {\r\n case \"bct\":\r\n paths[i].x2 += x;\r\n paths[i].y2 += y;\r\n case \"qct\":\r\n paths[i].x1 += x;\r\n paths[i].y1 += y;\r\n case \"mt\":\r\n case \"lt\":\r\n case \"arc\":\r\n default:\r\n paths[i].x += x;\r\n paths[i].y += y;\r\n }\r\n }\r\n return paths;\r\n };\r\n\r\n var sortPages = function(pages) {\r\n return pages.sort(function(a, b) {\r\n return a - b;\r\n });\r\n };\r\n\r\n var pathPreProcess = function(rule, isClip) {\r\n var fillStyle = this.fillStyle;\r\n var strokeStyle = this.strokeStyle;\r\n var lineCap = this.lineCap;\r\n var oldLineWidth = this.lineWidth;\r\n var lineWidth = Math.abs(oldLineWidth * this.ctx.transform.scaleX);\r\n var lineJoin = this.lineJoin;\r\n\r\n var origPath = JSON.parse(JSON.stringify(this.path));\r\n var xPath = JSON.parse(JSON.stringify(this.path));\r\n var clipPath;\r\n var tmpPath;\r\n var pages = [];\r\n\r\n for (var i = 0; i < xPath.length; i++) {\r\n if (typeof xPath[i].x !== \"undefined\") {\r\n var page = getPagesByPath.call(this, xPath[i]);\r\n\r\n for (var ii = 0; ii < page.length; ii += 1) {\r\n if (pages.indexOf(page[ii]) === -1) {\r\n pages.push(page[ii]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n for (var j = 0; j < pages.length; j++) {\r\n while (this.pdf.internal.getNumberOfPages() < pages[j]) {\r\n addPage.call(this);\r\n }\r\n }\r\n sortPages(pages);\r\n\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var k = min; k < max + 1; k++) {\r\n this.pdf.setPage(k);\r\n\r\n this.fillStyle = fillStyle;\r\n this.strokeStyle = strokeStyle;\r\n this.lineCap = lineCap;\r\n this.lineWidth = lineWidth;\r\n this.lineJoin = lineJoin;\r\n\r\n var pageWidthMinusMargins =\r\n this.pdf.internal.pageSize.width - this.margin[3] - this.margin[1];\r\n var topMargin = k === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusMargins =\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var previousPageHeightSum =\r\n k === 1 ? 0 : firstPageHeight + (k - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n drawPaths.call(this, rule, true);\r\n this.path = tmpPaths;\r\n }\r\n tmpPath = JSON.parse(JSON.stringify(origPath));\r\n this.path = pathPositionRedo(\r\n tmpPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n if (isClip === false || k === 0) {\r\n const needsClipping = (k > min || k < max) && hasMargins.call(this);\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n drawPaths.call(this, rule, isClip);\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n this.lineWidth = oldLineWidth;\r\n }\r\n } else {\r\n this.lineWidth = lineWidth;\r\n drawPaths.call(this, rule, isClip);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n this.path = origPath;\r\n };\r\n\r\n /**\r\n * Processes the paths\r\n *\r\n * @function\r\n * @param rule {String}\r\n * @param isClip {Boolean}\r\n * @private\r\n * @ignore\r\n */\r\n var drawPaths = function(rule, isClip) {\r\n if (rule === \"stroke\" && !isClip && isStrokeTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n if (rule !== \"stroke\" && !isClip && isFillTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n var moves = [];\r\n\r\n //var alpha = (this.ctx.fillOpacity < 1) ? this.ctx.fillOpacity : this.ctx.globalAlpha;\r\n var delta;\r\n var xPath = this.path;\r\n for (var i = 0; i < xPath.length; i++) {\r\n var pt = xPath[i];\r\n\r\n switch (pt.type) {\r\n case \"begin\":\r\n moves.push({\r\n begin: true\r\n });\r\n break;\r\n\r\n case \"close\":\r\n moves.push({\r\n close: true\r\n });\r\n break;\r\n\r\n case \"mt\":\r\n moves.push({\r\n start: pt,\r\n deltas: [],\r\n abs: []\r\n });\r\n break;\r\n\r\n case \"lt\":\r\n var iii = moves.length;\r\n if (xPath[i - 1] && !isNaN(xPath[i - 1].x)) {\r\n delta = [pt.x - xPath[i - 1].x, pt.y - xPath[i - 1].y];\r\n if (iii > 0) {\r\n for (iii; iii >= 0; iii--) {\r\n if (\r\n moves[iii - 1].close !== true &&\r\n moves[iii - 1].begin !== true\r\n ) {\r\n moves[iii - 1].deltas.push(delta);\r\n moves[iii - 1].abs.push(pt);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n break;\r\n\r\n case \"bct\":\r\n delta = [\r\n pt.x1 - xPath[i - 1].x,\r\n pt.y1 - xPath[i - 1].y,\r\n pt.x2 - xPath[i - 1].x,\r\n pt.y2 - xPath[i - 1].y,\r\n pt.x - xPath[i - 1].x,\r\n pt.y - xPath[i - 1].y\r\n ];\r\n moves[moves.length - 1].deltas.push(delta);\r\n break;\r\n\r\n case \"qct\":\r\n var x1 = xPath[i - 1].x + (2.0 / 3.0) * (pt.x1 - xPath[i - 1].x);\r\n var y1 = xPath[i - 1].y + (2.0 / 3.0) * (pt.y1 - xPath[i - 1].y);\r\n var x2 = pt.x + (2.0 / 3.0) * (pt.x1 - pt.x);\r\n var y2 = pt.y + (2.0 / 3.0) * (pt.y1 - pt.y);\r\n var x3 = pt.x;\r\n var y3 = pt.y;\r\n delta = [\r\n x1 - xPath[i - 1].x,\r\n y1 - xPath[i - 1].y,\r\n x2 - xPath[i - 1].x,\r\n y2 - xPath[i - 1].y,\r\n x3 - xPath[i - 1].x,\r\n y3 - xPath[i - 1].y\r\n ];\r\n moves[moves.length - 1].deltas.push(delta);\r\n break;\r\n\r\n case \"arc\":\r\n moves.push({\r\n deltas: [],\r\n abs: [],\r\n arc: true\r\n });\r\n\r\n if (Array.isArray(moves[moves.length - 1].abs)) {\r\n moves[moves.length - 1].abs.push(pt);\r\n }\r\n break;\r\n }\r\n }\r\n var style;\r\n if (!isClip) {\r\n if (rule === \"stroke\") {\r\n style = \"stroke\";\r\n } else {\r\n style = \"fill\";\r\n }\r\n } else {\r\n style = null;\r\n }\r\n\r\n var began = false;\r\n for (var k = 0; k < moves.length; k++) {\r\n if (moves[k].arc) {\r\n var arcs = moves[k].abs;\r\n\r\n for (var ii = 0; ii < arcs.length; ii++) {\r\n var arc = arcs[ii];\r\n\r\n if (arc.type === \"arc\") {\r\n drawArc.call(\r\n this,\r\n arc.x,\r\n arc.y,\r\n arc.radius,\r\n arc.startAngle,\r\n arc.endAngle,\r\n arc.counterclockwise,\r\n undefined,\r\n isClip,\r\n !began\r\n );\r\n } else {\r\n drawLine.call(this, arc.x, arc.y);\r\n }\r\n began = true;\r\n }\r\n } else if (moves[k].close === true) {\r\n this.pdf.internal.out(\"h\");\r\n began = false;\r\n } else if (moves[k].begin !== true) {\r\n var x = moves[k].start.x;\r\n var y = moves[k].start.y;\r\n drawLines.call(this, moves[k].deltas, x, y);\r\n began = true;\r\n }\r\n }\r\n\r\n if (style) {\r\n putStyle.call(this, style);\r\n }\r\n if (isClip) {\r\n doClip.call(this);\r\n }\r\n };\r\n\r\n var getBaseline = function(y) {\r\n var height =\r\n this.pdf.internal.getFontSize() / this.pdf.internal.scaleFactor;\r\n var descent = height * (this.pdf.internal.getLineHeightFactor() - 1);\r\n switch (this.ctx.textBaseline) {\r\n case \"bottom\":\r\n return y - descent;\r\n case \"top\":\r\n return y + height - descent;\r\n case \"hanging\":\r\n return y + height - 2 * descent;\r\n case \"middle\":\r\n return y + height / 2 - descent;\r\n case \"ideographic\":\r\n // TODO not implemented\r\n return y;\r\n case \"alphabetic\":\r\n default:\r\n return y;\r\n }\r\n };\r\n\r\n var getTextBottom = function(yBaseLine) {\r\n var height =\r\n this.pdf.internal.getFontSize() / this.pdf.internal.scaleFactor;\r\n var descent = height * (this.pdf.internal.getLineHeightFactor() - 1);\r\n return yBaseLine + descent;\r\n };\r\n\r\n Context2D.prototype.createLinearGradient = function createLinearGradient() {\r\n var canvasGradient = function canvasGradient() {};\r\n\r\n canvasGradient.colorStops = [];\r\n canvasGradient.addColorStop = function(offset, color) {\r\n this.colorStops.push([offset, color]);\r\n };\r\n\r\n canvasGradient.getColor = function() {\r\n if (this.colorStops.length === 0) {\r\n return \"#000000\";\r\n }\r\n\r\n return this.colorStops[0][1];\r\n };\r\n\r\n canvasGradient.isCanvasGradient = true;\r\n return canvasGradient;\r\n };\r\n Context2D.prototype.createPattern = function createPattern() {\r\n return this.createLinearGradient();\r\n };\r\n Context2D.prototype.createRadialGradient = function createRadialGradient() {\r\n return this.createLinearGradient();\r\n };\r\n\r\n /**\r\n *\r\n * @param x Edge point X\r\n * @param y Edge point Y\r\n * @param r Radius\r\n * @param a1 start angle\r\n * @param a2 end angle\r\n * @param counterclockwise\r\n * @param style\r\n * @param isClip\r\n */\r\n var drawArc = function(\r\n x,\r\n y,\r\n r,\r\n a1,\r\n a2,\r\n counterclockwise,\r\n style,\r\n isClip,\r\n includeMove\r\n ) {\r\n // http://hansmuller-flex.blogspot.com/2011/10/more-about-approximating-circular-arcs.html\r\n var curves = createArc.call(this, r, a1, a2, counterclockwise);\r\n\r\n for (var i = 0; i < curves.length; i++) {\r\n var curve = curves[i];\r\n if (i === 0) {\r\n if (includeMove) {\r\n doMove.call(this, curve.x1 + x, curve.y1 + y);\r\n } else {\r\n drawLine.call(this, curve.x1 + x, curve.y1 + y);\r\n }\r\n }\r\n drawCurve.call(\r\n this,\r\n x,\r\n y,\r\n curve.x2,\r\n curve.y2,\r\n curve.x3,\r\n curve.y3,\r\n curve.x4,\r\n curve.y4\r\n );\r\n }\r\n\r\n if (!isClip) {\r\n putStyle.call(this, style);\r\n } else {\r\n doClip.call(this);\r\n }\r\n };\r\n\r\n var putStyle = function(style) {\r\n switch (style) {\r\n case \"stroke\":\r\n this.pdf.internal.out(\"S\");\r\n break;\r\n case \"fill\":\r\n this.pdf.internal.out(\"f\");\r\n break;\r\n }\r\n };\r\n\r\n var doClip = function() {\r\n this.pdf.clip();\r\n this.pdf.discardPath();\r\n };\r\n\r\n var doMove = function(x, y) {\r\n this.pdf.internal.out(\r\n getHorizontalCoordinateString(x) +\r\n \" \" +\r\n getVerticalCoordinateString(y) +\r\n \" m\"\r\n );\r\n };\r\n\r\n var putText = function(options) {\r\n var textAlign;\r\n switch (options.align) {\r\n case \"right\":\r\n case \"end\":\r\n textAlign = \"right\";\r\n break;\r\n case \"center\":\r\n textAlign = \"center\";\r\n break;\r\n case \"left\":\r\n case \"start\":\r\n default:\r\n textAlign = \"left\";\r\n break;\r\n }\r\n\r\n var textDimensions = this.pdf.getTextDimensions(options.text);\r\n var yBaseLine = getBaseline.call(this, options.y);\r\n var yBottom = getTextBottom.call(this, yBaseLine);\r\n var yTop = yBottom - textDimensions.h;\r\n\r\n var pt = this.ctx.transform.applyToPoint(new Point(options.x, yBaseLine));\r\n var decomposedTransformationMatrix = this.ctx.transform.decompose();\r\n var matrix = new Matrix();\r\n matrix = matrix.multiply(decomposedTransformationMatrix.translate);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.skew);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.scale);\r\n\r\n var baselineRect = this.ctx.transform.applyToRectangle(\r\n new Rectangle(options.x, yBaseLine, textDimensions.w, textDimensions.h)\r\n );\r\n var textBounds = matrix.applyToRectangle(\r\n new Rectangle(options.x, yTop, textDimensions.w, textDimensions.h)\r\n );\r\n var pageArray = getPagesByPath.call(this, textBounds);\r\n var pages = [];\r\n for (var ii = 0; ii < pageArray.length; ii += 1) {\r\n if (pages.indexOf(pageArray[ii]) === -1) {\r\n pages.push(pageArray[ii]);\r\n }\r\n }\r\n\r\n sortPages(pages);\r\n\r\n var clipPath, oldSize, oldLineWidth;\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var i = min; i < max + 1; i++) {\r\n this.pdf.setPage(i);\r\n\r\n var topMargin = i === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusBottomMargin =\r\n this.pdf.internal.pageSize.height - this.margin[2];\r\n var pageHeightMinusMargins =\r\n pageHeightMinusBottomMargin - this.margin[0];\r\n var pageWidthMinusRightMargin =\r\n this.pdf.internal.pageSize.width - this.margin[1];\r\n var pageWidthMinusMargins = pageWidthMinusRightMargin - this.margin[3];\r\n var previousPageHeightSum =\r\n i === 1 ? 0 : firstPageHeight + (i - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -1 * previousPageHeightSum + topMargin\r\n );\r\n drawPaths.call(this, \"fill\", true);\r\n this.path = tmpPaths;\r\n }\r\n var textBoundsOnPage = pathPositionRedo(\r\n [JSON.parse(JSON.stringify(textBounds))],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n if (options.scale >= 0.01) {\r\n oldSize = this.pdf.internal.getFontSize();\r\n this.pdf.setFontSize(oldSize * options.scale);\r\n oldLineWidth = this.lineWidth;\r\n this.lineWidth = oldLineWidth * options.scale;\r\n }\r\n\r\n var doSlice = this.autoPaging !== \"text\";\r\n\r\n if (\r\n doSlice ||\r\n textBoundsOnPage.y + textBoundsOnPage.h <= pageHeightMinusBottomMargin\r\n ) {\r\n if (\r\n doSlice ||\r\n (textBoundsOnPage.y >= topMargin &&\r\n textBoundsOnPage.x <= pageWidthMinusRightMargin)\r\n ) {\r\n var croppedText = doSlice\r\n ? options.text\r\n : this.pdf.splitTextToSize(\r\n options.text,\r\n options.maxWidth ||\r\n pageWidthMinusRightMargin - textBoundsOnPage.x\r\n )[0];\r\n var baseLineRectOnPage = pathPositionRedo(\r\n [JSON.parse(JSON.stringify(baselineRect))],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum +\r\n topMargin +\r\n this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n const needsClipping =\r\n doSlice && (i > min || i < max) && hasMargins.call(this);\r\n\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n\r\n this.pdf.text(\r\n croppedText,\r\n baseLineRectOnPage.x,\r\n baseLineRectOnPage.y,\r\n {\r\n angle: options.angle,\r\n align: textAlign,\r\n renderingMode: options.renderingMode\r\n }\r\n );\r\n\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n } else {\r\n // This text is the last element of the page, but it got cut off due to the margin\r\n // so we render it in the next page\r\n\r\n if (textBoundsOnPage.y < pageHeightMinusBottomMargin) {\r\n // As a result, all other elements have their y offset increased\r\n this.ctx.prevPageLastElemOffset +=\r\n pageHeightMinusBottomMargin - textBoundsOnPage.y;\r\n }\r\n }\r\n\r\n if (options.scale >= 0.01) {\r\n this.pdf.setFontSize(oldSize);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n }\r\n } else {\r\n if (options.scale >= 0.01) {\r\n oldSize = this.pdf.internal.getFontSize();\r\n this.pdf.setFontSize(oldSize * options.scale);\r\n oldLineWidth = this.lineWidth;\r\n this.lineWidth = oldLineWidth * options.scale;\r\n }\r\n this.pdf.text(options.text, pt.x + this.posX, pt.y + this.posY, {\r\n angle: options.angle,\r\n align: textAlign,\r\n renderingMode: options.renderingMode,\r\n maxWidth: options.maxWidth\r\n });\r\n\r\n if (options.scale >= 0.01) {\r\n this.pdf.setFontSize(oldSize);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n }\r\n };\r\n\r\n var drawLine = function(x, y, prevX, prevY) {\r\n prevX = prevX || 0;\r\n prevY = prevY || 0;\r\n\r\n this.pdf.internal.out(\r\n getHorizontalCoordinateString(x + prevX) +\r\n \" \" +\r\n getVerticalCoordinateString(y + prevY) +\r\n \" l\"\r\n );\r\n };\r\n\r\n var drawLines = function(lines, x, y) {\r\n return this.pdf.lines(lines, x, y, null, null);\r\n };\r\n\r\n var drawCurve = function(x, y, x1, y1, x2, y2, x3, y3) {\r\n this.pdf.internal.out(\r\n [\r\n f2(getHorizontalCoordinate(x1 + x)),\r\n f2(getVerticalCoordinate(y1 + y)),\r\n f2(getHorizontalCoordinate(x2 + x)),\r\n f2(getVerticalCoordinate(y2 + y)),\r\n f2(getHorizontalCoordinate(x3 + x)),\r\n f2(getVerticalCoordinate(y3 + y)),\r\n \"c\"\r\n ].join(\" \")\r\n );\r\n };\r\n\r\n /**\r\n * Return a array of objects that represent bezier curves which approximate the circular arc centered at the origin, from startAngle to endAngle (radians) with the specified radius.\r\n *\r\n * Each bezier curve is an object with four points, where x1,y1 and x4,y4 are the arc's end points and x2,y2 and x3,y3 are the cubic bezier's control points.\r\n * @function createArc\r\n */\r\n var createArc = function(radius, startAngle, endAngle, anticlockwise) {\r\n var EPSILON = 0.00001; // Roughly 1/1000th of a degree, see below\r\n var twoPi = Math.PI * 2;\r\n var halfPi = Math.PI / 2.0;\r\n\r\n while (startAngle > endAngle) {\r\n startAngle = startAngle - twoPi;\r\n }\r\n var totalAngle = Math.abs(endAngle - startAngle);\r\n if (totalAngle < twoPi) {\r\n if (anticlockwise) {\r\n totalAngle = twoPi - totalAngle;\r\n }\r\n }\r\n\r\n // Compute the sequence of arc curves, up to PI/2 at a time.\r\n var curves = [];\r\n\r\n // clockwise or counterclockwise\r\n var sgn = anticlockwise ? -1 : +1;\r\n\r\n var a1 = startAngle;\r\n for (; totalAngle > EPSILON; ) {\r\n var remain = sgn * Math.min(totalAngle, halfPi);\r\n var a2 = a1 + remain;\r\n curves.push(createSmallArc.call(this, radius, a1, a2));\r\n totalAngle -= Math.abs(a2 - a1);\r\n a1 = a2;\r\n }\r\n\r\n return curves;\r\n };\r\n\r\n /**\r\n * Cubic bezier approximation of a circular arc centered at the origin, from (radians) a1 to a2, where a2-a1 < pi/2. The arc's radius is r.\r\n *\r\n * Returns an object with four points, where x1,y1 and x4,y4 are the arc's end points and x2,y2 and x3,y3 are the cubic bezier's control points.\r\n *\r\n * This algorithm is based on the approach described in: A. Riškus, \"Approximation of a Cubic Bezier Curve by Circular Arcs and Vice Versa,\" Information Technology and Control, 35(4), 2006 pp. 371-378.\r\n */\r\n var createSmallArc = function(r, a1, a2) {\r\n var a = (a2 - a1) / 2.0;\r\n\r\n var x4 = r * Math.cos(a);\r\n var y4 = r * Math.sin(a);\r\n var x1 = x4;\r\n var y1 = -y4;\r\n\r\n var q1 = x1 * x1 + y1 * y1;\r\n var q2 = q1 + x1 * x4 + y1 * y4;\r\n var k2 = ((4 / 3) * (Math.sqrt(2 * q1 * q2) - q2)) / (x1 * y4 - y1 * x4);\r\n\r\n var x2 = x1 - k2 * y1;\r\n var y2 = y1 + k2 * x1;\r\n var x3 = x2;\r\n var y3 = -y2;\r\n\r\n var ar = a + a1;\r\n var cos_ar = Math.cos(ar);\r\n var sin_ar = Math.sin(ar);\r\n\r\n return {\r\n x1: r * Math.cos(a1),\r\n y1: r * Math.sin(a1),\r\n x2: x2 * cos_ar - y2 * sin_ar,\r\n y2: x2 * sin_ar + y2 * cos_ar,\r\n x3: x3 * cos_ar - y3 * sin_ar,\r\n y3: x3 * sin_ar + y3 * cos_ar,\r\n x4: r * Math.cos(a2),\r\n y4: r * Math.sin(a2)\r\n };\r\n };\r\n\r\n var rad2deg = function(value) {\r\n return (value * 180) / Math.PI;\r\n };\r\n\r\n var getQuadraticCurveBoundary = function(sx, sy, cpx, cpy, ex, ey) {\r\n var midX1 = sx + (cpx - sx) * 0.5;\r\n var midY1 = sy + (cpy - sy) * 0.5;\r\n var midX2 = ex + (cpx - ex) * 0.5;\r\n var midY2 = ey + (cpy - ey) * 0.5;\r\n var resultX1 = Math.min(sx, ex, midX1, midX2);\r\n var resultX2 = Math.max(sx, ex, midX1, midX2);\r\n var resultY1 = Math.min(sy, ey, midY1, midY2);\r\n var resultY2 = Math.max(sy, ey, midY1, midY2);\r\n return new Rectangle(\r\n resultX1,\r\n resultY1,\r\n resultX2 - resultX1,\r\n resultY2 - resultY1\r\n );\r\n };\r\n\r\n //De Casteljau algorithm\r\n var getBezierCurveBoundary = function(ax, ay, bx, by, cx, cy, dx, dy) {\r\n var tobx = bx - ax;\r\n var toby = by - ay;\r\n var tocx = cx - bx;\r\n var tocy = cy - by;\r\n var todx = dx - cx;\r\n var tody = dy - cy;\r\n var precision = 40;\r\n var d,\r\n i,\r\n px,\r\n py,\r\n qx,\r\n qy,\r\n rx,\r\n ry,\r\n tx,\r\n ty,\r\n sx,\r\n sy,\r\n x,\r\n y,\r\n minx,\r\n miny,\r\n maxx,\r\n maxy,\r\n toqx,\r\n toqy,\r\n torx,\r\n tory,\r\n totx,\r\n toty;\r\n for (i = 0; i < precision + 1; i++) {\r\n d = i / precision;\r\n px = ax + d * tobx;\r\n py = ay + d * toby;\r\n qx = bx + d * tocx;\r\n qy = by + d * tocy;\r\n rx = cx + d * todx;\r\n ry = cy + d * tody;\r\n toqx = qx - px;\r\n toqy = qy - py;\r\n torx = rx - qx;\r\n tory = ry - qy;\r\n\r\n sx = px + d * toqx;\r\n sy = py + d * toqy;\r\n tx = qx + d * torx;\r\n ty = qy + d * tory;\r\n totx = tx - sx;\r\n toty = ty - sy;\r\n\r\n x = sx + d * totx;\r\n y = sy + d * toty;\r\n if (i == 0) {\r\n minx = x;\r\n miny = y;\r\n maxx = x;\r\n maxy = y;\r\n } else {\r\n minx = Math.min(minx, x);\r\n miny = Math.min(miny, y);\r\n maxx = Math.max(maxx, x);\r\n maxy = Math.max(maxy, y);\r\n }\r\n }\r\n return new Rectangle(\r\n Math.round(minx),\r\n Math.round(miny),\r\n Math.round(maxx - minx),\r\n Math.round(maxy - miny)\r\n );\r\n };\r\n\r\n var getPrevLineDashValue = function(lineDash, lineDashOffset) {\r\n return JSON.stringify({\r\n lineDash: lineDash,\r\n lineDashOffset: lineDashOffset\r\n });\r\n };\r\n\r\n var setLineDash = function() {\r\n // Avoid unnecessary line dash declarations.\r\n if (\r\n !this.prevLineDash &&\r\n !this.ctx.lineDash.length &&\r\n !this.ctx.lineDashOffset\r\n ) {\r\n return;\r\n }\r\n\r\n // Avoid unnecessary line dash declarations.\r\n const nextLineDash = getPrevLineDashValue(\r\n this.ctx.lineDash,\r\n this.ctx.lineDashOffset\r\n );\r\n if (this.prevLineDash !== nextLineDash) {\r\n this.pdf.setLineDash(this.ctx.lineDash, this.ctx.lineDashOffset);\r\n this.prevLineDash = nextLineDash;\r\n }\r\n };\r\n})(jsPDF.API);\r\n","/**\n * @license\n * jsPDF filters PlugIn\n * Copyright (c) 2014 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { zlibSync } from \"../libs/fflate.js\";\n\n(function(jsPDFAPI) {\n \"use strict\";\n\n var ASCII85Encode = function(a) {\n var b, c, d, e, f, g, h, i, j, k;\n // eslint-disable-next-line no-control-regex\n for (\n !/[^\\x00-\\xFF]/.test(a),\n b = \"\\x00\\x00\\x00\\x00\".slice(a.length % 4 || 4),\n a += b,\n c = [],\n d = 0,\n e = a.length;\n e > d;\n d += 4\n )\n (f =\n (a.charCodeAt(d) << 24) +\n (a.charCodeAt(d + 1) << 16) +\n (a.charCodeAt(d + 2) << 8) +\n a.charCodeAt(d + 3)),\n 0 !== f\n ? ((k = f % 85),\n (f = (f - k) / 85),\n (j = f % 85),\n (f = (f - j) / 85),\n (i = f % 85),\n (f = (f - i) / 85),\n (h = f % 85),\n (f = (f - h) / 85),\n (g = f % 85),\n c.push(g + 33, h + 33, i + 33, j + 33, k + 33))\n : c.push(122);\n return (\n (function(a, b) {\n for (var c = b; c > 0; c--) a.pop();\n })(c, b.length),\n String.fromCharCode.apply(String, c) + \"~>\"\n );\n };\n\n var ASCII85Decode = function(a) {\n var c,\n d,\n e,\n f,\n g,\n h = String,\n l = \"length\",\n w = 255,\n x = \"charCodeAt\",\n y = \"slice\",\n z = \"replace\";\n for (\n \"~>\" === a[y](-2),\n a = a[y](0, -2)\n [z](/\\s/g, \"\")\n [z](\"z\", \"!!!!!\"),\n c = \"uuuuu\"[y](a[l] % 5 || 5),\n a += c,\n e = [],\n f = 0,\n g = a[l];\n g > f;\n f += 5\n )\n (d =\n 52200625 * (a[x](f) - 33) +\n 614125 * (a[x](f + 1) - 33) +\n 7225 * (a[x](f + 2) - 33) +\n 85 * (a[x](f + 3) - 33) +\n (a[x](f + 4) - 33)),\n e.push(w & (d >> 24), w & (d >> 16), w & (d >> 8), w & d);\n return (\n (function(a, b) {\n for (var c = b; c > 0; c--) a.pop();\n })(e, c[l]),\n h.fromCharCode.apply(h, e)\n );\n };\n\n var ASCIIHexEncode = function(value) {\n return (\n value\n .split(\"\")\n .map(function(value) {\n return (\"0\" + value.charCodeAt().toString(16)).slice(-2);\n })\n .join(\"\") + \">\"\n );\n };\n\n var ASCIIHexDecode = function(value) {\n var regexCheckIfHex = new RegExp(/^([0-9A-Fa-f]{2})+$/);\n value = value.replace(/\\s/g, \"\");\n if (value.indexOf(\">\") !== -1) {\n value = value.substr(0, value.indexOf(\">\"));\n }\n if (value.length % 2) {\n value += \"0\";\n }\n if (regexCheckIfHex.test(value) === false) {\n return \"\";\n }\n var result = \"\";\n for (var i = 0; i < value.length; i += 2) {\n result += String.fromCharCode(\"0x\" + (value[i] + value[i + 1]));\n }\n return result;\n };\n /*\n var FlatePredictors = {\n None: 1,\n TIFF: 2,\n PNG_None: 10,\n PNG_Sub: 11,\n PNG_Up: 12,\n PNG_Average: 13,\n PNG_Paeth: 14,\n PNG_Optimum: 15\n };\n */\n\n var FlateEncode = function(data) {\n var arr = new Uint8Array(data.length);\n var i = data.length;\n while (i--) {\n arr[i] = data.charCodeAt(i);\n }\n arr = zlibSync(arr);\n data = arr.reduce(function(data, byte) {\n return data + String.fromCharCode(byte);\n }, \"\");\n return data;\n };\n\n jsPDFAPI.processDataByFilters = function(origData, filterChain) {\n \"use strict\";\n var i = 0;\n var data = origData || \"\";\n var reverseChain = [];\n filterChain = filterChain || [];\n\n if (typeof filterChain === \"string\") {\n filterChain = [filterChain];\n }\n\n for (i = 0; i < filterChain.length; i += 1) {\n switch (filterChain[i]) {\n case \"ASCII85Decode\":\n case \"/ASCII85Decode\":\n data = ASCII85Decode(data);\n reverseChain.push(\"/ASCII85Encode\");\n break;\n case \"ASCII85Encode\":\n case \"/ASCII85Encode\":\n data = ASCII85Encode(data);\n reverseChain.push(\"/ASCII85Decode\");\n break;\n case \"ASCIIHexDecode\":\n case \"/ASCIIHexDecode\":\n data = ASCIIHexDecode(data);\n reverseChain.push(\"/ASCIIHexEncode\");\n break;\n case \"ASCIIHexEncode\":\n case \"/ASCIIHexEncode\":\n data = ASCIIHexEncode(data);\n reverseChain.push(\"/ASCIIHexDecode\");\n break;\n case \"FlateEncode\":\n case \"/FlateEncode\":\n data = FlateEncode(data);\n reverseChain.push(\"/FlateDecode\");\n break;\n default:\n throw new Error(\n 'The filter: \"' + filterChain[i] + '\" is not implemented'\n );\n }\n }\n\n return { data: data, reverseChain: reverseChain.reverse().join(\" \") };\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2018 Erik Koopmans\n * Released under the MIT License.\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { normalizeFontFace } from \"../libs/fontFace.js\";\nimport { globalObject } from \"../libs/globalObject.js\";\n\n/**\n * jsPDF html PlugIn\n *\n * @name html\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n function loadHtml2Canvas() {\n return (function() {\n if (globalObject[\"html2canvas\"]) {\n return Promise.resolve(globalObject[\"html2canvas\"]);\n }\n\n return import(\"html2canvas\");\n\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load html2canvas: \" + e));\n })\n .then(function(html2canvas) {\n return html2canvas.default ? html2canvas.default : html2canvas;\n });\n }\n\n function loadDomPurify() {\n return (function() {\n if (globalObject[\"DOMPurify\"]) {\n return Promise.resolve(globalObject[\"DOMPurify\"]);\n }\n\n return import(\"dompurify\");\n\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load dompurify: \" + e));\n })\n .then(function(dompurify) {\n return dompurify.default ? dompurify.default : dompurify;\n });\n }\n\n /**\n * Determine the type of a variable/object.\n *\n * @private\n * @ignore\n */\n var objType = function(obj) {\n var type = typeof obj;\n if (type === \"undefined\") return \"undefined\";\n else if (type === \"string\" || obj instanceof String) return \"string\";\n else if (type === \"number\" || obj instanceof Number) return \"number\";\n else if (type === \"function\" || obj instanceof Function) return \"function\";\n else if (!!obj && obj.constructor === Array) return \"array\";\n else if (obj && obj.nodeType === 1) return \"element\";\n else if (type === \"object\") return \"object\";\n else return \"unknown\";\n };\n\n /**\n * Create an HTML element with optional className, innerHTML, and style.\n *\n * @private\n * @ignore\n */\n var createElement = function(tagName, opt) {\n var el = document.createElement(tagName);\n if (opt.className) el.className = opt.className;\n if (opt.innerHTML && opt.dompurify) {\n el.innerHTML = opt.dompurify.sanitize(opt.innerHTML);\n }\n for (var key in opt.style) {\n el.style[key] = opt.style[key];\n }\n return el;\n };\n\n /**\n * Deep-clone a node and preserve contents/properties.\n *\n * @private\n * @ignore\n */\n var cloneNode = function(node, javascriptEnabled) {\n // Recursively clone the node.\n var clone =\n node.nodeType === 3\n ? document.createTextNode(node.nodeValue)\n : node.cloneNode(false);\n for (var child = node.firstChild; child; child = child.nextSibling) {\n if (\n javascriptEnabled === true ||\n child.nodeType !== 1 ||\n child.nodeName !== \"SCRIPT\"\n ) {\n clone.appendChild(cloneNode(child, javascriptEnabled));\n }\n }\n\n if (node.nodeType === 1) {\n // Preserve contents/properties of special nodes.\n if (node.nodeName === \"CANVAS\") {\n clone.width = node.width;\n clone.height = node.height;\n clone.getContext(\"2d\").drawImage(node, 0, 0);\n } else if (node.nodeName === \"TEXTAREA\" || node.nodeName === \"SELECT\") {\n clone.value = node.value;\n }\n\n // Preserve the node's scroll position when it loads.\n clone.addEventListener(\n \"load\",\n function() {\n clone.scrollTop = node.scrollTop;\n clone.scrollLeft = node.scrollLeft;\n },\n true\n );\n }\n\n // Return the cloned node.\n return clone;\n };\n\n /* ----- CONSTRUCTOR ----- */\n\n var Worker = function Worker(opt) {\n // Create the root parent for the proto chain, and the starting Worker.\n var root = Object.assign(\n Worker.convert(Promise.resolve()),\n JSON.parse(JSON.stringify(Worker.template))\n );\n var self = Worker.convert(Promise.resolve(), root);\n\n // Set progress, optional settings, and return.\n self = self.setProgress(1, Worker, 1, [Worker]);\n self = self.set(opt);\n return self;\n };\n\n // Boilerplate for subclassing Promise.\n Worker.prototype = Object.create(Promise.prototype);\n Worker.prototype.constructor = Worker;\n\n // Converts/casts promises into Workers.\n Worker.convert = function convert(promise, inherit) {\n // Uses prototypal inheritance to receive changes made to ancestors' properties.\n promise.__proto__ = inherit || Worker.prototype;\n return promise;\n };\n\n Worker.template = {\n prop: {\n src: null,\n container: null,\n overlay: null,\n canvas: null,\n img: null,\n pdf: null,\n pageSize: null,\n callback: function() {}\n },\n progress: {\n val: 0,\n state: null,\n n: 0,\n stack: []\n },\n opt: {\n filename: \"file.pdf\",\n margin: [0, 0, 0, 0],\n enableLinks: true,\n x: 0,\n y: 0,\n html2canvas: {},\n jsPDF: {},\n backgroundColor: \"transparent\"\n }\n };\n\n /* ----- FROM / TO ----- */\n\n Worker.prototype.from = function from(src, type) {\n function getType(src) {\n switch (objType(src)) {\n case \"string\":\n return \"string\";\n case \"element\":\n return src.nodeName.toLowerCase() === \"canvas\" ? \"canvas\" : \"element\";\n default:\n return \"unknown\";\n }\n }\n\n return this.then(function from_main() {\n type = type || getType(src);\n switch (type) {\n case \"string\":\n return this.then(loadDomPurify).then(function(dompurify) {\n return this.set({\n src: createElement(\"div\", {\n innerHTML: src,\n dompurify: dompurify\n })\n });\n });\n case \"element\":\n return this.set({ src: src });\n case \"canvas\":\n return this.set({ canvas: src });\n case \"img\":\n return this.set({ img: src });\n default:\n return this.error(\"Unknown source type.\");\n }\n });\n };\n\n Worker.prototype.to = function to(target) {\n // Route the 'to' request to the appropriate method.\n switch (target) {\n case \"container\":\n return this.toContainer();\n case \"canvas\":\n return this.toCanvas();\n case \"img\":\n return this.toImg();\n case \"pdf\":\n return this.toPdf();\n default:\n return this.error(\"Invalid target.\");\n }\n };\n\n Worker.prototype.toContainer = function toContainer() {\n // Set up function prerequisites.\n var prereqs = [\n function checkSrc() {\n return (\n this.prop.src || this.error(\"Cannot duplicate - no source HTML.\")\n );\n },\n function checkPageSize() {\n return this.prop.pageSize || this.setPageSize();\n }\n ];\n return this.thenList(prereqs).then(function toContainer_main() {\n // Define the CSS styles for the container and its overlay parent.\n var overlayCSS = {\n position: \"fixed\",\n overflow: \"hidden\",\n zIndex: 1000,\n left: \"-100000px\",\n right: 0,\n bottom: 0,\n top: 0\n };\n var containerCSS = {\n position: \"relative\",\n display: \"inline-block\",\n width:\n (typeof this.opt.width === \"number\" &&\n !isNaN(this.opt.width) &&\n typeof this.opt.windowWidth === \"number\" &&\n !isNaN(this.opt.windowWidth)\n ? this.opt.windowWidth\n : Math.max(\n this.prop.src.clientWidth,\n this.prop.src.scrollWidth,\n this.prop.src.offsetWidth\n )) + \"px\",\n left: 0,\n right: 0,\n top: 0,\n margin: \"auto\",\n backgroundColor: this.opt.backgroundColor\n }; // Set the overlay to hidden (could be changed in the future to provide a print preview).\n\n var source = cloneNode(\n this.prop.src,\n this.opt.html2canvas.javascriptEnabled\n );\n\n if (source.tagName === \"BODY\") {\n containerCSS.height =\n Math.max(\n document.body.scrollHeight,\n document.body.offsetHeight,\n document.documentElement.clientHeight,\n document.documentElement.scrollHeight,\n document.documentElement.offsetHeight\n ) + \"px\";\n }\n\n this.prop.overlay = createElement(\"div\", {\n className: \"html2pdf__overlay\",\n style: overlayCSS\n });\n this.prop.container = createElement(\"div\", {\n className: \"html2pdf__container\",\n style: containerCSS\n });\n this.prop.container.appendChild(source);\n this.prop.container.firstChild.appendChild(\n createElement(\"div\", {\n style: {\n clear: \"both\",\n border: \"0 none transparent\",\n margin: 0,\n padding: 0,\n height: 0\n }\n })\n );\n this.prop.container.style.float = \"none\";\n this.prop.overlay.appendChild(this.prop.container);\n document.body.appendChild(this.prop.overlay);\n this.prop.container.firstChild.style.position = \"relative\";\n this.prop.container.height =\n Math.max(\n this.prop.container.firstChild.clientHeight,\n this.prop.container.firstChild.scrollHeight,\n this.prop.container.firstChild.offsetHeight\n ) + \"px\";\n });\n };\n\n Worker.prototype.toCanvas = function toCanvas() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContainer() {\n return (\n document.body.contains(this.prop.container) || this.toContainer()\n );\n }\n ];\n\n // Fulfill prereqs then create the canvas.\n return this.thenList(prereqs)\n .then(loadHtml2Canvas)\n .then(function toCanvas_main(html2canvas) {\n // Handle old-fashioned 'onrendered' argument.\n var options = Object.assign({}, this.opt.html2canvas);\n delete options.onrendered;\n\n return html2canvas(this.prop.container, options);\n })\n .then(function toCanvas_post(canvas) {\n // Handle old-fashioned 'onrendered' argument.\n var onRendered = this.opt.html2canvas.onrendered || function() {};\n onRendered(canvas);\n\n this.prop.canvas = canvas;\n document.body.removeChild(this.prop.overlay);\n });\n };\n\n Worker.prototype.toContext2d = function toContext2d() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContainer() {\n return (\n document.body.contains(this.prop.container) || this.toContainer()\n );\n }\n ];\n\n // Fulfill prereqs then create the canvas.\n return this.thenList(prereqs)\n .then(loadHtml2Canvas)\n .then(function toContext2d_main(html2canvas) {\n // Handle old-fashioned 'onrendered' argument.\n\n var pdf = this.opt.jsPDF;\n var fontFaces = this.opt.fontFaces;\n\n var scale =\n typeof this.opt.width === \"number\" &&\n !isNaN(this.opt.width) &&\n typeof this.opt.windowWidth === \"number\" &&\n !isNaN(this.opt.windowWidth)\n ? this.opt.width / this.opt.windowWidth\n : 1;\n\n var options = Object.assign(\n {\n async: true,\n allowTaint: true,\n scale: scale,\n scrollX: this.opt.scrollX || 0,\n scrollY: this.opt.scrollY || 0,\n backgroundColor: \"#ffffff\",\n imageTimeout: 15000,\n logging: true,\n proxy: null,\n removeContainer: true,\n foreignObjectRendering: false,\n useCORS: false\n },\n this.opt.html2canvas\n );\n delete options.onrendered;\n\n pdf.context2d.autoPaging =\n typeof this.opt.autoPaging === \"undefined\"\n ? true\n : this.opt.autoPaging;\n pdf.context2d.posX = this.opt.x;\n pdf.context2d.posY = this.opt.y;\n pdf.context2d.margin = this.opt.margin;\n pdf.context2d.fontFaces = fontFaces;\n\n if (fontFaces) {\n for (var i = 0; i < fontFaces.length; ++i) {\n var font = fontFaces[i];\n var src = font.src.find(function(src) {\n return src.format === \"truetype\";\n });\n\n if (src) {\n pdf.addFont(src.url, font.ref.name, font.ref.style);\n }\n }\n }\n\n options.windowHeight = options.windowHeight || 0;\n options.windowHeight =\n options.windowHeight == 0\n ? Math.max(\n this.prop.container.clientHeight,\n this.prop.container.scrollHeight,\n this.prop.container.offsetHeight\n )\n : options.windowHeight;\n\n pdf.context2d.save(true);\n return html2canvas(this.prop.container, options);\n })\n .then(function toContext2d_post(canvas) {\n this.opt.jsPDF.context2d.restore(true);\n\n // Handle old-fashioned 'onrendered' argument.\n var onRendered = this.opt.html2canvas.onrendered || function() {};\n onRendered(canvas);\n\n this.prop.canvas = canvas;\n document.body.removeChild(this.prop.overlay);\n });\n };\n\n Worker.prototype.toImg = function toImg() {\n // Set up function prerequisites.\n var prereqs = [\n function checkCanvas() {\n return this.prop.canvas || this.toCanvas();\n }\n ];\n\n // Fulfill prereqs then create the image.\n return this.thenList(prereqs).then(function toImg_main() {\n var imgData = this.prop.canvas.toDataURL(\n \"image/\" + this.opt.image.type,\n this.opt.image.quality\n );\n this.prop.img = document.createElement(\"img\");\n this.prop.img.src = imgData;\n });\n };\n\n Worker.prototype.toPdf = function toPdf() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContext2d() {\n return this.toContext2d();\n }\n //function checkCanvas() { return this.prop.canvas || this.toCanvas(); }\n ];\n\n // Fulfill prereqs then create the image.\n return this.thenList(prereqs).then(function toPdf_main() {\n // Create local copies of frequently used properties.\n this.prop.pdf = this.prop.pdf || this.opt.jsPDF;\n });\n };\n\n /* ----- OUTPUT / SAVE ----- */\n\n Worker.prototype.output = function output(type, options, src) {\n // Redirect requests to the correct function (outputPdf / outputImg).\n src = src || \"pdf\";\n if (src.toLowerCase() === \"img\" || src.toLowerCase() === \"image\") {\n return this.outputImg(type, options);\n } else {\n return this.outputPdf(type, options);\n }\n };\n\n Worker.prototype.outputPdf = function outputPdf(type, options) {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs then perform the appropriate output.\n return this.thenList(prereqs).then(function outputPdf_main() {\n /* Currently implemented output types:\n * https://rawgit.com/MrRio/jsPDF/master/docs/jspdf.js.html#line992\n * save(options), arraybuffer, blob, bloburi/bloburl,\n * datauristring/dataurlstring, dataurlnewwindow, datauri/dataurl\n */\n return this.prop.pdf.output(type, options);\n });\n };\n\n Worker.prototype.outputImg = function outputImg(type) {\n // Set up function prerequisites.\n var prereqs = [\n function checkImg() {\n return this.prop.img || this.toImg();\n }\n ];\n\n // Fulfill prereqs then perform the appropriate output.\n return this.thenList(prereqs).then(function outputImg_main() {\n switch (type) {\n case undefined:\n case \"img\":\n return this.prop.img;\n case \"datauristring\":\n case \"dataurlstring\":\n return this.prop.img.src;\n case \"datauri\":\n case \"dataurl\":\n return (document.location.href = this.prop.img.src);\n default:\n throw 'Image output type \"' + type + '\" is not supported.';\n }\n });\n };\n\n Worker.prototype.save = function save(filename) {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs, update the filename (if provided), and save the PDF.\n return this.thenList(prereqs)\n .set(filename ? { filename: filename } : null)\n .then(function save_main() {\n this.prop.pdf.save(this.opt.filename);\n });\n };\n\n Worker.prototype.doCallback = function doCallback() {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs, update the filename (if provided), and save the PDF.\n return this.thenList(prereqs).then(function doCallback_main() {\n this.prop.callback(this.prop.pdf);\n });\n };\n\n /* ----- SET / GET ----- */\n\n Worker.prototype.set = function set(opt) {\n // TODO: Implement ordered pairs?\n\n // Silently ignore invalid or empty input.\n if (objType(opt) !== \"object\") {\n return this;\n }\n\n // Build an array of setter functions to queue.\n var fns = Object.keys(opt || {}).map(function(key) {\n if (key in Worker.template.prop) {\n // Set pre-defined properties.\n return function set_prop() {\n this.prop[key] = opt[key];\n };\n } else {\n switch (key) {\n case \"margin\":\n return this.setMargin.bind(this, opt.margin);\n case \"jsPDF\":\n return function set_jsPDF() {\n this.opt.jsPDF = opt.jsPDF;\n return this.setPageSize();\n };\n case \"pageSize\":\n return this.setPageSize.bind(this, opt.pageSize);\n default:\n // Set any other properties in opt.\n return function set_opt() {\n this.opt[key] = opt[key];\n };\n }\n }\n }, this);\n\n // Set properties within the promise chain.\n return this.then(function set_main() {\n return this.thenList(fns);\n });\n };\n\n Worker.prototype.get = function get(key, cbk) {\n return this.then(function get_main() {\n // Fetch the requested property, either as a predefined prop or in opt.\n var val = key in Worker.template.prop ? this.prop[key] : this.opt[key];\n return cbk ? cbk(val) : val;\n });\n };\n\n Worker.prototype.setMargin = function setMargin(margin) {\n return this.then(function setMargin_main() {\n // Parse the margin property.\n switch (objType(margin)) {\n case \"number\":\n margin = [margin, margin, margin, margin];\n // eslint-disable-next-line no-fallthrough\n case \"array\":\n if (margin.length === 2) {\n margin = [margin[0], margin[1], margin[0], margin[1]];\n }\n if (margin.length === 4) {\n break;\n }\n // eslint-disable-next-line no-fallthrough\n default:\n return this.error(\"Invalid margin array.\");\n }\n\n // Set the margin property, then update pageSize.\n this.opt.margin = margin;\n }).then(this.setPageSize);\n };\n\n Worker.prototype.setPageSize = function setPageSize(pageSize) {\n function toPx(val, k) {\n return Math.floor(((val * k) / 72) * 96);\n }\n\n return this.then(function setPageSize_main() {\n // Retrieve page-size based on jsPDF settings, if not explicitly provided.\n pageSize = pageSize || jsPDF.getPageSize(this.opt.jsPDF);\n\n // Add 'inner' field if not present.\n if (!pageSize.hasOwnProperty(\"inner\")) {\n pageSize.inner = {\n width: pageSize.width - this.opt.margin[1] - this.opt.margin[3],\n height: pageSize.height - this.opt.margin[0] - this.opt.margin[2]\n };\n pageSize.inner.px = {\n width: toPx(pageSize.inner.width, pageSize.k),\n height: toPx(pageSize.inner.height, pageSize.k)\n };\n pageSize.inner.ratio = pageSize.inner.height / pageSize.inner.width;\n }\n\n // Attach pageSize to this.\n this.prop.pageSize = pageSize;\n });\n };\n\n Worker.prototype.setProgress = function setProgress(val, state, n, stack) {\n // Immediately update all progress values.\n if (val != null) this.progress.val = val;\n if (state != null) this.progress.state = state;\n if (n != null) this.progress.n = n;\n if (stack != null) this.progress.stack = stack;\n this.progress.ratio = this.progress.val / this.progress.state;\n\n // Return this for command chaining.\n return this;\n };\n\n Worker.prototype.updateProgress = function updateProgress(\n val,\n state,\n n,\n stack\n ) {\n // Immediately update all progress values, using setProgress.\n return this.setProgress(\n val ? this.progress.val + val : null,\n state ? state : null,\n n ? this.progress.n + n : null,\n stack ? this.progress.stack.concat(stack) : null\n );\n };\n\n /* ----- PROMISE MAPPING ----- */\n\n Worker.prototype.then = function then(onFulfilled, onRejected) {\n // Wrap `this` for encapsulation.\n var self = this;\n\n return this.thenCore(onFulfilled, onRejected, function then_main(\n onFulfilled,\n onRejected\n ) {\n // Update progress while queuing, calling, and resolving `then`.\n self.updateProgress(null, null, 1, [onFulfilled]);\n return Promise.prototype.then\n .call(this, function then_pre(val) {\n self.updateProgress(null, onFulfilled);\n return val;\n })\n .then(onFulfilled, onRejected)\n .then(function then_post(val) {\n self.updateProgress(1);\n return val;\n });\n });\n };\n\n Worker.prototype.thenCore = function thenCore(\n onFulfilled,\n onRejected,\n thenBase\n ) {\n // Handle optional thenBase parameter.\n thenBase = thenBase || Promise.prototype.then;\n\n // Wrap `this` for encapsulation and bind it to the promise handlers.\n var self = this;\n if (onFulfilled) {\n onFulfilled = onFulfilled.bind(self);\n }\n if (onRejected) {\n onRejected = onRejected.bind(self);\n }\n\n // Cast self into a Promise to avoid polyfills recursively defining `then`.\n var isNative =\n Promise.toString().indexOf(\"[native code]\") !== -1 &&\n Promise.name === \"Promise\";\n var selfPromise = isNative\n ? self\n : Worker.convert(Object.assign({}, self), Promise.prototype);\n\n // Return the promise, after casting it into a Worker and preserving props.\n var returnVal = thenBase.call(selfPromise, onFulfilled, onRejected);\n return Worker.convert(returnVal, self.__proto__);\n };\n\n Worker.prototype.thenExternal = function thenExternal(\n onFulfilled,\n onRejected\n ) {\n // Call `then` and return a standard promise (exits the Worker chain).\n return Promise.prototype.then.call(this, onFulfilled, onRejected);\n };\n\n Worker.prototype.thenList = function thenList(fns) {\n // Queue a series of promise 'factories' into the promise chain.\n var self = this;\n fns.forEach(function thenList_forEach(fn) {\n self = self.thenCore(fn);\n });\n return self;\n };\n\n Worker.prototype[\"catch\"] = function(onRejected) {\n // Bind `this` to the promise handler, call `catch`, and return a Worker.\n if (onRejected) {\n onRejected = onRejected.bind(this);\n }\n var returnVal = Promise.prototype[\"catch\"].call(this, onRejected);\n return Worker.convert(returnVal, this);\n };\n\n Worker.prototype.catchExternal = function catchExternal(onRejected) {\n // Call `catch` and return a standard promise (exits the Worker chain).\n return Promise.prototype[\"catch\"].call(this, onRejected);\n };\n\n Worker.prototype.error = function error(msg) {\n // Throw the error in the Promise chain.\n return this.then(function error_main() {\n throw new Error(msg);\n });\n };\n\n /* ----- ALIASES ----- */\n\n Worker.prototype.using = Worker.prototype.set;\n Worker.prototype.saveAs = Worker.prototype.save;\n Worker.prototype.export = Worker.prototype.output;\n Worker.prototype.run = Worker.prototype.then;\n\n // Get dimensions of a PDF page, as determined by jsPDF.\n jsPDF.getPageSize = function(orientation, unit, format) {\n // Decode options object\n if (typeof orientation === \"object\") {\n var options = orientation;\n orientation = options.orientation;\n unit = options.unit || unit;\n format = options.format || format;\n }\n\n // Default options\n unit = unit || \"mm\";\n format = format || \"a4\";\n orientation = (\"\" + (orientation || \"P\")).toLowerCase();\n var format_as_string = (\"\" + format).toLowerCase();\n\n // Size in pt of various paper formats\n var pageFormats = {\n a0: [2383.94, 3370.39],\n a1: [1683.78, 2383.94],\n a2: [1190.55, 1683.78],\n a3: [841.89, 1190.55],\n a4: [595.28, 841.89],\n a5: [419.53, 595.28],\n a6: [297.64, 419.53],\n a7: [209.76, 297.64],\n a8: [147.4, 209.76],\n a9: [104.88, 147.4],\n a10: [73.7, 104.88],\n b0: [2834.65, 4008.19],\n b1: [2004.09, 2834.65],\n b2: [1417.32, 2004.09],\n b3: [1000.63, 1417.32],\n b4: [708.66, 1000.63],\n b5: [498.9, 708.66],\n b6: [354.33, 498.9],\n b7: [249.45, 354.33],\n b8: [175.75, 249.45],\n b9: [124.72, 175.75],\n b10: [87.87, 124.72],\n c0: [2599.37, 3676.54],\n c1: [1836.85, 2599.37],\n c2: [1298.27, 1836.85],\n c3: [918.43, 1298.27],\n c4: [649.13, 918.43],\n c5: [459.21, 649.13],\n c6: [323.15, 459.21],\n c7: [229.61, 323.15],\n c8: [161.57, 229.61],\n c9: [113.39, 161.57],\n c10: [79.37, 113.39],\n dl: [311.81, 623.62],\n letter: [612, 792],\n \"government-letter\": [576, 756],\n legal: [612, 1008],\n \"junior-legal\": [576, 360],\n ledger: [1224, 792],\n tabloid: [792, 1224],\n \"credit-card\": [153, 243]\n };\n\n var k;\n // Unit conversion\n switch (unit) {\n case \"pt\":\n k = 1;\n break;\n case \"mm\":\n k = 72 / 25.4;\n break;\n case \"cm\":\n k = 72 / 2.54;\n break;\n case \"in\":\n k = 72;\n break;\n case \"px\":\n k = 72 / 96;\n break;\n case \"pc\":\n k = 12;\n break;\n case \"em\":\n k = 12;\n break;\n case \"ex\":\n k = 6;\n break;\n default:\n throw \"Invalid unit: \" + unit;\n }\n var pageHeight = 0;\n var pageWidth = 0;\n\n // Dimensions are stored as user units and converted to points on output\n if (pageFormats.hasOwnProperty(format_as_string)) {\n pageHeight = pageFormats[format_as_string][1] / k;\n pageWidth = pageFormats[format_as_string][0] / k;\n } else {\n try {\n pageHeight = format[1];\n pageWidth = format[0];\n } catch (err) {\n throw new Error(\"Invalid format: \" + format);\n }\n }\n\n var tmp;\n // Handle page orientation\n if (orientation === \"p\" || orientation === \"portrait\") {\n orientation = \"p\";\n if (pageWidth > pageHeight) {\n tmp = pageWidth;\n pageWidth = pageHeight;\n pageHeight = tmp;\n }\n } else if (orientation === \"l\" || orientation === \"landscape\") {\n orientation = \"l\";\n if (pageHeight > pageWidth) {\n tmp = pageWidth;\n pageWidth = pageHeight;\n pageHeight = tmp;\n }\n } else {\n throw \"Invalid orientation: \" + orientation;\n }\n\n // Return information (k is the unit conversion ratio from pts)\n var info = {\n width: pageWidth,\n height: pageHeight,\n unit: unit,\n k: k,\n orientation: orientation\n };\n return info;\n };\n\n /**\n * @typedef FontFace\n *\n * The font-face type implements an interface similar to that of the font-face CSS rule,\n * and is used by jsPDF to match fonts when the font property of CanvasRenderingContext2D\n * is updated.\n *\n * All properties expect values similar to those in the font-face CSS rule. A difference\n * is the font-family, which do not need to be enclosed in double-quotes when containing\n * spaces like in CSS.\n *\n * @property {string} family The name of the font-family.\n * @property {string|undefined} style The style that this font-face defines, e.g. 'italic'.\n * @property {string|number|undefined} weight The weight of the font, either as a string or a number (400, 500, 600, e.g.)\n * @property {string|undefined} stretch The stretch of the font, e.g. condensed, normal, expanded.\n * @property {Object[]} src A list of URLs from where fonts of various formats can be fetched.\n * @property {string} [src] url A URL to a font of a specific format.\n * @property {string} [src] format Format of the font referenced by the URL.\n */\n\n /**\n * Generate a PDF from an HTML element or string using.\n *\n * @name html\n * @function\n * @param {HTMLElement|string} source The source HTMLElement or a string containing HTML.\n * @param {Object} [options] Collection of settings\n * @param {function} [options.callback] The mandatory callback-function gets as first parameter the current jsPDF instance\n * @param {(number|number[])=} [options.margin] Page margins [top, right, bottom, left]. Default is 0.\n * @param {(boolean|'slice'|'text')=} [options.autoPaging] The auto paging mode.\n *
      \n *
    • \n * false: Auto paging is disabled.\n *
    • \n *
    • \n * true or 'slice': Will cut shapes or text chunks across page breaks. Will possibly\n * slice text in half, making it difficult to read.\n *
    • \n *
    • \n * 'text': Trys not to cut text in half across page breaks. Works best for documents consisting\n * mostly of a single column of text.\n *
    • \n *
    \n * Default is true.\n * @param {string} [options.filename] name of the file\n * @param {HTMLOptionImage} [options.image] image settings when converting HTML to image\n * @param {Html2CanvasOptions} [options.html2canvas] html2canvas options\n * @param {FontFace[]} [options.fontFaces] A list of font-faces to match when resolving fonts. Fonts will be added to the PDF based on the specified URL. If omitted, the font match algorithm falls back to old algorithm.\n * @param {jsPDF} [options.jsPDF] jsPDF instance\n * @param {number=} [options.x] x position on the PDF document in jsPDF units.\n * @param {number=} [options.y] y position on the PDF document in jsPDF units.\n * @param {number=} [options.width] The target width in the PDF document in jsPDF units. The rendered element will be\n * scaled such that it fits into the specified width. Has no effect if either the html2canvas.scale is\n * specified or the windowWidth option is NOT specified.\n * @param {number=} [options.windowWidth] The window width in CSS pixels. In contrast to the\n * html2canvas.windowWidth option, this option affects the actual container size while rendering and\n * does NOT affect CSS media queries. This option only has an effect, if the width option is also specified.\n *\n * @example\n * var doc = new jsPDF();\n *\n * doc.html(document.body, {\n * callback: function (doc) {\n * doc.save();\n * },\n * x: 10,\n * y: 10\n * });\n */\n jsPDFAPI.html = function(src, options) {\n \"use strict\";\n\n options = options || {};\n options.callback = options.callback || function() {};\n options.html2canvas = options.html2canvas || {};\n options.html2canvas.canvas = options.html2canvas.canvas || this.canvas;\n options.jsPDF = options.jsPDF || this;\n options.fontFaces = options.fontFaces\n ? options.fontFaces.map(normalizeFontFace)\n : null;\n\n // Create a new worker with the given options.\n var worker = new Worker(options);\n\n if (!options.worker) {\n // If worker is not set to true, perform the traditional 'simple' operation.\n return worker.from(src).doCallback();\n } else {\n // Otherwise, return the worker for new Promise-based operation.\n return worker;\n }\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF Outline PlugIn\n *\n * Generates a PDF Outline\n * @name outline\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var namesOid;\n //var destsGoto = [];\n\n jsPDFAPI.events.push([\n \"postPutResources\",\n function() {\n var pdf = this;\n var rx = /^(\\d+) 0 obj$/;\n\n // Write action goto objects for each page\n // this.outline.destsGoto = [];\n // for (var i = 0; i < totalPages; i++) {\n // var id = pdf.internal.newObject();\n // this.outline.destsGoto.push(id);\n // pdf.internal.write(\"<> endobj\");\n // }\n //\n // for (var i = 0; i < dests.length; i++) {\n // pdf.internal.write(\"(page_\" + (i + 1) + \")\" + dests[i] + \" 0\n // R\");\n // }\n //\n if (this.outline.root.children.length > 0) {\n var lines = pdf.outline.render().split(/\\r\\n/);\n for (var i = 0; i < lines.length; i++) {\n var line = lines[i];\n var m = rx.exec(line);\n if (m != null) {\n var oid = m[1];\n pdf.internal.newObjectDeferredBegin(oid, false);\n }\n pdf.internal.write(line);\n }\n }\n\n // This code will write named destination for each page reference\n // (page_1, etc)\n if (this.outline.createNamedDestinations) {\n var totalPages = this.internal.pages.length;\n // WARNING: this assumes jsPDF starts on page 3 and pageIDs\n // follow 5, 7, 9, etc\n // Write destination objects for each page\n var dests = [];\n for (var i = 0; i < totalPages; i++) {\n var id = pdf.internal.newObject();\n dests.push(id);\n var info = pdf.internal.getPageInfo(i + 1);\n pdf.internal.write(\n \"<< /D[\" + info.objId + \" 0 R /XYZ null null null]>> endobj\"\n );\n }\n\n // assign a name for each destination\n var names2Oid = pdf.internal.newObject();\n pdf.internal.write(\"<< /Names [ \");\n for (var i = 0; i < dests.length; i++) {\n pdf.internal.write(\"(page_\" + (i + 1) + \")\" + dests[i] + \" 0 R\");\n }\n pdf.internal.write(\" ] >>\", \"endobj\");\n\n // var kids = pdf.internal.newObject();\n // pdf.internal.write('<< /Kids [ ' + names2Oid + ' 0 R');\n // pdf.internal.write(' ] >>', 'endobj');\n\n namesOid = pdf.internal.newObject();\n pdf.internal.write(\"<< /Dests \" + names2Oid + \" 0 R\");\n pdf.internal.write(\">>\", \"endobj\");\n }\n }\n ]);\n\n jsPDFAPI.events.push([\n \"putCatalog\",\n function() {\n var pdf = this;\n if (pdf.outline.root.children.length > 0) {\n pdf.internal.write(\n \"/Outlines\",\n this.outline.makeRef(this.outline.root)\n );\n if (this.outline.createNamedDestinations) {\n pdf.internal.write(\"/Names \" + namesOid + \" 0 R\");\n }\n // Open with Bookmarks showing\n // pdf.internal.write(\"/PageMode /UseOutlines\");\n }\n }\n ]);\n\n jsPDFAPI.events.push([\n \"initialized\",\n function() {\n var pdf = this;\n\n pdf.outline = {\n createNamedDestinations: false,\n root: {\n children: []\n }\n };\n\n /**\n * Options: pageNumber\n */\n pdf.outline.add = function(parent, title, options) {\n var item = {\n title: title,\n options: options,\n children: []\n };\n if (parent == null) {\n parent = this.root;\n }\n parent.children.push(item);\n return item;\n };\n\n pdf.outline.render = function() {\n this.ctx = {};\n this.ctx.val = \"\";\n this.ctx.pdf = pdf;\n\n this.genIds_r(this.root);\n this.renderRoot(this.root);\n this.renderItems(this.root);\n\n return this.ctx.val;\n };\n\n pdf.outline.genIds_r = function(node) {\n node.id = pdf.internal.newObjectDeferred();\n for (var i = 0; i < node.children.length; i++) {\n this.genIds_r(node.children[i]);\n }\n };\n\n pdf.outline.renderRoot = function(node) {\n this.objStart(node);\n this.line(\"/Type /Outlines\");\n if (node.children.length > 0) {\n this.line(\"/First \" + this.makeRef(node.children[0]));\n this.line(\n \"/Last \" + this.makeRef(node.children[node.children.length - 1])\n );\n }\n this.line(\n \"/Count \" +\n this.count_r(\n {\n count: 0\n },\n node\n )\n );\n this.objEnd();\n };\n\n pdf.outline.renderItems = function(node) {\n var getVerticalCoordinateString = this.ctx.pdf.internal\n .getVerticalCoordinateString;\n for (var i = 0; i < node.children.length; i++) {\n var item = node.children[i];\n this.objStart(item);\n\n this.line(\"/Title \" + this.makeString(item.title));\n\n this.line(\"/Parent \" + this.makeRef(node));\n if (i > 0) {\n this.line(\"/Prev \" + this.makeRef(node.children[i - 1]));\n }\n if (i < node.children.length - 1) {\n this.line(\"/Next \" + this.makeRef(node.children[i + 1]));\n }\n if (item.children.length > 0) {\n this.line(\"/First \" + this.makeRef(item.children[0]));\n this.line(\n \"/Last \" + this.makeRef(item.children[item.children.length - 1])\n );\n }\n\n var count = (this.count = this.count_r(\n {\n count: 0\n },\n item\n ));\n if (count > 0) {\n this.line(\"/Count \" + count);\n }\n\n if (item.options) {\n if (item.options.pageNumber) {\n // Explicit Destination\n //WARNING this assumes page ids are 3,5,7, etc.\n var info = pdf.internal.getPageInfo(item.options.pageNumber);\n this.line(\n \"/Dest \" +\n \"[\" +\n info.objId +\n \" 0 R /XYZ 0 \" +\n getVerticalCoordinateString(0) +\n \" 0]\"\n );\n // this line does not work on all clients (pageNumber instead of page ref)\n //this.line('/Dest ' + '[' + (item.options.pageNumber - 1) + ' /XYZ 0 ' + this.ctx.pdf.internal.pageSize.getHeight() + ' 0]');\n\n // Named Destination\n // this.line('/Dest (page_' + (item.options.pageNumber) + ')');\n\n // Action Destination\n // var id = pdf.internal.newObject();\n // pdf.internal.write('<> endobj');\n // this.line('/A ' + id + ' 0 R' );\n }\n }\n this.objEnd();\n }\n for (var z = 0; z < node.children.length; z++) {\n this.renderItems(node.children[z]);\n }\n };\n\n pdf.outline.line = function(text) {\n this.ctx.val += text + \"\\r\\n\";\n };\n\n pdf.outline.makeRef = function(node) {\n return node.id + \" 0 R\";\n };\n\n pdf.outline.makeString = function(val) {\n return \"(\" + pdf.internal.pdfEscape(val) + \")\";\n };\n\n pdf.outline.objStart = function(node) {\n this.ctx.val += \"\\r\\n\" + node.id + \" 0 obj\" + \"\\r\\n<<\\r\\n\";\n };\n\n pdf.outline.objEnd = function() {\n this.ctx.val += \">> \\r\\n\" + \"endobj\" + \"\\r\\n\";\n };\n\n pdf.outline.count_r = function(ctx, node) {\n for (var i = 0; i < node.children.length; i++) {\n ctx.count++;\n this.count_r(ctx, node.children[i]);\n }\n return ctx.count;\n };\n }\n ]);\n\n return this;\n})(jsPDF.API);\n","/**\n * @license\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF jpeg Support PlugIn\n *\n * @name jpeg_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * 0xc0 (SOF) Huffman - Baseline DCT\n * 0xc1 (SOF) Huffman - Extended sequential DCT\n * 0xc2 Progressive DCT (SOF2)\n * 0xc3 Spatial (sequential) lossless (SOF3)\n * 0xc4 Differential sequential DCT (SOF5)\n * 0xc5 Differential progressive DCT (SOF6)\n * 0xc6 Differential spatial (SOF7)\n * 0xc7\n */\n var markers = [0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7];\n\n //takes a string imgData containing the raw bytes of\n //a jpeg image and returns [width, height]\n //Algorithm from: http://www.64lines.com/jpeg-width-height\n var getJpegInfo = function(imgData) {\n var width, height, numcomponents;\n var blockLength = imgData.charCodeAt(4) * 256 + imgData.charCodeAt(5);\n var len = imgData.length;\n var result = { width: 0, height: 0, numcomponents: 1 };\n for (var i = 4; i < len; i += 2) {\n i += blockLength;\n if (markers.indexOf(imgData.charCodeAt(i + 1)) !== -1) {\n height = imgData.charCodeAt(i + 5) * 256 + imgData.charCodeAt(i + 6);\n width = imgData.charCodeAt(i + 7) * 256 + imgData.charCodeAt(i + 8);\n numcomponents = imgData.charCodeAt(i + 9);\n result = { width: width, height: height, numcomponents: numcomponents };\n break;\n } else {\n blockLength =\n imgData.charCodeAt(i + 2) * 256 + imgData.charCodeAt(i + 3);\n }\n }\n return result;\n };\n\n /**\n * @ignore\n */\n jsPDFAPI.processJPEG = function(\n data,\n index,\n alias,\n compression,\n dataAsBinaryString,\n colorSpace\n ) {\n var filter = this.decode.DCT_DECODE,\n bpc = 8,\n dims,\n result = null;\n\n if (\n typeof data === \"string\" ||\n this.__addimage__.isArrayBuffer(data) ||\n this.__addimage__.isArrayBufferView(data)\n ) {\n // if we already have a stored binary string rep use that\n data = dataAsBinaryString || data;\n data = this.__addimage__.isArrayBuffer(data)\n ? new Uint8Array(data)\n : data;\n data = this.__addimage__.isArrayBufferView(data)\n ? this.__addimage__.arrayBufferToBinaryString(data)\n : data;\n\n dims = getJpegInfo(data);\n switch (dims.numcomponents) {\n case 1:\n colorSpace = this.color_spaces.DEVICE_GRAY;\n break;\n case 4:\n colorSpace = this.color_spaces.DEVICE_CMYK;\n break;\n case 3:\n colorSpace = this.color_spaces.DEVICE_RGB;\n break;\n }\n\n result = {\n data: data,\n width: dims.width,\n height: dims.height,\n colorSpace: colorSpace,\n bitsPerComponent: bpc,\n filter: filter,\n index: index,\n alias: alias\n };\n }\n return result;\n };\n})(jsPDF.API);\n","// Generated by CoffeeScript 1.4.0\n\n/**\n * @license\n * PNG.js\n * Copyright (c) 2011 Devon Govett\n * MIT LICENSE\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of this\n * software and associated documentation files (the \"Software\"), to deal in the Software\n * without restriction, including without limitation the rights to use, copy, modify, merge,\n * publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons\n * to whom the Software is furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all copies or\n * substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING\n * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nimport { unzlibSync } from \"./fflate.js\";\nimport { globalObject } from \"./globalObject.js\";\n\nvar PNG = (function() {\n var APNG_BLEND_OP_OVER,\n APNG_BLEND_OP_SOURCE,\n APNG_DISPOSE_OP_BACKGROUND,\n APNG_DISPOSE_OP_NONE,\n APNG_DISPOSE_OP_PREVIOUS,\n makeImage,\n scratchCanvas,\n scratchCtx;\n\n APNG_DISPOSE_OP_NONE = 0;\n\n APNG_DISPOSE_OP_BACKGROUND = 1;\n\n APNG_DISPOSE_OP_PREVIOUS = 2;\n\n APNG_BLEND_OP_SOURCE = 0;\n\n APNG_BLEND_OP_OVER = 1;\n\n function PNG(data) {\n var chunkSize,\n colors,\n palLen,\n delayDen,\n delayNum,\n frame,\n i,\n index,\n key,\n section,\n palShort,\n text,\n _i,\n _j,\n _ref;\n this.data = data;\n this.pos = 8;\n this.palette = [];\n this.imgData = [];\n this.transparency = {};\n this.animation = null;\n this.text = {};\n frame = null;\n while (true) {\n chunkSize = this.readUInt32();\n section = function() {\n var _i, _results;\n _results = [];\n for (i = _i = 0; _i < 4; i = ++_i) {\n _results.push(String.fromCharCode(this.data[this.pos++]));\n }\n return _results;\n }\n .call(this)\n .join(\"\");\n switch (section) {\n case \"IHDR\":\n this.width = this.readUInt32();\n this.height = this.readUInt32();\n this.bits = this.data[this.pos++];\n this.colorType = this.data[this.pos++];\n this.compressionMethod = this.data[this.pos++];\n this.filterMethod = this.data[this.pos++];\n this.interlaceMethod = this.data[this.pos++];\n break;\n case \"acTL\":\n this.animation = {\n numFrames: this.readUInt32(),\n numPlays: this.readUInt32() || Infinity,\n frames: []\n };\n break;\n case \"PLTE\":\n this.palette = this.read(chunkSize);\n break;\n case \"fcTL\":\n if (frame) {\n this.animation.frames.push(frame);\n }\n this.pos += 4;\n frame = {\n width: this.readUInt32(),\n height: this.readUInt32(),\n xOffset: this.readUInt32(),\n yOffset: this.readUInt32()\n };\n delayNum = this.readUInt16();\n delayDen = this.readUInt16() || 100;\n frame.delay = (1000 * delayNum) / delayDen;\n frame.disposeOp = this.data[this.pos++];\n frame.blendOp = this.data[this.pos++];\n frame.data = [];\n break;\n case \"IDAT\":\n case \"fdAT\":\n if (section === \"fdAT\") {\n this.pos += 4;\n chunkSize -= 4;\n }\n data = (frame != null ? frame.data : void 0) || this.imgData;\n for (\n i = _i = 0;\n 0 <= chunkSize ? _i < chunkSize : _i > chunkSize;\n i = 0 <= chunkSize ? ++_i : --_i\n ) {\n data.push(this.data[this.pos++]);\n }\n break;\n case \"tRNS\":\n this.transparency = {};\n switch (this.colorType) {\n case 3:\n palLen = this.palette.length / 3;\n this.transparency.indexed = this.read(chunkSize);\n if (this.transparency.indexed.length > palLen)\n throw new Error(\"More transparent colors than palette size\");\n /*\n * According to the PNG spec trns should be increased to the same size as palette if shorter\n */\n //palShort = 255 - this.transparency.indexed.length;\n palShort = palLen - this.transparency.indexed.length;\n if (palShort > 0) {\n for (\n i = _j = 0;\n 0 <= palShort ? _j < palShort : _j > palShort;\n i = 0 <= palShort ? ++_j : --_j\n ) {\n this.transparency.indexed.push(255);\n }\n }\n break;\n case 0:\n this.transparency.grayscale = this.read(chunkSize)[0];\n break;\n case 2:\n this.transparency.rgb = this.read(chunkSize);\n }\n break;\n case \"tEXt\":\n text = this.read(chunkSize);\n index = text.indexOf(0);\n key = String.fromCharCode.apply(String, text.slice(0, index));\n this.text[key] = String.fromCharCode.apply(\n String,\n text.slice(index + 1)\n );\n break;\n case \"IEND\":\n if (frame) {\n this.animation.frames.push(frame);\n }\n this.colors = function() {\n switch (this.colorType) {\n case 0:\n case 3:\n case 4:\n return 1;\n case 2:\n case 6:\n return 3;\n }\n }.call(this);\n this.hasAlphaChannel = (_ref = this.colorType) === 4 || _ref === 6;\n colors = this.colors + (this.hasAlphaChannel ? 1 : 0);\n this.pixelBitlength = this.bits * colors;\n this.colorSpace = function() {\n switch (this.colors) {\n case 1:\n return \"DeviceGray\";\n case 3:\n return \"DeviceRGB\";\n }\n }.call(this);\n this.imgData = new Uint8Array(this.imgData);\n return;\n default:\n this.pos += chunkSize;\n }\n this.pos += 4;\n if (this.pos > this.data.length) {\n throw new Error(\"Incomplete or corrupt PNG file\");\n }\n }\n }\n\n PNG.prototype.read = function(bytes) {\n var i, _i, _results;\n _results = [];\n for (\n i = _i = 0;\n 0 <= bytes ? _i < bytes : _i > bytes;\n i = 0 <= bytes ? ++_i : --_i\n ) {\n _results.push(this.data[this.pos++]);\n }\n return _results;\n };\n\n PNG.prototype.readUInt32 = function() {\n var b1, b2, b3, b4;\n b1 = this.data[this.pos++] << 24;\n b2 = this.data[this.pos++] << 16;\n b3 = this.data[this.pos++] << 8;\n b4 = this.data[this.pos++];\n return b1 | b2 | b3 | b4;\n };\n\n PNG.prototype.readUInt16 = function() {\n var b1, b2;\n b1 = this.data[this.pos++] << 8;\n b2 = this.data[this.pos++];\n return b1 | b2;\n };\n\n PNG.prototype.decodePixels = function(data) {\n var pixelBytes = this.pixelBitlength / 8;\n var fullPixels = new Uint8Array(this.width * this.height * pixelBytes);\n var pos = 0;\n var _this = this;\n\n if (data == null) {\n data = this.imgData;\n }\n if (data.length === 0) {\n return new Uint8Array(0);\n }\n\n data = unzlibSync(data);\n function pass(x0, y0, dx, dy) {\n var abyte,\n c,\n col,\n i,\n left,\n length,\n p,\n pa,\n paeth,\n pb,\n pc,\n pixels,\n row,\n scanlineLength,\n upper,\n upperLeft,\n _i,\n _j,\n _k,\n _l,\n _m;\n var w = Math.ceil((_this.width - x0) / dx),\n h = Math.ceil((_this.height - y0) / dy);\n var isFull = _this.width == w && _this.height == h;\n scanlineLength = pixelBytes * w;\n pixels = isFull ? fullPixels : new Uint8Array(scanlineLength * h);\n length = data.length;\n row = 0;\n c = 0;\n while (row < h && pos < length) {\n switch (data[pos++]) {\n case 0:\n for (i = _i = 0; _i < scanlineLength; i = _i += 1) {\n pixels[c++] = data[pos++];\n }\n break;\n case 1:\n for (i = _j = 0; _j < scanlineLength; i = _j += 1) {\n abyte = data[pos++];\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n pixels[c++] = (abyte + left) % 256;\n }\n break;\n case 2:\n for (i = _k = 0; _k < scanlineLength; i = _k += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n upper =\n row &&\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n pixels[c++] = (upper + abyte) % 256;\n }\n break;\n case 3:\n for (i = _l = 0; _l < scanlineLength; i = _l += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n upper =\n row &&\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n pixels[c++] = (abyte + Math.floor((left + upper) / 2)) % 256;\n }\n break;\n case 4:\n for (i = _m = 0; _m < scanlineLength; i = _m += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n if (row === 0) {\n upper = upperLeft = 0;\n } else {\n upper =\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n upperLeft =\n col &&\n pixels[\n (row - 1) * scanlineLength +\n (col - 1) * pixelBytes +\n (i % pixelBytes)\n ];\n }\n p = left + upper - upperLeft;\n pa = Math.abs(p - left);\n pb = Math.abs(p - upper);\n pc = Math.abs(p - upperLeft);\n if (pa <= pb && pa <= pc) {\n paeth = left;\n } else if (pb <= pc) {\n paeth = upper;\n } else {\n paeth = upperLeft;\n }\n pixels[c++] = (abyte + paeth) % 256;\n }\n break;\n default:\n throw new Error(\"Invalid filter algorithm: \" + data[pos - 1]);\n }\n if (!isFull) {\n var fullPos = ((y0 + row * dy) * _this.width + x0) * pixelBytes;\n var partPos = row * scanlineLength;\n for (i = 0; i < w; i += 1) {\n for (var j = 0; j < pixelBytes; j += 1)\n fullPixels[fullPos++] = pixels[partPos++];\n fullPos += (dx - 1) * pixelBytes;\n }\n }\n row++;\n }\n }\n if (_this.interlaceMethod == 1) {\n /*\n 1 6 4 6 2 6 4 6\n 7 7 7 7 7 7 7 7\n 5 6 5 6 5 6 5 6\n 7 7 7 7 7 7 7 7\n 3 6 4 6 3 6 4 6\n 7 7 7 7 7 7 7 7\n 5 6 5 6 5 6 5 6\n 7 7 7 7 7 7 7 7\n */\n pass(0, 0, 8, 8); // 1\n /* NOTE these seem to follow the pattern:\n * pass(x, 0, 2*x, 2*x);\n * pass(0, x, x, 2*x);\n * with x being 4, 2, 1.\n */\n pass(4, 0, 8, 8); // 2\n pass(0, 4, 4, 8); // 3\n\n pass(2, 0, 4, 4); // 4\n pass(0, 2, 2, 4); // 5\n\n pass(1, 0, 2, 2); // 6\n pass(0, 1, 1, 2); // 7\n } else {\n pass(0, 0, 1, 1);\n }\n return fullPixels;\n };\n\n PNG.prototype.decodePalette = function() {\n var c, i, length, palette, pos, ret, transparency, _i, _ref, _ref1;\n palette = this.palette;\n transparency = this.transparency.indexed || [];\n ret = new Uint8Array((transparency.length || 0) + palette.length);\n pos = 0;\n length = palette.length;\n c = 0;\n for (i = _i = 0, _ref = length; _i < _ref; i = _i += 3) {\n ret[pos++] = palette[i];\n ret[pos++] = palette[i + 1];\n ret[pos++] = palette[i + 2];\n ret[pos++] = (_ref1 = transparency[c++]) != null ? _ref1 : 255;\n }\n return ret;\n };\n\n PNG.prototype.copyToImageData = function(imageData, pixels) {\n var alpha, colors, data, i, input, j, k, length, palette, v, _ref;\n colors = this.colors;\n palette = null;\n alpha = this.hasAlphaChannel;\n if (this.palette.length) {\n palette =\n (_ref = this._decodedPalette) != null\n ? _ref\n : (this._decodedPalette = this.decodePalette());\n colors = 4;\n alpha = true;\n }\n data = imageData.data || imageData;\n length = data.length;\n input = palette || pixels;\n i = j = 0;\n if (colors === 1) {\n while (i < length) {\n k = palette ? pixels[i / 4] * 4 : j;\n v = input[k++];\n data[i++] = v;\n data[i++] = v;\n data[i++] = v;\n data[i++] = alpha ? input[k++] : 255;\n j = k;\n }\n } else {\n while (i < length) {\n k = palette ? pixels[i / 4] * 4 : j;\n data[i++] = input[k++];\n data[i++] = input[k++];\n data[i++] = input[k++];\n data[i++] = alpha ? input[k++] : 255;\n j = k;\n }\n }\n };\n\n PNG.prototype.decode = function() {\n var ret;\n ret = new Uint8Array(this.width * this.height * 4);\n this.copyToImageData(ret, this.decodePixels());\n return ret;\n };\n\n var hasBrowserCanvas = function() {\n if (Object.prototype.toString.call(globalObject) === \"[object Window]\") {\n try {\n scratchCanvas = globalObject.document.createElement(\"canvas\");\n scratchCtx = scratchCanvas.getContext(\"2d\");\n } catch (e) {\n return false;\n }\n return true;\n }\n return false;\n };\n\n hasBrowserCanvas();\n\n makeImage = function(imageData) {\n if (hasBrowserCanvas() === true) {\n var img;\n scratchCtx.width = imageData.width;\n scratchCtx.height = imageData.height;\n scratchCtx.clearRect(0, 0, imageData.width, imageData.height);\n scratchCtx.putImageData(imageData, 0, 0);\n img = new Image();\n img.src = scratchCanvas.toDataURL();\n return img;\n }\n throw new Error(\"This method requires a Browser with Canvas-capability.\");\n };\n\n PNG.prototype.decodeFrames = function(ctx) {\n var frame, i, imageData, pixels, _i, _len, _ref, _results;\n if (!this.animation) {\n return;\n }\n _ref = this.animation.frames;\n _results = [];\n for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) {\n frame = _ref[i];\n imageData = ctx.createImageData(frame.width, frame.height);\n pixels = this.decodePixels(new Uint8Array(frame.data));\n this.copyToImageData(imageData, pixels);\n frame.imageData = imageData;\n _results.push((frame.image = makeImage(imageData)));\n }\n return _results;\n };\n\n PNG.prototype.renderFrame = function(ctx, number) {\n var frame, frames, prev;\n frames = this.animation.frames;\n frame = frames[number];\n prev = frames[number - 1];\n if (number === 0) {\n ctx.clearRect(0, 0, this.width, this.height);\n }\n if (\n (prev != null ? prev.disposeOp : void 0) === APNG_DISPOSE_OP_BACKGROUND\n ) {\n ctx.clearRect(prev.xOffset, prev.yOffset, prev.width, prev.height);\n } else if (\n (prev != null ? prev.disposeOp : void 0) === APNG_DISPOSE_OP_PREVIOUS\n ) {\n ctx.putImageData(prev.imageData, prev.xOffset, prev.yOffset);\n }\n if (frame.blendOp === APNG_BLEND_OP_SOURCE) {\n ctx.clearRect(frame.xOffset, frame.yOffset, frame.width, frame.height);\n }\n return ctx.drawImage(frame.image, frame.xOffset, frame.yOffset);\n };\n\n PNG.prototype.animate = function(ctx) {\n var doFrame,\n frameNumber,\n frames,\n numFrames,\n numPlays,\n _ref,\n _this = this;\n frameNumber = 0;\n (_ref = this.animation),\n (numFrames = _ref.numFrames),\n (frames = _ref.frames),\n (numPlays = _ref.numPlays);\n return (doFrame = function() {\n var f, frame;\n f = frameNumber++ % numFrames;\n frame = frames[f];\n _this.renderFrame(ctx, f);\n if (numFrames > 1 && frameNumber / numFrames < numPlays) {\n return (_this.animation._timeout = setTimeout(doFrame, frame.delay));\n }\n })();\n };\n\n PNG.prototype.stopAnimation = function() {\n var _ref;\n return clearTimeout(\n (_ref = this.animation) != null ? _ref._timeout : void 0\n );\n };\n\n PNG.prototype.render = function(canvas) {\n var ctx, data;\n if (canvas._png) {\n canvas._png.stopAnimation();\n }\n canvas._png = this;\n canvas.width = this.width;\n canvas.height = this.height;\n ctx = canvas.getContext(\"2d\");\n if (this.animation) {\n this.decodeFrames(ctx);\n return this.animate(ctx);\n } else {\n data = ctx.createImageData(this.width, this.height);\n this.copyToImageData(data, this.decodePixels());\n return ctx.putImageData(data, 0, 0);\n }\n };\n\n return PNG;\n})();\n\nexport { PNG };\n","/** @license\n * MIT license.\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n * 2014 Diego Casorran, https://github.com/diegocr\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF split_text_to_size plugin\n *\n * @name split_text_to_size\n * @module\n */\n(function(API) {\n \"use strict\";\n /**\n * Returns an array of length matching length of the 'word' string, with each\n * cell occupied by the width of the char in that position.\n *\n * @name getCharWidthsArray\n * @function\n * @param {string} text\n * @param {Object} options\n * @returns {Array}\n */\n var getCharWidthsArray = (API.getCharWidthsArray = function(text, options) {\n options = options || {};\n\n var activeFont = options.font || this.internal.getFont();\n var fontSize = options.fontSize || this.internal.getFontSize();\n var charSpace = options.charSpace || this.internal.getCharSpace();\n\n var widths = options.widths\n ? options.widths\n : activeFont.metadata.Unicode.widths;\n var widthsFractionOf = widths.fof ? widths.fof : 1;\n var kerning = options.kerning\n ? options.kerning\n : activeFont.metadata.Unicode.kerning;\n var kerningFractionOf = kerning.fof ? kerning.fof : 1;\n var doKerning = options.doKerning === false ? false : true;\n var kerningValue = 0;\n\n var i;\n var length = text.length;\n var char_code;\n var prior_char_code = 0; //for kerning\n var default_char_width = widths[0] || widthsFractionOf;\n var output = [];\n\n for (i = 0; i < length; i++) {\n char_code = text.charCodeAt(i);\n\n if (typeof activeFont.metadata.widthOfString === \"function\") {\n output.push(\n (activeFont.metadata.widthOfGlyph(\n activeFont.metadata.characterToGlyph(char_code)\n ) +\n charSpace * (1000 / fontSize) || 0) / 1000\n );\n } else {\n if (\n doKerning &&\n typeof kerning[char_code] === \"object\" &&\n !isNaN(parseInt(kerning[char_code][prior_char_code], 10))\n ) {\n kerningValue =\n kerning[char_code][prior_char_code] / kerningFractionOf;\n } else {\n kerningValue = 0;\n }\n output.push(\n (widths[char_code] || default_char_width) / widthsFractionOf +\n kerningValue\n );\n }\n prior_char_code = char_code;\n }\n\n return output;\n });\n\n /**\n * Returns a widths of string in a given font, if the font size is set as 1 point.\n *\n * In other words, this is \"proportional\" value. For 1 unit of font size, the length\n * of the string will be that much.\n *\n * Multiply by font size to get actual width in *points*\n * Then divide by 72 to get inches or divide by (72/25.6) to get 'mm' etc.\n *\n * @name getStringUnitWidth\n * @public\n * @function\n * @param {string} text\n * @param {string} options\n * @returns {number} result\n */\n var getStringUnitWidth = (API.getStringUnitWidth = function(text, options) {\n options = options || {};\n\n var fontSize = options.fontSize || this.internal.getFontSize();\n var font = options.font || this.internal.getFont();\n var charSpace = options.charSpace || this.internal.getCharSpace();\n var result = 0;\n\n if (API.processArabic) {\n text = API.processArabic(text);\n }\n\n if (typeof font.metadata.widthOfString === \"function\") {\n result =\n font.metadata.widthOfString(text, fontSize, charSpace) / fontSize;\n } else {\n result = getCharWidthsArray\n .apply(this, arguments)\n .reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n }\n return result;\n });\n\n /**\n returns array of lines\n */\n var splitLongWord = function(word, widths_array, firstLineMaxLen, maxLen) {\n var answer = [];\n\n // 1st, chop off the piece that can fit on the hanging line.\n var i = 0,\n l = word.length,\n workingLen = 0;\n while (i !== l && workingLen + widths_array[i] < firstLineMaxLen) {\n workingLen += widths_array[i];\n i++;\n }\n // this is first line.\n answer.push(word.slice(0, i));\n\n // 2nd. Split the rest into maxLen pieces.\n var startOfLine = i;\n workingLen = 0;\n while (i !== l) {\n if (workingLen + widths_array[i] > maxLen) {\n answer.push(word.slice(startOfLine, i));\n workingLen = 0;\n startOfLine = i;\n }\n workingLen += widths_array[i];\n i++;\n }\n if (startOfLine !== i) {\n answer.push(word.slice(startOfLine, i));\n }\n\n return answer;\n };\n\n // Note, all sizing inputs for this function must be in \"font measurement units\"\n // By default, for PDF, it's \"point\".\n var splitParagraphIntoLines = function(text, maxlen, options) {\n // at this time works only on Western scripts, ones with space char\n // separating the words. Feel free to expand.\n\n if (!options) {\n options = {};\n }\n\n var line = [],\n lines = [line],\n line_length = options.textIndent || 0,\n separator_length = 0,\n current_word_length = 0,\n word,\n widths_array,\n words = text.split(\" \"),\n spaceCharWidth = getCharWidthsArray.apply(this, [\" \", options])[0],\n i,\n l,\n tmp,\n lineIndent;\n\n if (options.lineIndent === -1) {\n lineIndent = words[0].length + 2;\n } else {\n lineIndent = options.lineIndent || 0;\n }\n if (lineIndent) {\n var pad = Array(lineIndent).join(\" \"),\n wrds = [];\n words.map(function(wrd) {\n wrd = wrd.split(/\\s*\\n/);\n if (wrd.length > 1) {\n wrds = wrds.concat(\n wrd.map(function(wrd, idx) {\n return (idx && wrd.length ? \"\\n\" : \"\") + wrd;\n })\n );\n } else {\n wrds.push(wrd[0]);\n }\n });\n words = wrds;\n lineIndent = getStringUnitWidth.apply(this, [pad, options]);\n }\n\n for (i = 0, l = words.length; i < l; i++) {\n var force = 0;\n\n word = words[i];\n if (lineIndent && word[0] == \"\\n\") {\n word = word.substr(1);\n force = 1;\n }\n widths_array = getCharWidthsArray.apply(this, [word, options]);\n current_word_length = widths_array.reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n\n if (\n line_length + separator_length + current_word_length > maxlen ||\n force\n ) {\n if (current_word_length > maxlen) {\n // this happens when you have space-less long URLs for example.\n // we just chop these to size. We do NOT insert hiphens\n tmp = splitLongWord.apply(this, [\n word,\n widths_array,\n maxlen - (line_length + separator_length),\n maxlen\n ]);\n // first line we add to existing line object\n line.push(tmp.shift()); // it's ok to have extra space indicator there\n // last line we make into new line object\n line = [tmp.pop()];\n // lines in the middle we apped to lines object as whole lines\n while (tmp.length) {\n lines.push([tmp.shift()]); // single fragment occupies whole line\n }\n current_word_length = widths_array\n .slice(word.length - (line[0] ? line[0].length : 0))\n .reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n } else {\n // just put it on a new line\n line = [word];\n }\n\n // now we attach new line to lines\n lines.push(line);\n line_length = current_word_length + lineIndent;\n separator_length = spaceCharWidth;\n } else {\n line.push(word);\n\n line_length += separator_length + current_word_length;\n separator_length = spaceCharWidth;\n }\n }\n\n var postProcess;\n if (lineIndent) {\n postProcess = function(ln, idx) {\n return (idx ? pad : \"\") + ln.join(\" \");\n };\n } else {\n postProcess = function(ln) {\n return ln.join(\" \");\n };\n }\n\n return lines.map(postProcess);\n };\n\n /**\n * Splits a given string into an array of strings. Uses 'size' value\n * (in measurement units declared as default for the jsPDF instance)\n * and the font's \"widths\" and \"Kerning\" tables, where available, to\n * determine display length of a given string for a given font.\n *\n * We use character's 100% of unit size (height) as width when Width\n * table or other default width is not available.\n *\n * @name splitTextToSize\n * @public\n * @function\n * @param {string} text Unencoded, regular JavaScript (Unicode, UTF-16 / UCS-2) string.\n * @param {number} size Nominal number, measured in units default to this instance of jsPDF.\n * @param {Object} options Optional flags needed for chopper to do the right thing.\n * @returns {Array} array Array with strings chopped to size.\n */\n API.splitTextToSize = function(text, maxlen, options) {\n \"use strict\";\n\n options = options || {};\n\n var fsize = options.fontSize || this.internal.getFontSize(),\n newOptions = function(options) {\n var widths = {\n 0: 1\n },\n kerning = {};\n\n if (!options.widths || !options.kerning) {\n var f = this.internal.getFont(options.fontName, options.fontStyle),\n encoding = \"Unicode\";\n // NOT UTF8, NOT UTF16BE/LE, NOT UCS2BE/LE\n // Actual JavaScript-native String's 16bit char codes used.\n // no multi-byte logic here\n\n if (f.metadata[encoding]) {\n return {\n widths: f.metadata[encoding].widths || widths,\n kerning: f.metadata[encoding].kerning || kerning\n };\n } else {\n return {\n font: f.metadata,\n fontSize: this.internal.getFontSize(),\n charSpace: this.internal.getCharSpace()\n };\n }\n } else {\n return {\n widths: options.widths,\n kerning: options.kerning\n };\n }\n }.call(this, options);\n\n // first we split on end-of-line chars\n var paragraphs;\n if (Array.isArray(text)) {\n paragraphs = text;\n } else {\n paragraphs = String(text).split(/\\r?\\n/);\n }\n\n // now we convert size (max length of line) into \"font size units\"\n // at present time, the \"font size unit\" is always 'point'\n // 'proportional' means, \"in proportion to font size\"\n var fontUnit_maxLen = (1.0 * this.internal.scaleFactor * maxlen) / fsize;\n // at this time, fsize is always in \"points\" regardless of the default measurement unit of the doc.\n // this may change in the future?\n // until then, proportional_maxlen is likely to be in 'points'\n\n // If first line is to be indented (shorter or longer) than maxLen\n // we indicate that by using CSS-style \"text-indent\" option.\n // here it's in font units too (which is likely 'points')\n // it can be negative (which makes the first line longer than maxLen)\n newOptions.textIndent = options.textIndent\n ? (options.textIndent * 1.0 * this.internal.scaleFactor) / fsize\n : 0;\n newOptions.lineIndent = options.lineIndent;\n\n var i,\n l,\n output = [];\n for (i = 0, l = paragraphs.length; i < l; i++) {\n output = output.concat(\n splitParagraphIntoLines.apply(this, [\n paragraphs[i],\n fontUnit_maxLen,\n newOptions\n ])\n );\n }\n\n return output;\n };\n})(jsPDF.API);\n","/**\n * @license\n * (c) Dean McNamee , 2013.\n *\n * https://github.com/deanm/omggif\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n * IN THE SOFTWARE.\n *\n * omggif is a JavaScript implementation of a GIF 89a encoder and decoder,\n * including animation and compression. It does not rely on any specific\n * underlying system, so should run in the browser, Node, or Plask.\n */\n\n\"use strict\";\n\nimport { console } from \"./console.js\";\n\nfunction GifWriter(buf, width, height, gopts) {\n var p = 0;\n\n var gopts = gopts === undefined ? {} : gopts;\n var loop_count = gopts.loop === undefined ? null : gopts.loop;\n var global_palette = gopts.palette === undefined ? null : gopts.palette;\n\n if (width <= 0 || height <= 0 || width > 65535 || height > 65535)\n throw new Error(\"Width/Height invalid.\");\n\n function check_palette_and_num_colors(palette) {\n var num_colors = palette.length;\n if (num_colors < 2 || num_colors > 256 || num_colors & (num_colors - 1)) {\n throw new Error(\n \"Invalid code/color length, must be power of 2 and 2 .. 256.\"\n );\n }\n return num_colors;\n }\n\n // - Header.\n buf[p++] = 0x47;\n buf[p++] = 0x49;\n buf[p++] = 0x46; // GIF\n buf[p++] = 0x38;\n buf[p++] = 0x39;\n buf[p++] = 0x61; // 89a\n\n // Handling of Global Color Table (palette) and background index.\n var gp_num_colors_pow2 = 0;\n var background = 0;\n if (global_palette !== null) {\n var gp_num_colors = check_palette_and_num_colors(global_palette);\n while ((gp_num_colors >>= 1)) ++gp_num_colors_pow2;\n gp_num_colors = 1 << gp_num_colors_pow2;\n --gp_num_colors_pow2;\n if (gopts.background !== undefined) {\n background = gopts.background;\n if (background >= gp_num_colors)\n throw new Error(\"Background index out of range.\");\n // The GIF spec states that a background index of 0 should be ignored, so\n // this is probably a mistake and you really want to set it to another\n // slot in the palette. But actually in the end most browsers, etc end\n // up ignoring this almost completely (including for dispose background).\n if (background === 0)\n throw new Error(\"Background index explicitly passed as 0.\");\n }\n }\n\n // - Logical Screen Descriptor.\n // NOTE(deanm): w/h apparently ignored by implementations, but set anyway.\n buf[p++] = width & 0xff;\n buf[p++] = (width >> 8) & 0xff;\n buf[p++] = height & 0xff;\n buf[p++] = (height >> 8) & 0xff;\n // NOTE: Indicates 0-bpp original color resolution (unused?).\n buf[p++] = (global_palette !== null ? 0x80 : 0) | gp_num_colors_pow2; // Global Color Table Flag. // NOTE: No sort flag (unused?).\n buf[p++] = background; // Background Color Index.\n buf[p++] = 0; // Pixel aspect ratio (unused?).\n\n // - Global Color Table\n if (global_palette !== null) {\n for (var i = 0, il = global_palette.length; i < il; ++i) {\n var rgb = global_palette[i];\n buf[p++] = (rgb >> 16) & 0xff;\n buf[p++] = (rgb >> 8) & 0xff;\n buf[p++] = rgb & 0xff;\n }\n }\n\n if (loop_count !== null) {\n // Netscape block for looping.\n if (loop_count < 0 || loop_count > 65535)\n throw new Error(\"Loop count invalid.\");\n // Extension code, label, and length.\n buf[p++] = 0x21;\n buf[p++] = 0xff;\n buf[p++] = 0x0b;\n // NETSCAPE2.0\n buf[p++] = 0x4e;\n buf[p++] = 0x45;\n buf[p++] = 0x54;\n buf[p++] = 0x53;\n buf[p++] = 0x43;\n buf[p++] = 0x41;\n buf[p++] = 0x50;\n buf[p++] = 0x45;\n buf[p++] = 0x32;\n buf[p++] = 0x2e;\n buf[p++] = 0x30;\n // Sub-block\n buf[p++] = 0x03;\n buf[p++] = 0x01;\n buf[p++] = loop_count & 0xff;\n buf[p++] = (loop_count >> 8) & 0xff;\n buf[p++] = 0x00; // Terminator.\n }\n\n var ended = false;\n\n this.addFrame = function(x, y, w, h, indexed_pixels, opts) {\n if (ended === true) {\n --p;\n ended = false;\n } // Un-end.\n\n opts = opts === undefined ? {} : opts;\n\n // TODO(deanm): Bounds check x, y. Do they need to be within the virtual\n // canvas width/height, I imagine?\n if (x < 0 || y < 0 || x > 65535 || y > 65535)\n throw new Error(\"x/y invalid.\");\n\n if (w <= 0 || h <= 0 || w > 65535 || h > 65535)\n throw new Error(\"Width/Height invalid.\");\n\n if (indexed_pixels.length < w * h)\n throw new Error(\"Not enough pixels for the frame size.\");\n\n var using_local_palette = true;\n var palette = opts.palette;\n if (palette === undefined || palette === null) {\n using_local_palette = false;\n palette = global_palette;\n }\n\n if (palette === undefined || palette === null)\n throw new Error(\"Must supply either a local or global palette.\");\n\n var num_colors = check_palette_and_num_colors(palette);\n\n // Compute the min_code_size (power of 2), destroying num_colors.\n var min_code_size = 0;\n while ((num_colors >>= 1)) ++min_code_size;\n num_colors = 1 << min_code_size; // Now we can easily get it back.\n\n var delay = opts.delay === undefined ? 0 : opts.delay;\n\n // From the spec:\n // 0 - No disposal specified. The decoder is\n // not required to take any action.\n // 1 - Do not dispose. The graphic is to be left\n // in place.\n // 2 - Restore to background color. The area used by the\n // graphic must be restored to the background color.\n // 3 - Restore to previous. The decoder is required to\n // restore the area overwritten by the graphic with\n // what was there prior to rendering the graphic.\n // 4-7 - To be defined.\n // NOTE(deanm): Dispose background doesn't really work, apparently most\n // browsers ignore the background palette index and clear to transparency.\n var disposal = opts.disposal === undefined ? 0 : opts.disposal;\n if (disposal < 0 || disposal > 3)\n // 4-7 is reserved.\n throw new Error(\"Disposal out of range.\");\n\n var use_transparency = false;\n var transparent_index = 0;\n if (opts.transparent !== undefined && opts.transparent !== null) {\n use_transparency = true;\n transparent_index = opts.transparent;\n if (transparent_index < 0 || transparent_index >= num_colors)\n throw new Error(\"Transparent color index.\");\n }\n\n if (disposal !== 0 || use_transparency || delay !== 0) {\n // - Graphics Control Extension\n buf[p++] = 0x21;\n buf[p++] = 0xf9; // Extension / Label.\n buf[p++] = 4; // Byte size.\n\n buf[p++] = (disposal << 2) | (use_transparency === true ? 1 : 0);\n buf[p++] = delay & 0xff;\n buf[p++] = (delay >> 8) & 0xff;\n buf[p++] = transparent_index; // Transparent color index.\n buf[p++] = 0; // Block Terminator.\n }\n\n // - Image Descriptor\n buf[p++] = 0x2c; // Image Seperator.\n buf[p++] = x & 0xff;\n buf[p++] = (x >> 8) & 0xff; // Left.\n buf[p++] = y & 0xff;\n buf[p++] = (y >> 8) & 0xff; // Top.\n buf[p++] = w & 0xff;\n buf[p++] = (w >> 8) & 0xff;\n buf[p++] = h & 0xff;\n buf[p++] = (h >> 8) & 0xff;\n // NOTE: No sort flag (unused?).\n // TODO(deanm): Support interlace.\n buf[p++] = using_local_palette === true ? 0x80 | (min_code_size - 1) : 0;\n\n // - Local Color Table\n if (using_local_palette === true) {\n for (var i = 0, il = palette.length; i < il; ++i) {\n var rgb = palette[i];\n buf[p++] = (rgb >> 16) & 0xff;\n buf[p++] = (rgb >> 8) & 0xff;\n buf[p++] = rgb & 0xff;\n }\n }\n\n p = GifWriterOutputLZWCodeStream(\n buf,\n p,\n min_code_size < 2 ? 2 : min_code_size,\n indexed_pixels\n );\n\n return p;\n };\n\n this.end = function() {\n if (ended === false) {\n buf[p++] = 0x3b; // Trailer.\n ended = true;\n }\n return p;\n };\n\n this.getOutputBuffer = function() {\n return buf;\n };\n this.setOutputBuffer = function(v) {\n buf = v;\n };\n this.getOutputBufferPosition = function() {\n return p;\n };\n this.setOutputBufferPosition = function(v) {\n p = v;\n };\n}\n\n// Main compression routine, palette indexes -> LZW code stream.\n// |index_stream| must have at least one entry.\nfunction GifWriterOutputLZWCodeStream(buf, p, min_code_size, index_stream) {\n buf[p++] = min_code_size;\n var cur_subblock = p++; // Pointing at the length field.\n\n var clear_code = 1 << min_code_size;\n var code_mask = clear_code - 1;\n var eoi_code = clear_code + 1;\n var next_code = eoi_code + 1;\n\n var cur_code_size = min_code_size + 1; // Number of bits per code.\n var cur_shift = 0;\n // We have at most 12-bit codes, so we should have to hold a max of 19\n // bits here (and then we would write out).\n var cur = 0;\n\n function emit_bytes_to_buffer(bit_block_size) {\n while (cur_shift >= bit_block_size) {\n buf[p++] = cur & 0xff;\n cur >>= 8;\n cur_shift -= 8;\n if (p === cur_subblock + 256) {\n // Finished a subblock.\n buf[cur_subblock] = 255;\n cur_subblock = p++;\n }\n }\n }\n\n function emit_code(c) {\n cur |= c << cur_shift;\n cur_shift += cur_code_size;\n emit_bytes_to_buffer(8);\n }\n\n // I am not an expert on the topic, and I don't want to write a thesis.\n // However, it is good to outline here the basic algorithm and the few data\n // structures and optimizations here that make this implementation fast.\n // The basic idea behind LZW is to build a table of previously seen runs\n // addressed by a short id (herein called output code). All data is\n // referenced by a code, which represents one or more values from the\n // original input stream. All input bytes can be referenced as the same\n // value as an output code. So if you didn't want any compression, you\n // could more or less just output the original bytes as codes (there are\n // some details to this, but it is the idea). In order to achieve\n // compression, values greater then the input range (codes can be up to\n // 12-bit while input only 8-bit) represent a sequence of previously seen\n // inputs. The decompressor is able to build the same mapping while\n // decoding, so there is always a shared common knowledge between the\n // encoding and decoder, which is also important for \"timing\" aspects like\n // how to handle variable bit width code encoding.\n //\n // One obvious but very important consequence of the table system is there\n // is always a unique id (at most 12-bits) to map the runs. 'A' might be\n // 4, then 'AA' might be 10, 'AAA' 11, 'AAAA' 12, etc. This relationship\n // can be used for an effecient lookup strategy for the code mapping. We\n // need to know if a run has been seen before, and be able to map that run\n // to the output code. Since we start with known unique ids (input bytes),\n // and then from those build more unique ids (table entries), we can\n // continue this chain (almost like a linked list) to always have small\n // integer values that represent the current byte chains in the encoder.\n // This means instead of tracking the input bytes (AAAABCD) to know our\n // current state, we can track the table entry for AAAABC (it is guaranteed\n // to exist by the nature of the algorithm) and the next character D.\n // Therefor the tuple of (table_entry, byte) is guaranteed to also be\n // unique. This allows us to create a simple lookup key for mapping input\n // sequences to codes (table indices) without having to store or search\n // any of the code sequences. So if 'AAAA' has a table entry of 12, the\n // tuple of ('AAAA', K) for any input byte K will be unique, and can be our\n // key. This leads to a integer value at most 20-bits, which can always\n // fit in an SMI value and be used as a fast sparse array / object key.\n\n // Output code for the current contents of the index buffer.\n var ib_code = index_stream[0] & code_mask; // Load first input index.\n var code_table = {}; // Key'd on our 20-bit \"tuple\".\n\n emit_code(clear_code); // Spec says first code should be a clear code.\n\n // First index already loaded, process the rest of the stream.\n for (var i = 1, il = index_stream.length; i < il; ++i) {\n var k = index_stream[i] & code_mask;\n var cur_key = (ib_code << 8) | k; // (prev, k) unique tuple.\n var cur_code = code_table[cur_key]; // buffer + k.\n\n // Check if we have to create a new code table entry.\n if (cur_code === undefined) {\n // We don't have buffer + k.\n // Emit index buffer (without k).\n // This is an inline version of emit_code, because this is the core\n // writing routine of the compressor (and V8 cannot inline emit_code\n // because it is a closure here in a different context). Additionally\n // we can call emit_byte_to_buffer less often, because we can have\n // 30-bits (from our 31-bit signed SMI), and we know our codes will only\n // be 12-bits, so can safely have 18-bits there without overflow.\n // emit_code(ib_code);\n cur |= ib_code << cur_shift;\n cur_shift += cur_code_size;\n while (cur_shift >= 8) {\n buf[p++] = cur & 0xff;\n cur >>= 8;\n cur_shift -= 8;\n if (p === cur_subblock + 256) {\n // Finished a subblock.\n buf[cur_subblock] = 255;\n cur_subblock = p++;\n }\n }\n\n if (next_code === 4096) {\n // Table full, need a clear.\n emit_code(clear_code);\n next_code = eoi_code + 1;\n cur_code_size = min_code_size + 1;\n code_table = {};\n } else {\n // Table not full, insert a new entry.\n // Increase our variable bit code sizes if necessary. This is a bit\n // tricky as it is based on \"timing\" between the encoding and\n // decoder. From the encoders perspective this should happen after\n // we've already emitted the index buffer and are about to create the\n // first table entry that would overflow our current code bit size.\n if (next_code >= 1 << cur_code_size) ++cur_code_size;\n code_table[cur_key] = next_code++; // Insert into code table.\n }\n\n ib_code = k; // Index buffer to single input k.\n } else {\n ib_code = cur_code; // Index buffer to sequence in code table.\n }\n }\n\n emit_code(ib_code); // There will still be something in the index buffer.\n emit_code(eoi_code); // End Of Information.\n\n // Flush / finalize the sub-blocks stream to the buffer.\n emit_bytes_to_buffer(1);\n\n // Finish the sub-blocks, writing out any unfinished lengths and\n // terminating with a sub-block of length 0. If we have already started\n // but not yet used a sub-block it can just become the terminator.\n if (cur_subblock + 1 === p) {\n // Started but unused.\n buf[cur_subblock] = 0;\n } else {\n // Started and used, write length and additional terminator block.\n buf[cur_subblock] = p - cur_subblock - 1;\n buf[p++] = 0;\n }\n return p;\n}\n\nfunction GifReader(buf) {\n var p = 0;\n\n // - Header (GIF87a or GIF89a).\n if (\n buf[p++] !== 0x47 ||\n buf[p++] !== 0x49 ||\n buf[p++] !== 0x46 ||\n buf[p++] !== 0x38 ||\n ((buf[p++] + 1) & 0xfd) !== 0x38 ||\n buf[p++] !== 0x61\n ) {\n throw new Error(\"Invalid GIF 87a/89a header.\");\n }\n\n // - Logical Screen Descriptor.\n var width = buf[p++] | (buf[p++] << 8);\n var height = buf[p++] | (buf[p++] << 8);\n var pf0 = buf[p++]; // .\n var global_palette_flag = pf0 >> 7;\n var num_global_colors_pow2 = pf0 & 0x7;\n var num_global_colors = 1 << (num_global_colors_pow2 + 1);\n var background = buf[p++];\n buf[p++]; // Pixel aspect ratio (unused?).\n\n var global_palette_offset = null;\n var global_palette_size = null;\n\n if (global_palette_flag) {\n global_palette_offset = p;\n global_palette_size = num_global_colors;\n p += num_global_colors * 3; // Seek past palette.\n }\n\n var no_eof = true;\n\n var frames = [];\n\n var delay = 0;\n var transparent_index = null;\n var disposal = 0; // 0 - No disposal specified.\n var loop_count = null;\n\n this.width = width;\n this.height = height;\n\n while (no_eof && p < buf.length) {\n switch (buf[p++]) {\n case 0x21: // Graphics Control Extension Block\n switch (buf[p++]) {\n case 0xff: // Application specific block\n // Try if it's a Netscape block (with animation loop counter).\n if (\n buf[p] !== 0x0b || // 21 FF already read, check block size.\n // NETSCAPE2.0\n (buf[p + 1] == 0x4e &&\n buf[p + 2] == 0x45 &&\n buf[p + 3] == 0x54 &&\n buf[p + 4] == 0x53 &&\n buf[p + 5] == 0x43 &&\n buf[p + 6] == 0x41 &&\n buf[p + 7] == 0x50 &&\n buf[p + 8] == 0x45 &&\n buf[p + 9] == 0x32 &&\n buf[p + 10] == 0x2e &&\n buf[p + 11] == 0x30 &&\n // Sub-block\n buf[p + 12] == 0x03 &&\n buf[p + 13] == 0x01 &&\n buf[p + 16] == 0)\n ) {\n p += 14;\n loop_count = buf[p++] | (buf[p++] << 8);\n p++; // Skip terminator.\n } else {\n // We don't know what it is, just try to get past it.\n p += 12;\n while (true) {\n // Seek through subblocks.\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n p += block_size;\n }\n }\n break;\n\n case 0xf9: // Graphics Control Extension\n if (buf[p++] !== 0x4 || buf[p + 4] !== 0)\n throw new Error(\"Invalid graphics extension block.\");\n var pf1 = buf[p++];\n delay = buf[p++] | (buf[p++] << 8);\n transparent_index = buf[p++];\n if ((pf1 & 1) === 0) transparent_index = null;\n disposal = (pf1 >> 2) & 0x7;\n p++; // Skip terminator.\n break;\n\n case 0xfe: // Comment Extension.\n while (true) {\n // Seek through subblocks.\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n // console.log(buf.slice(p, p+block_size).toString('ascii'));\n p += block_size;\n }\n break;\n\n default:\n throw new Error(\n \"Unknown graphic control label: 0x\" + buf[p - 1].toString(16)\n );\n }\n break;\n\n case 0x2c: // Image Descriptor.\n var x = buf[p++] | (buf[p++] << 8);\n var y = buf[p++] | (buf[p++] << 8);\n var w = buf[p++] | (buf[p++] << 8);\n var h = buf[p++] | (buf[p++] << 8);\n var pf2 = buf[p++];\n var local_palette_flag = pf2 >> 7;\n var interlace_flag = (pf2 >> 6) & 1;\n var num_local_colors_pow2 = pf2 & 0x7;\n var num_local_colors = 1 << (num_local_colors_pow2 + 1);\n var palette_offset = global_palette_offset;\n var palette_size = global_palette_size;\n var has_local_palette = false;\n if (local_palette_flag) {\n var has_local_palette = true;\n palette_offset = p; // Override with local palette.\n palette_size = num_local_colors;\n p += num_local_colors * 3; // Seek past palette.\n }\n\n var data_offset = p;\n\n p++; // codesize\n while (true) {\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n p += block_size;\n }\n\n frames.push({\n x: x,\n y: y,\n width: w,\n height: h,\n has_local_palette: has_local_palette,\n palette_offset: palette_offset,\n palette_size: palette_size,\n data_offset: data_offset,\n data_length: p - data_offset,\n transparent_index: transparent_index,\n interlaced: !!interlace_flag,\n delay: delay,\n disposal: disposal\n });\n break;\n\n case 0x3b: // Trailer Marker (end of file).\n no_eof = false;\n break;\n\n default:\n throw new Error(\"Unknown gif block: 0x\" + buf[p - 1].toString(16));\n break;\n }\n }\n\n this.numFrames = function() {\n return frames.length;\n };\n\n this.loopCount = function() {\n return loop_count;\n };\n\n this.frameInfo = function(frame_num) {\n if (frame_num < 0 || frame_num >= frames.length)\n throw new Error(\"Frame index out of range.\");\n return frames[frame_num];\n };\n\n this.decodeAndBlitFrameBGRA = function(frame_num, pixels) {\n var frame = this.frameInfo(frame_num);\n var num_pixels = frame.width * frame.height;\n var index_stream = new Uint8Array(num_pixels); // At most 8-bit indices.\n GifReaderLZWOutputIndexStream(\n buf,\n frame.data_offset,\n index_stream,\n num_pixels\n );\n var palette_offset = frame.palette_offset;\n\n // NOTE(deanm): It seems to be much faster to compare index to 256 than\n // to === null. Not sure why, but CompareStub_EQ_STRICT shows up high in\n // the profile, not sure if it's related to using a Uint8Array.\n var trans = frame.transparent_index;\n if (trans === null) trans = 256;\n\n // We are possibly just blitting to a portion of the entire frame.\n // That is a subrect within the framerect, so the additional pixels\n // must be skipped over after we finished a scanline.\n var framewidth = frame.width;\n var framestride = width - framewidth;\n var xleft = framewidth; // Number of subrect pixels left in scanline.\n\n // Output indices of the top left and bottom right corners of the subrect.\n var opbeg = (frame.y * width + frame.x) * 4;\n var opend = ((frame.y + frame.height) * width + frame.x) * 4;\n var op = opbeg;\n\n var scanstride = framestride * 4;\n\n // Use scanstride to skip past the rows when interlacing. This is skipping\n // 7 rows for the first two passes, then 3 then 1.\n if (frame.interlaced === true) {\n scanstride += width * 4 * 7; // Pass 1.\n }\n\n var interlaceskip = 8; // Tracking the row interval in the current pass.\n\n for (var i = 0, il = index_stream.length; i < il; ++i) {\n var index = index_stream[i];\n\n if (xleft === 0) {\n // Beginning of new scan line\n op += scanstride;\n xleft = framewidth;\n if (op >= opend) {\n // Catch the wrap to switch passes when interlacing.\n scanstride = framestride * 4 + width * 4 * (interlaceskip - 1);\n // interlaceskip / 2 * 4 is interlaceskip << 1.\n op = opbeg + (framewidth + framestride) * (interlaceskip << 1);\n interlaceskip >>= 1;\n }\n }\n\n if (index === trans) {\n op += 4;\n } else {\n var r = buf[palette_offset + index * 3];\n var g = buf[palette_offset + index * 3 + 1];\n var b = buf[palette_offset + index * 3 + 2];\n pixels[op++] = b;\n pixels[op++] = g;\n pixels[op++] = r;\n pixels[op++] = 255;\n }\n --xleft;\n }\n };\n\n // I will go to copy and paste hell one day...\n this.decodeAndBlitFrameRGBA = function(frame_num, pixels) {\n var frame = this.frameInfo(frame_num);\n var num_pixels = frame.width * frame.height;\n var index_stream = new Uint8Array(num_pixels); // At most 8-bit indices.\n GifReaderLZWOutputIndexStream(\n buf,\n frame.data_offset,\n index_stream,\n num_pixels\n );\n var palette_offset = frame.palette_offset;\n\n // NOTE(deanm): It seems to be much faster to compare index to 256 than\n // to === null. Not sure why, but CompareStub_EQ_STRICT shows up high in\n // the profile, not sure if it's related to using a Uint8Array.\n var trans = frame.transparent_index;\n if (trans === null) trans = 256;\n\n // We are possibly just blitting to a portion of the entire frame.\n // That is a subrect within the framerect, so the additional pixels\n // must be skipped over after we finished a scanline.\n var framewidth = frame.width;\n var framestride = width - framewidth;\n var xleft = framewidth; // Number of subrect pixels left in scanline.\n\n // Output indices of the top left and bottom right corners of the subrect.\n var opbeg = (frame.y * width + frame.x) * 4;\n var opend = ((frame.y + frame.height) * width + frame.x) * 4;\n var op = opbeg;\n\n var scanstride = framestride * 4;\n\n // Use scanstride to skip past the rows when interlacing. This is skipping\n // 7 rows for the first two passes, then 3 then 1.\n if (frame.interlaced === true) {\n scanstride += width * 4 * 7; // Pass 1.\n }\n\n var interlaceskip = 8; // Tracking the row interval in the current pass.\n\n for (var i = 0, il = index_stream.length; i < il; ++i) {\n var index = index_stream[i];\n\n if (xleft === 0) {\n // Beginning of new scan line\n op += scanstride;\n xleft = framewidth;\n if (op >= opend) {\n // Catch the wrap to switch passes when interlacing.\n scanstride = framestride * 4 + width * 4 * (interlaceskip - 1);\n // interlaceskip / 2 * 4 is interlaceskip << 1.\n op = opbeg + (framewidth + framestride) * (interlaceskip << 1);\n interlaceskip >>= 1;\n }\n }\n\n if (index === trans) {\n op += 4;\n } else {\n var r = buf[palette_offset + index * 3];\n var g = buf[palette_offset + index * 3 + 1];\n var b = buf[palette_offset + index * 3 + 2];\n pixels[op++] = r;\n pixels[op++] = g;\n pixels[op++] = b;\n pixels[op++] = 255;\n }\n --xleft;\n }\n };\n}\n\nfunction GifReaderLZWOutputIndexStream(code_stream, p, output, output_length) {\n var min_code_size = code_stream[p++];\n\n var clear_code = 1 << min_code_size;\n var eoi_code = clear_code + 1;\n var next_code = eoi_code + 1;\n\n var cur_code_size = min_code_size + 1; // Number of bits per code.\n // NOTE: This shares the same name as the encoder, but has a different\n // meaning here. Here this masks each code coming from the code stream.\n var code_mask = (1 << cur_code_size) - 1;\n var cur_shift = 0;\n var cur = 0;\n\n var op = 0; // Output pointer.\n\n var subblock_size = code_stream[p++];\n\n // TODO(deanm): Would using a TypedArray be any faster? At least it would\n // solve the fast mode / backing store uncertainty.\n // var code_table = Array(4096);\n var code_table = new Int32Array(4096); // Can be signed, we only use 20 bits.\n\n var prev_code = null; // Track code-1.\n\n while (true) {\n // Read up to two bytes, making sure we always 12-bits for max sized code.\n while (cur_shift < 16) {\n if (subblock_size === 0) break; // No more data to be read.\n\n cur |= code_stream[p++] << cur_shift;\n cur_shift += 8;\n\n if (subblock_size === 1) {\n // Never let it get to 0 to hold logic above.\n subblock_size = code_stream[p++]; // Next subblock.\n } else {\n --subblock_size;\n }\n }\n\n // TODO(deanm): We should never really get here, we should have received\n // and EOI.\n if (cur_shift < cur_code_size) break;\n\n var code = cur & code_mask;\n cur >>= cur_code_size;\n cur_shift -= cur_code_size;\n\n // TODO(deanm): Maybe should check that the first code was a clear code,\n // at least this is what you're supposed to do. But actually our encoder\n // now doesn't emit a clear code first anyway.\n if (code === clear_code) {\n // We don't actually have to clear the table. This could be a good idea\n // for greater error checking, but we don't really do any anyway. We\n // will just track it with next_code and overwrite old entries.\n\n next_code = eoi_code + 1;\n cur_code_size = min_code_size + 1;\n code_mask = (1 << cur_code_size) - 1;\n\n // Don't update prev_code ?\n prev_code = null;\n continue;\n } else if (code === eoi_code) {\n break;\n }\n\n // We have a similar situation as the decoder, where we want to store\n // variable length entries (code table entries), but we want to do in a\n // faster manner than an array of arrays. The code below stores sort of a\n // linked list within the code table, and then \"chases\" through it to\n // construct the dictionary entries. When a new entry is created, just the\n // last byte is stored, and the rest (prefix) of the entry is only\n // referenced by its table entry. Then the code chases through the\n // prefixes until it reaches a single byte code. We have to chase twice,\n // first to compute the length, and then to actually copy the data to the\n // output (backwards, since we know the length). The alternative would be\n // storing something in an intermediate stack, but that doesn't make any\n // more sense. I implemented an approach where it also stored the length\n // in the code table, although it's a bit tricky because you run out of\n // bits (12 + 12 + 8), but I didn't measure much improvements (the table\n // entries are generally not the long). Even when I created benchmarks for\n // very long table entries the complexity did not seem worth it.\n // The code table stores the prefix entry in 12 bits and then the suffix\n // byte in 8 bits, so each entry is 20 bits.\n\n var chase_code = code < next_code ? code : prev_code;\n\n // Chase what we will output, either {CODE} or {CODE-1}.\n var chase_length = 0;\n var chase = chase_code;\n while (chase > clear_code) {\n chase = code_table[chase] >> 8;\n ++chase_length;\n }\n\n var k = chase;\n\n var op_end = op + chase_length + (chase_code !== code ? 1 : 0);\n if (op_end > output_length) {\n console.log(\"Warning, gif stream longer than expected.\");\n return;\n }\n\n // Already have the first byte from the chase, might as well write it fast.\n output[op++] = k;\n\n op += chase_length;\n var b = op; // Track pointer, writing backwards.\n\n if (chase_code !== code)\n // The case of emitting {CODE-1} + k.\n output[op++] = k;\n\n chase = chase_code;\n while (chase_length--) {\n chase = code_table[chase];\n output[--b] = chase & 0xff; // Write backwards.\n chase >>= 8; // Pull down to the prefix code.\n }\n\n if (prev_code !== null && next_code < 4096) {\n code_table[next_code++] = (prev_code << 8) | k;\n // TODO(deanm): Figure out this clearing vs code growth logic better. I\n // have an feeling that it should just happen somewhere else, for now it\n // is awkward between when we grow past the max and then hit a clear code.\n // For now just check if we hit the max 12-bits (then a clear code should\n // follow, also of course encoded in 12-bits).\n if (next_code >= code_mask + 1 && cur_code_size < 12) {\n ++cur_code_size;\n code_mask = (code_mask << 1) | 1;\n }\n }\n\n prev_code = code;\n }\n\n if (op !== output_length) {\n console.log(\"Warning, gif stream shorter than expected.\");\n }\n\n return output;\n}\n\nexport { GifReader, GifWriter };\n","/**\n * @license\n Copyright (c) 2008, Adobe Systems Incorporated\n All rights reserved.\n\n Redistribution and use in source and binary forms, with or without \n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright notice, \n this list of conditions and the following disclaimer.\n \n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the \n documentation and/or other materials provided with the distribution.\n \n * Neither the name of Adobe Systems Incorporated nor the names of its \n contributors may be used to endorse or promote products derived from \n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS\n IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\n THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR \n CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n/*\nJPEG encoder ported to JavaScript and optimized by Andreas Ritter, www.bytestrom.eu, 11/2009\n\nBasic GUI blocking jpeg encoder\n*/\n\nfunction JPEGEncoder(quality) {\n var ffloor = Math.floor;\n var YTable = new Array(64);\n var UVTable = new Array(64);\n var fdtbl_Y = new Array(64);\n var fdtbl_UV = new Array(64);\n var YDC_HT;\n var UVDC_HT;\n var YAC_HT;\n var UVAC_HT;\n\n var bitcode = new Array(65535);\n var category = new Array(65535);\n var outputfDCTQuant = new Array(64);\n var DU = new Array(64);\n var byteout = [];\n var bytenew = 0;\n var bytepos = 7;\n\n var YDU = new Array(64);\n var UDU = new Array(64);\n var VDU = new Array(64);\n var clt = new Array(256);\n var RGB_YUV_TABLE = new Array(2048);\n var currentQuality;\n\n var ZigZag = [\n 0,\n 1,\n 5,\n 6,\n 14,\n 15,\n 27,\n 28,\n 2,\n 4,\n 7,\n 13,\n 16,\n 26,\n 29,\n 42,\n 3,\n 8,\n 12,\n 17,\n 25,\n 30,\n 41,\n 43,\n 9,\n 11,\n 18,\n 24,\n 31,\n 40,\n 44,\n 53,\n 10,\n 19,\n 23,\n 32,\n 39,\n 45,\n 52,\n 54,\n 20,\n 22,\n 33,\n 38,\n 46,\n 51,\n 55,\n 60,\n 21,\n 34,\n 37,\n 47,\n 50,\n 56,\n 59,\n 61,\n 35,\n 36,\n 48,\n 49,\n 57,\n 58,\n 62,\n 63\n ];\n\n var std_dc_luminance_nrcodes = [\n 0,\n 0,\n 1,\n 5,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var std_dc_luminance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_luminance_nrcodes = [\n 0,\n 0,\n 2,\n 1,\n 3,\n 3,\n 2,\n 4,\n 3,\n 5,\n 5,\n 4,\n 4,\n 0,\n 0,\n 1,\n 0x7d\n ];\n var std_ac_luminance_values = [\n 0x01,\n 0x02,\n 0x03,\n 0x00,\n 0x04,\n 0x11,\n 0x05,\n 0x12,\n 0x21,\n 0x31,\n 0x41,\n 0x06,\n 0x13,\n 0x51,\n 0x61,\n 0x07,\n 0x22,\n 0x71,\n 0x14,\n 0x32,\n 0x81,\n 0x91,\n 0xa1,\n 0x08,\n 0x23,\n 0x42,\n 0xb1,\n 0xc1,\n 0x15,\n 0x52,\n 0xd1,\n 0xf0,\n 0x24,\n 0x33,\n 0x62,\n 0x72,\n 0x82,\n 0x09,\n 0x0a,\n 0x16,\n 0x17,\n 0x18,\n 0x19,\n 0x1a,\n 0x25,\n 0x26,\n 0x27,\n 0x28,\n 0x29,\n 0x2a,\n 0x34,\n 0x35,\n 0x36,\n 0x37,\n 0x38,\n 0x39,\n 0x3a,\n 0x43,\n 0x44,\n 0x45,\n 0x46,\n 0x47,\n 0x48,\n 0x49,\n 0x4a,\n 0x53,\n 0x54,\n 0x55,\n 0x56,\n 0x57,\n 0x58,\n 0x59,\n 0x5a,\n 0x63,\n 0x64,\n 0x65,\n 0x66,\n 0x67,\n 0x68,\n 0x69,\n 0x6a,\n 0x73,\n 0x74,\n 0x75,\n 0x76,\n 0x77,\n 0x78,\n 0x79,\n 0x7a,\n 0x83,\n 0x84,\n 0x85,\n 0x86,\n 0x87,\n 0x88,\n 0x89,\n 0x8a,\n 0x92,\n 0x93,\n 0x94,\n 0x95,\n 0x96,\n 0x97,\n 0x98,\n 0x99,\n 0x9a,\n 0xa2,\n 0xa3,\n 0xa4,\n 0xa5,\n 0xa6,\n 0xa7,\n 0xa8,\n 0xa9,\n 0xaa,\n 0xb2,\n 0xb3,\n 0xb4,\n 0xb5,\n 0xb6,\n 0xb7,\n 0xb8,\n 0xb9,\n 0xba,\n 0xc2,\n 0xc3,\n 0xc4,\n 0xc5,\n 0xc6,\n 0xc7,\n 0xc8,\n 0xc9,\n 0xca,\n 0xd2,\n 0xd3,\n 0xd4,\n 0xd5,\n 0xd6,\n 0xd7,\n 0xd8,\n 0xd9,\n 0xda,\n 0xe1,\n 0xe2,\n 0xe3,\n 0xe4,\n 0xe5,\n 0xe6,\n 0xe7,\n 0xe8,\n 0xe9,\n 0xea,\n 0xf1,\n 0xf2,\n 0xf3,\n 0xf4,\n 0xf5,\n 0xf6,\n 0xf7,\n 0xf8,\n 0xf9,\n 0xfa\n ];\n\n var std_dc_chrominance_nrcodes = [\n 0,\n 0,\n 3,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var std_dc_chrominance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_chrominance_nrcodes = [\n 0,\n 0,\n 2,\n 1,\n 2,\n 4,\n 4,\n 3,\n 4,\n 7,\n 5,\n 4,\n 4,\n 0,\n 1,\n 2,\n 0x77\n ];\n var std_ac_chrominance_values = [\n 0x00,\n 0x01,\n 0x02,\n 0x03,\n 0x11,\n 0x04,\n 0x05,\n 0x21,\n 0x31,\n 0x06,\n 0x12,\n 0x41,\n 0x51,\n 0x07,\n 0x61,\n 0x71,\n 0x13,\n 0x22,\n 0x32,\n 0x81,\n 0x08,\n 0x14,\n 0x42,\n 0x91,\n 0xa1,\n 0xb1,\n 0xc1,\n 0x09,\n 0x23,\n 0x33,\n 0x52,\n 0xf0,\n 0x15,\n 0x62,\n 0x72,\n 0xd1,\n 0x0a,\n 0x16,\n 0x24,\n 0x34,\n 0xe1,\n 0x25,\n 0xf1,\n 0x17,\n 0x18,\n 0x19,\n 0x1a,\n 0x26,\n 0x27,\n 0x28,\n 0x29,\n 0x2a,\n 0x35,\n 0x36,\n 0x37,\n 0x38,\n 0x39,\n 0x3a,\n 0x43,\n 0x44,\n 0x45,\n 0x46,\n 0x47,\n 0x48,\n 0x49,\n 0x4a,\n 0x53,\n 0x54,\n 0x55,\n 0x56,\n 0x57,\n 0x58,\n 0x59,\n 0x5a,\n 0x63,\n 0x64,\n 0x65,\n 0x66,\n 0x67,\n 0x68,\n 0x69,\n 0x6a,\n 0x73,\n 0x74,\n 0x75,\n 0x76,\n 0x77,\n 0x78,\n 0x79,\n 0x7a,\n 0x82,\n 0x83,\n 0x84,\n 0x85,\n 0x86,\n 0x87,\n 0x88,\n 0x89,\n 0x8a,\n 0x92,\n 0x93,\n 0x94,\n 0x95,\n 0x96,\n 0x97,\n 0x98,\n 0x99,\n 0x9a,\n 0xa2,\n 0xa3,\n 0xa4,\n 0xa5,\n 0xa6,\n 0xa7,\n 0xa8,\n 0xa9,\n 0xaa,\n 0xb2,\n 0xb3,\n 0xb4,\n 0xb5,\n 0xb6,\n 0xb7,\n 0xb8,\n 0xb9,\n 0xba,\n 0xc2,\n 0xc3,\n 0xc4,\n 0xc5,\n 0xc6,\n 0xc7,\n 0xc8,\n 0xc9,\n 0xca,\n 0xd2,\n 0xd3,\n 0xd4,\n 0xd5,\n 0xd6,\n 0xd7,\n 0xd8,\n 0xd9,\n 0xda,\n 0xe2,\n 0xe3,\n 0xe4,\n 0xe5,\n 0xe6,\n 0xe7,\n 0xe8,\n 0xe9,\n 0xea,\n 0xf2,\n 0xf3,\n 0xf4,\n 0xf5,\n 0xf6,\n 0xf7,\n 0xf8,\n 0xf9,\n 0xfa\n ];\n\n function initQuantTables(sf) {\n var YQT = [\n 16,\n 11,\n 10,\n 16,\n 24,\n 40,\n 51,\n 61,\n 12,\n 12,\n 14,\n 19,\n 26,\n 58,\n 60,\n 55,\n 14,\n 13,\n 16,\n 24,\n 40,\n 57,\n 69,\n 56,\n 14,\n 17,\n 22,\n 29,\n 51,\n 87,\n 80,\n 62,\n 18,\n 22,\n 37,\n 56,\n 68,\n 109,\n 103,\n 77,\n 24,\n 35,\n 55,\n 64,\n 81,\n 104,\n 113,\n 92,\n 49,\n 64,\n 78,\n 87,\n 103,\n 121,\n 120,\n 101,\n 72,\n 92,\n 95,\n 98,\n 112,\n 100,\n 103,\n 99\n ];\n\n for (var i = 0; i < 64; i++) {\n var t = ffloor((YQT[i] * sf + 50) / 100);\n t = Math.min(Math.max(t, 1), 255);\n YTable[ZigZag[i]] = t;\n }\n var UVQT = [\n 17,\n 18,\n 24,\n 47,\n 99,\n 99,\n 99,\n 99,\n 18,\n 21,\n 26,\n 66,\n 99,\n 99,\n 99,\n 99,\n 24,\n 26,\n 56,\n 99,\n 99,\n 99,\n 99,\n 99,\n 47,\n 66,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99\n ];\n for (var j = 0; j < 64; j++) {\n var u = ffloor((UVQT[j] * sf + 50) / 100);\n u = Math.min(Math.max(u, 1), 255);\n UVTable[ZigZag[j]] = u;\n }\n var aasf = [\n 1.0,\n 1.387039845,\n 1.306562965,\n 1.175875602,\n 1.0,\n 0.785694958,\n 0.5411961,\n 0.275899379\n ];\n var k = 0;\n for (var row = 0; row < 8; row++) {\n for (var col = 0; col < 8; col++) {\n fdtbl_Y[k] = 1.0 / (YTable[ZigZag[k]] * aasf[row] * aasf[col] * 8.0);\n fdtbl_UV[k] = 1.0 / (UVTable[ZigZag[k]] * aasf[row] * aasf[col] * 8.0);\n k++;\n }\n }\n }\n\n function computeHuffmanTbl(nrcodes, std_table) {\n var codevalue = 0;\n var pos_in_table = 0;\n var HT = new Array();\n for (var k = 1; k <= 16; k++) {\n for (var j = 1; j <= nrcodes[k]; j++) {\n HT[std_table[pos_in_table]] = [];\n HT[std_table[pos_in_table]][0] = codevalue;\n HT[std_table[pos_in_table]][1] = k;\n pos_in_table++;\n codevalue++;\n }\n codevalue *= 2;\n }\n return HT;\n }\n\n function initHuffmanTbl() {\n YDC_HT = computeHuffmanTbl(\n std_dc_luminance_nrcodes,\n std_dc_luminance_values\n );\n UVDC_HT = computeHuffmanTbl(\n std_dc_chrominance_nrcodes,\n std_dc_chrominance_values\n );\n YAC_HT = computeHuffmanTbl(\n std_ac_luminance_nrcodes,\n std_ac_luminance_values\n );\n UVAC_HT = computeHuffmanTbl(\n std_ac_chrominance_nrcodes,\n std_ac_chrominance_values\n );\n }\n\n function initCategoryNumber() {\n var nrlower = 1;\n var nrupper = 2;\n for (var cat = 1; cat <= 15; cat++) {\n //Positive numbers\n for (var nr = nrlower; nr < nrupper; nr++) {\n category[32767 + nr] = cat;\n bitcode[32767 + nr] = [];\n bitcode[32767 + nr][1] = cat;\n bitcode[32767 + nr][0] = nr;\n }\n //Negative numbers\n for (var nrneg = -(nrupper - 1); nrneg <= -nrlower; nrneg++) {\n category[32767 + nrneg] = cat;\n bitcode[32767 + nrneg] = [];\n bitcode[32767 + nrneg][1] = cat;\n bitcode[32767 + nrneg][0] = nrupper - 1 + nrneg;\n }\n nrlower <<= 1;\n nrupper <<= 1;\n }\n }\n\n function initRGBYUVTable() {\n for (var i = 0; i < 256; i++) {\n RGB_YUV_TABLE[i] = 19595 * i;\n RGB_YUV_TABLE[(i + 256) >> 0] = 38470 * i;\n RGB_YUV_TABLE[(i + 512) >> 0] = 7471 * i + 0x8000;\n RGB_YUV_TABLE[(i + 768) >> 0] = -11059 * i;\n RGB_YUV_TABLE[(i + 1024) >> 0] = -21709 * i;\n RGB_YUV_TABLE[(i + 1280) >> 0] = 32768 * i + 0x807fff;\n RGB_YUV_TABLE[(i + 1536) >> 0] = -27439 * i;\n RGB_YUV_TABLE[(i + 1792) >> 0] = -5329 * i;\n }\n }\n\n // IO functions\n function writeBits(bs) {\n var value = bs[0];\n var posval = bs[1] - 1;\n while (posval >= 0) {\n if (value & (1 << posval)) {\n bytenew |= 1 << bytepos;\n }\n posval--;\n bytepos--;\n if (bytepos < 0) {\n if (bytenew == 0xff) {\n writeByte(0xff);\n writeByte(0);\n } else {\n writeByte(bytenew);\n }\n bytepos = 7;\n bytenew = 0;\n }\n }\n }\n\n function writeByte(value) {\n //byteout.push(clt[value]); // write char directly instead of converting later\n byteout.push(value);\n }\n\n function writeWord(value) {\n writeByte((value >> 8) & 0xff);\n writeByte(value & 0xff);\n }\n\n // DCT & quantization core\n function fDCTQuant(data, fdtbl) {\n var d0, d1, d2, d3, d4, d5, d6, d7;\n /* Pass 1: process rows. */\n var dataOff = 0;\n var i;\n var I8 = 8;\n var I64 = 64;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 1];\n d2 = data[dataOff + 2];\n d3 = data[dataOff + 3];\n d4 = data[dataOff + 4];\n d5 = data[dataOff + 5];\n d6 = data[dataOff + 6];\n d7 = data[dataOff + 7];\n\n var tmp0 = d0 + d7;\n var tmp7 = d0 - d7;\n var tmp1 = d1 + d6;\n var tmp6 = d1 - d6;\n var tmp2 = d2 + d5;\n var tmp5 = d2 - d5;\n var tmp3 = d3 + d4;\n var tmp4 = d3 - d4;\n\n /* Even part */\n var tmp10 = tmp0 + tmp3; /* phase 2 */\n var tmp13 = tmp0 - tmp3;\n var tmp11 = tmp1 + tmp2;\n var tmp12 = tmp1 - tmp2;\n\n data[dataOff] = tmp10 + tmp11; /* phase 3 */\n data[dataOff + 4] = tmp10 - tmp11;\n\n var z1 = (tmp12 + tmp13) * 0.707106781; /* c4 */\n data[dataOff + 2] = tmp13 + z1; /* phase 5 */\n data[dataOff + 6] = tmp13 - z1;\n\n /* Odd part */\n tmp10 = tmp4 + tmp5; /* phase 2 */\n tmp11 = tmp5 + tmp6;\n tmp12 = tmp6 + tmp7;\n\n /* The rotator is modified from fig 4-8 to avoid extra negations. */\n var z5 = (tmp10 - tmp12) * 0.382683433; /* c6 */\n var z2 = 0.5411961 * tmp10 + z5; /* c2-c6 */\n var z4 = 1.306562965 * tmp12 + z5; /* c2+c6 */\n var z3 = tmp11 * 0.707106781; /* c4 */\n\n var z11 = tmp7 + z3; /* phase 5 */\n var z13 = tmp7 - z3;\n\n data[dataOff + 5] = z13 + z2; /* phase 6 */\n data[dataOff + 3] = z13 - z2;\n data[dataOff + 1] = z11 + z4;\n data[dataOff + 7] = z11 - z4;\n\n dataOff += 8; /* advance pointer to next row */\n }\n\n /* Pass 2: process columns. */\n dataOff = 0;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 8];\n d2 = data[dataOff + 16];\n d3 = data[dataOff + 24];\n d4 = data[dataOff + 32];\n d5 = data[dataOff + 40];\n d6 = data[dataOff + 48];\n d7 = data[dataOff + 56];\n\n var tmp0p2 = d0 + d7;\n var tmp7p2 = d0 - d7;\n var tmp1p2 = d1 + d6;\n var tmp6p2 = d1 - d6;\n var tmp2p2 = d2 + d5;\n var tmp5p2 = d2 - d5;\n var tmp3p2 = d3 + d4;\n var tmp4p2 = d3 - d4;\n\n /* Even part */\n var tmp10p2 = tmp0p2 + tmp3p2; /* phase 2 */\n var tmp13p2 = tmp0p2 - tmp3p2;\n var tmp11p2 = tmp1p2 + tmp2p2;\n var tmp12p2 = tmp1p2 - tmp2p2;\n\n data[dataOff] = tmp10p2 + tmp11p2; /* phase 3 */\n data[dataOff + 32] = tmp10p2 - tmp11p2;\n\n var z1p2 = (tmp12p2 + tmp13p2) * 0.707106781; /* c4 */\n data[dataOff + 16] = tmp13p2 + z1p2; /* phase 5 */\n data[dataOff + 48] = tmp13p2 - z1p2;\n\n /* Odd part */\n tmp10p2 = tmp4p2 + tmp5p2; /* phase 2 */\n tmp11p2 = tmp5p2 + tmp6p2;\n tmp12p2 = tmp6p2 + tmp7p2;\n\n /* The rotator is modified from fig 4-8 to avoid extra negations. */\n var z5p2 = (tmp10p2 - tmp12p2) * 0.382683433; /* c6 */\n var z2p2 = 0.5411961 * tmp10p2 + z5p2; /* c2-c6 */\n var z4p2 = 1.306562965 * tmp12p2 + z5p2; /* c2+c6 */\n var z3p2 = tmp11p2 * 0.707106781; /* c4 */\n\n var z11p2 = tmp7p2 + z3p2; /* phase 5 */\n var z13p2 = tmp7p2 - z3p2;\n\n data[dataOff + 40] = z13p2 + z2p2; /* phase 6 */\n data[dataOff + 24] = z13p2 - z2p2;\n data[dataOff + 8] = z11p2 + z4p2;\n data[dataOff + 56] = z11p2 - z4p2;\n\n dataOff++; /* advance pointer to next column */\n }\n\n // Quantize/descale the coefficients\n var fDCTQuant;\n for (i = 0; i < I64; ++i) {\n // Apply the quantization and scaling factor & Round to nearest integer\n fDCTQuant = data[i] * fdtbl[i];\n outputfDCTQuant[i] =\n fDCTQuant > 0.0 ? (fDCTQuant + 0.5) | 0 : (fDCTQuant - 0.5) | 0;\n //outputfDCTQuant[i] = fround(fDCTQuant);\n }\n return outputfDCTQuant;\n }\n\n function writeAPP0() {\n writeWord(0xffe0); // marker\n writeWord(16); // length\n writeByte(0x4a); // J\n writeByte(0x46); // F\n writeByte(0x49); // I\n writeByte(0x46); // F\n writeByte(0); // = \"JFIF\",'\\0'\n writeByte(1); // versionhi\n writeByte(1); // versionlo\n writeByte(0); // xyunits\n writeWord(1); // xdensity\n writeWord(1); // ydensity\n writeByte(0); // thumbnwidth\n writeByte(0); // thumbnheight\n }\n\n function writeSOF0(width, height) {\n writeWord(0xffc0); // marker\n writeWord(17); // length, truecolor YUV JPG\n writeByte(8); // precision\n writeWord(height);\n writeWord(width);\n writeByte(3); // nrofcomponents\n writeByte(1); // IdY\n writeByte(0x11); // HVY\n writeByte(0); // QTY\n writeByte(2); // IdU\n writeByte(0x11); // HVU\n writeByte(1); // QTU\n writeByte(3); // IdV\n writeByte(0x11); // HVV\n writeByte(1); // QTV\n }\n\n function writeDQT() {\n writeWord(0xffdb); // marker\n writeWord(132); // length\n writeByte(0);\n for (var i = 0; i < 64; i++) {\n writeByte(YTable[i]);\n }\n writeByte(1);\n for (var j = 0; j < 64; j++) {\n writeByte(UVTable[j]);\n }\n }\n\n function writeDHT() {\n writeWord(0xffc4); // marker\n writeWord(0x01a2); // length\n\n writeByte(0); // HTYDCinfo\n for (var i = 0; i < 16; i++) {\n writeByte(std_dc_luminance_nrcodes[i + 1]);\n }\n for (var j = 0; j <= 11; j++) {\n writeByte(std_dc_luminance_values[j]);\n }\n\n writeByte(0x10); // HTYACinfo\n for (var k = 0; k < 16; k++) {\n writeByte(std_ac_luminance_nrcodes[k + 1]);\n }\n for (var l = 0; l <= 161; l++) {\n writeByte(std_ac_luminance_values[l]);\n }\n\n writeByte(1); // HTUDCinfo\n for (var m = 0; m < 16; m++) {\n writeByte(std_dc_chrominance_nrcodes[m + 1]);\n }\n for (var n = 0; n <= 11; n++) {\n writeByte(std_dc_chrominance_values[n]);\n }\n\n writeByte(0x11); // HTUACinfo\n for (var o = 0; o < 16; o++) {\n writeByte(std_ac_chrominance_nrcodes[o + 1]);\n }\n for (var p = 0; p <= 161; p++) {\n writeByte(std_ac_chrominance_values[p]);\n }\n }\n\n function writeSOS() {\n writeWord(0xffda); // marker\n writeWord(12); // length\n writeByte(3); // nrofcomponents\n writeByte(1); // IdY\n writeByte(0); // HTY\n writeByte(2); // IdU\n writeByte(0x11); // HTU\n writeByte(3); // IdV\n writeByte(0x11); // HTV\n writeByte(0); // Ss\n writeByte(0x3f); // Se\n writeByte(0); // Bf\n }\n\n function processDU(CDU, fdtbl, DC, HTDC, HTAC) {\n var EOB = HTAC[0x00];\n var M16zeroes = HTAC[0xf0];\n var pos;\n var I16 = 16;\n var I63 = 63;\n var I64 = 64;\n var DU_DCT = fDCTQuant(CDU, fdtbl);\n //ZigZag reorder\n for (var j = 0; j < I64; ++j) {\n DU[ZigZag[j]] = DU_DCT[j];\n }\n var Diff = DU[0] - DC;\n DC = DU[0];\n //Encode DC\n if (Diff == 0) {\n writeBits(HTDC[0]); // Diff might be 0\n } else {\n pos = 32767 + Diff;\n writeBits(HTDC[category[pos]]);\n writeBits(bitcode[pos]);\n }\n //Encode ACs\n var end0pos = 63; // was const... which is crazy\n while (end0pos > 0 && DU[end0pos] == 0) {\n end0pos--;\n }\n //end0pos = first element in reverse order !=0\n if (end0pos == 0) {\n writeBits(EOB);\n return DC;\n }\n var i = 1;\n var lng;\n while (i <= end0pos) {\n var startpos = i;\n while (DU[i] == 0 && i <= end0pos) {\n ++i;\n }\n var nrzeroes = i - startpos;\n if (nrzeroes >= I16) {\n lng = nrzeroes >> 4;\n for (var nrmarker = 1; nrmarker <= lng; ++nrmarker)\n writeBits(M16zeroes);\n nrzeroes = nrzeroes & 0xf;\n }\n pos = 32767 + DU[i];\n writeBits(HTAC[(nrzeroes << 4) + category[pos]]);\n writeBits(bitcode[pos]);\n i++;\n }\n if (end0pos != I63) {\n writeBits(EOB);\n }\n return DC;\n }\n\n function initCharLookupTable() {\n var sfcc = String.fromCharCode;\n for (var i = 0; i < 256; i++) {\n ///// ACHTUNG // 255\n clt[i] = sfcc(i);\n }\n }\n\n this.encode = function(\n image,\n quality // image data object\n ) {\n if (quality) setQuality(quality);\n\n // Initialize bit writer\n byteout = new Array();\n bytenew = 0;\n bytepos = 7;\n\n // Add JPEG headers\n writeWord(0xffd8); // SOI\n writeAPP0();\n writeDQT();\n writeSOF0(image.width, image.height);\n writeDHT();\n writeSOS();\n\n // Encode 8x8 macroblocks\n var DCY = 0;\n var DCU = 0;\n var DCV = 0;\n\n bytenew = 0;\n bytepos = 7;\n\n this.encode.displayName = \"_encode_\";\n\n var imageData = image.data;\n var width = image.width;\n var height = image.height;\n\n var quadWidth = width * 4;\n\n var x,\n y = 0;\n var r, g, b;\n var start, p, col, row, pos;\n while (y < height) {\n x = 0;\n while (x < quadWidth) {\n start = quadWidth * y + x;\n col = -1;\n row = 0;\n\n for (pos = 0; pos < 64; pos++) {\n row = pos >> 3; // /8\n col = (pos & 7) * 4; // %8\n p = start + row * quadWidth + col;\n\n if (y + row >= height) {\n // padding bottom\n p -= quadWidth * (y + 1 + row - height);\n }\n\n if (x + col >= quadWidth) {\n // padding right\n p -= x + col - quadWidth + 4;\n }\n\n r = imageData[p++];\n g = imageData[p++];\n b = imageData[p++];\n\n /* // calculate YUV values dynamically\n\t\t\t\t\tYDU[pos]=((( 0.29900)*r+( 0.58700)*g+( 0.11400)*b))-128; //-0x80\n\t\t\t\t\tUDU[pos]=(((-0.16874)*r+(-0.33126)*g+( 0.50000)*b));\n\t\t\t\t\tVDU[pos]=((( 0.50000)*r+(-0.41869)*g+(-0.08131)*b));\n\t\t\t\t\t*/\n\n // use lookup table (slightly faster)\n YDU[pos] =\n ((RGB_YUV_TABLE[r] +\n RGB_YUV_TABLE[(g + 256) >> 0] +\n RGB_YUV_TABLE[(b + 512) >> 0]) >>\n 16) -\n 128;\n UDU[pos] =\n ((RGB_YUV_TABLE[(r + 768) >> 0] +\n RGB_YUV_TABLE[(g + 1024) >> 0] +\n RGB_YUV_TABLE[(b + 1280) >> 0]) >>\n 16) -\n 128;\n VDU[pos] =\n ((RGB_YUV_TABLE[(r + 1280) >> 0] +\n RGB_YUV_TABLE[(g + 1536) >> 0] +\n RGB_YUV_TABLE[(b + 1792) >> 0]) >>\n 16) -\n 128;\n }\n\n DCY = processDU(YDU, fdtbl_Y, DCY, YDC_HT, YAC_HT);\n DCU = processDU(UDU, fdtbl_UV, DCU, UVDC_HT, UVAC_HT);\n DCV = processDU(VDU, fdtbl_UV, DCV, UVDC_HT, UVAC_HT);\n x += 32;\n }\n y += 8;\n }\n\n ////////////////////////////////////////////////////////////////\n\n // Do the bit alignment of the EOI marker\n if (bytepos >= 0) {\n var fillbits = [];\n fillbits[1] = bytepos + 1;\n fillbits[0] = (1 << (bytepos + 1)) - 1;\n writeBits(fillbits);\n }\n\n writeWord(0xffd9); //EOI\n\n return new Uint8Array(byteout);\n };\n\n function setQuality(quality) {\n quality = Math.min(Math.max(quality, 1), 100);\n\n if (currentQuality == quality) return; // don't recalc if unchanged\n\n var sf =\n quality < 50 ? Math.floor(5000 / quality) : Math.floor(200 - quality * 2);\n\n initQuantTables(sf);\n currentQuality = quality;\n //console.log('Quality set to: '+quality +'%');\n }\n\n function init() {\n quality = quality || 50;\n // Create tables\n initCharLookupTable();\n initHuffmanTbl();\n initCategoryNumber();\n initRGBYUVTable();\n\n setQuality(quality);\n }\n init();\n}\n\nexport { JPEGEncoder };\n","/**\n * @author shaozilee\n *\n * Bmp format decoder,support 1bit 4bit 8bit 24bit bmp\n *\n */\n\nimport { console } from \"./console.js\";\n\nfunction BmpDecoder(buffer, is_with_alpha) {\n this.pos = 0;\n this.buffer = buffer;\n this.datav = new DataView(buffer.buffer);\n this.is_with_alpha = !!is_with_alpha;\n this.bottom_up = true;\n this.flag =\n String.fromCharCode(this.buffer[0]) + String.fromCharCode(this.buffer[1]);\n this.pos += 2;\n if ([\"BM\", \"BA\", \"CI\", \"CP\", \"IC\", \"PT\"].indexOf(this.flag) === -1)\n throw new Error(\"Invalid BMP File\");\n this.parseHeader();\n this.parseBGR();\n}\n\nBmpDecoder.prototype.parseHeader = function() {\n this.fileSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.reserved = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.offset = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.headerSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.width = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.height = this.datav.getInt32(this.pos, true);\n this.pos += 4;\n this.planes = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n this.bitPP = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n this.compress = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.rawSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.hr = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.vr = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.colors = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.importantColors = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n\n if (this.bitPP === 16 && this.is_with_alpha) {\n this.bitPP = 15;\n }\n if (this.bitPP < 15) {\n var len = this.colors === 0 ? 1 << this.bitPP : this.colors;\n this.palette = new Array(len);\n for (var i = 0; i < len; i++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var quad = this.datav.getUint8(this.pos++, true);\n this.palette[i] = {\n red: red,\n green: green,\n blue: blue,\n quad: quad\n };\n }\n }\n if (this.height < 0) {\n this.height *= -1;\n this.bottom_up = false;\n }\n};\n\nBmpDecoder.prototype.parseBGR = function() {\n this.pos = this.offset;\n try {\n var bitn = \"bit\" + this.bitPP;\n var len = this.width * this.height * 4;\n this.data = new Uint8Array(len);\n\n this[bitn]();\n } catch (e) {\n console.log(\"bit decode error:\" + e);\n }\n};\n\nBmpDecoder.prototype.bit1 = function() {\n var xlen = Math.ceil(this.width / 8);\n var mode = xlen % 4;\n var y;\n for (y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < xlen; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 8 * 4;\n for (var i = 0; i < 8; i++) {\n if (x * 8 + i < this.width) {\n var rgb = this.palette[(b >> (7 - i)) & 0x1];\n this.data[location + i * 4] = rgb.blue;\n this.data[location + i * 4 + 1] = rgb.green;\n this.data[location + i * 4 + 2] = rgb.red;\n this.data[location + i * 4 + 3] = 0xff;\n } else {\n break;\n }\n }\n }\n\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit4 = function() {\n var xlen = Math.ceil(this.width / 2);\n var mode = xlen % 4;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < xlen; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 2 * 4;\n\n var before = b >> 4;\n var after = b & 0x0f;\n\n var rgb = this.palette[before];\n this.data[location] = rgb.blue;\n this.data[location + 1] = rgb.green;\n this.data[location + 2] = rgb.red;\n this.data[location + 3] = 0xff;\n\n if (x * 2 + 1 >= this.width) break;\n\n rgb = this.palette[after];\n this.data[location + 4] = rgb.blue;\n this.data[location + 4 + 1] = rgb.green;\n this.data[location + 4 + 2] = rgb.red;\n this.data[location + 4 + 3] = 0xff;\n }\n\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit8 = function() {\n var mode = this.width % 4;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n if (b < this.palette.length) {\n var rgb = this.palette[b];\n this.data[location] = rgb.red;\n this.data[location + 1] = rgb.green;\n this.data[location + 2] = rgb.blue;\n this.data[location + 3] = 0xff;\n } else {\n this.data[location] = 0xff;\n this.data[location + 1] = 0xff;\n this.data[location + 2] = 0xff;\n this.data[location + 3] = 0xff;\n }\n }\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit15 = function() {\n var dif_w = this.width % 3;\n var _11111 = parseInt(\"11111\", 2),\n _1_5 = _11111;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var B = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n var blue = (((B & _1_5) / _1_5) * 255) | 0;\n var green = ((((B >> 5) & _1_5) / _1_5) * 255) | 0;\n var red = ((((B >> 10) & _1_5) / _1_5) * 255) | 0;\n var alpha = B >> 15 ? 0xff : 0x00;\n\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n this.pos += dif_w;\n }\n};\n\nBmpDecoder.prototype.bit16 = function() {\n var dif_w = this.width % 3;\n var _11111 = parseInt(\"11111\", 2),\n _1_5 = _11111;\n var _111111 = parseInt(\"111111\", 2),\n _1_6 = _111111;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var B = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n var alpha = 0xff;\n var blue = (((B & _1_5) / _1_5) * 255) | 0;\n var green = ((((B >> 5) & _1_6) / _1_6) * 255) | 0;\n var red = (((B >> 11) / _1_5) * 255) | 0;\n\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n this.pos += dif_w;\n }\n};\n\nBmpDecoder.prototype.bit24 = function() {\n //when height > 0\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = 0xff;\n }\n //skip extra bytes\n this.pos += this.width % 4;\n }\n};\n\n/**\n * add 32bit decode func\n * @author soubok\n */\nBmpDecoder.prototype.bit32 = function() {\n //when height > 0\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var alpha = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n //this.pos += (this.width % 4);\n }\n};\n\nBmpDecoder.prototype.getData = function() {\n return this.data;\n};\n\nexport { BmpDecoder };\n","function WebPDecoder(imageData) {\n /** @license\n * Copyright 2011 Google Inc.\n *\n * This code is licensed under the same terms as WebM:\n * Software License Agreement: http://www.webmproject.org/license/software/\n * Additional IP Rights Grant: http://www.webmproject.org/license/additional/\n * -----------------------------------------------------------------------------\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\n * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\n * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n * -----------------------------------------------------------------------------\n *\n * Copyright 2011-2017 Dominik Homberger\n * Libwebp Javascript / libwebpjs - the libwebp implementation in javascript (v0.6.0)\n *\n * Author: Dominik Homberger (dominik.homberger@gmail.com)\n */\n\n var self = this;\n var UpsampleRgbLinePair,\n UpsampleBgrLinePair,\n UpsampleRgbaLinePair,\n UpsampleBgraLinePair,\n UpsampleArgbLinePair,\n UpsampleArgbLinePair,\n UpsampleRgba4444LinePair,\n UpsampleRgb565LinePair;\n\n function x(F) {\n if (!F) throw Error(\"assert :P\");\n }\n function fa(F, L, J) {\n for (var H = 0; 4 > H; H++) if (F[L + H] != J.charCodeAt(H)) return !0;\n return !1;\n }\n function I(F, L, J, H, Z) {\n for (var O = 0; O < Z; O++) F[L + O] = J[H + O];\n }\n function M(F, L, J, H) {\n for (var Z = 0; Z < H; Z++) F[L + Z] = J;\n }\n function V(F) {\n return new Int32Array(F);\n }\n function wa(F, L) {\n for (var J = [], H = 0; H < F; H++) J.push(new L());\n return J;\n }\n function wb() {\n function F(J, H, Z) {\n for (var O = Z[H], L = 0; L < O; L++) {\n J.push(Z.length > H + 1 ? [] : 0);\n if (Z.length < H + 1) break;\n F(J[L], H + 1, Z);\n }\n }\n var L = [];\n F(L, 0, [3, 11]);\n return L;\n }\n function Ed(F, L) {\n function J(H, O, F) {\n for (var Z = F[O], ma = 0; ma < Z; ma++) {\n H.push(F.length > O + 1 ? [] : new L());\n if (F.length < O + 1) break;\n J(H[ma], O + 1, F);\n }\n }\n var H = [];\n J(H, 0, F);\n return H;\n }\n var _WebPDecoder = function() {\n var self = this;\n function F() {\n V(55);\n }\n function L(a, b) {\n for (var c = (1 << (b - 1)) >>> 0; a & c; ) c >>>= 1;\n return c ? (a & (c - 1)) + c : a;\n }\n function J(a, b, c, d, e) {\n x(!(d % c));\n do (d -= c), (a[b + d] = e);\n while (0 < d);\n }\n function H(a, b, c, d, e, f) {\n var g = b,\n h = 1 << c,\n k,\n l,\n m = V(16),\n n = V(16);\n x(0 != e);\n x(null != d);\n x(null != a);\n x(0 < c);\n for (l = 0; l < e; ++l) {\n if (15 < d[l]) return 0;\n ++m[d[l]];\n }\n if (m[0] == e) return 0;\n n[1] = 0;\n for (k = 1; 15 > k; ++k) {\n if (m[k] > 1 << k) return 0;\n n[k + 1] = n[k] + m[k];\n }\n for (l = 0; l < e; ++l) (k = d[l]), 0 < d[l] && (f[n[k]++] = l);\n if (1 == n[15])\n return (d = new O()), (d.g = 0), (d.value = f[0]), J(a, g, 1, h, d), h;\n var r = -1,\n q = h - 1,\n t = 0,\n v = 1,\n p = 1,\n u,\n w = 1 << c;\n l = 0;\n k = 1;\n for (e = 2; k <= c; ++k, e <<= 1) {\n p <<= 1;\n v += p;\n p -= m[k];\n if (0 > p) return 0;\n for (; 0 < m[k]; --m[k])\n (d = new O()),\n (d.g = k),\n (d.value = f[l++]),\n J(a, g + t, e, w, d),\n (t = L(t, k));\n }\n k = c + 1;\n for (e = 2; 15 >= k; ++k, e <<= 1) {\n p <<= 1;\n v += p;\n p -= m[k];\n if (0 > p) return 0;\n for (; 0 < m[k]; --m[k]) {\n d = new O();\n if ((t & q) != r) {\n g += w;\n r = k;\n for (u = 1 << (r - c); 15 > r; ) {\n u -= m[r];\n if (0 >= u) break;\n ++r;\n u <<= 1;\n }\n u = r - c;\n w = 1 << u;\n h += w;\n r = t & q;\n a[b + r].g = u + c;\n a[b + r].value = g - b - r;\n }\n d.g = k - c;\n d.value = f[l++];\n J(a, g + (t >> c), e, w, d);\n t = L(t, k);\n }\n }\n return v != 2 * n[15] - 1 ? 0 : h;\n }\n function Z(a, b, c, d, e) {\n x(2328 >= e);\n if (512 >= e) var f = V(512);\n else if (((f = V(e)), null == f)) return 0;\n return H(a, b, c, d, e, f);\n }\n function O() {\n this.value = this.g = 0;\n }\n function Fd() {\n this.value = this.g = 0;\n }\n function Ub() {\n this.G = wa(5, O);\n this.H = V(5);\n this.jc = this.Qb = this.qb = this.nd = 0;\n this.pd = wa(xb, Fd);\n }\n function ma(a, b, c, d) {\n x(null != a);\n x(null != b);\n x(2147483648 > d);\n a.Ca = 254;\n a.I = 0;\n a.b = -8;\n a.Ka = 0;\n a.oa = b;\n a.pa = c;\n a.Jd = b;\n a.Yc = c + d;\n a.Zc = 4 <= d ? c + d - 4 + 1 : c;\n Qa(a);\n }\n function na(a, b) {\n for (var c = 0; 0 < b--; ) c |= K(a, 128) << b;\n return c;\n }\n function ca(a, b) {\n var c = na(a, b);\n return G(a) ? -c : c;\n }\n function cb(a, b, c, d) {\n var e,\n f = 0;\n x(null != a);\n x(null != b);\n x(4294967288 > d);\n a.Sb = d;\n a.Ra = 0;\n a.u = 0;\n a.h = 0;\n 4 < d && (d = 4);\n for (e = 0; e < d; ++e) f += b[c + e] << (8 * e);\n a.Ra = f;\n a.bb = d;\n a.oa = b;\n a.pa = c;\n }\n function Vb(a) {\n for (; 8 <= a.u && a.bb < a.Sb; )\n (a.Ra >>>= 8),\n (a.Ra += (a.oa[a.pa + a.bb] << (ob - 8)) >>> 0),\n ++a.bb,\n (a.u -= 8);\n db(a) && ((a.h = 1), (a.u = 0));\n }\n function D(a, b) {\n x(0 <= b);\n if (!a.h && b <= Gd) {\n var c = pb(a) & Hd[b];\n a.u += b;\n Vb(a);\n return c;\n }\n a.h = 1;\n return (a.u = 0);\n }\n function Wb() {\n this.b = this.Ca = this.I = 0;\n this.oa = [];\n this.pa = 0;\n this.Jd = [];\n this.Yc = 0;\n this.Zc = [];\n this.Ka = 0;\n }\n function Ra() {\n this.Ra = 0;\n this.oa = [];\n this.h = this.u = this.bb = this.Sb = this.pa = 0;\n }\n function pb(a) {\n return (a.Ra >>> (a.u & (ob - 1))) >>> 0;\n }\n function db(a) {\n x(a.bb <= a.Sb);\n return a.h || (a.bb == a.Sb && a.u > ob);\n }\n function qb(a, b) {\n a.u = b;\n a.h = db(a);\n }\n function Sa(a) {\n a.u >= Xb && (x(a.u >= Xb), Vb(a));\n }\n function Qa(a) {\n x(null != a && null != a.oa);\n a.pa < a.Zc\n ? ((a.I = (a.oa[a.pa++] | (a.I << 8)) >>> 0), (a.b += 8))\n : (x(null != a && null != a.oa),\n a.pa < a.Yc\n ? ((a.b += 8), (a.I = a.oa[a.pa++] | (a.I << 8)))\n : a.Ka\n ? (a.b = 0)\n : ((a.I <<= 8), (a.b += 8), (a.Ka = 1)));\n }\n function G(a) {\n return na(a, 1);\n }\n function K(a, b) {\n var c = a.Ca;\n 0 > a.b && Qa(a);\n var d = a.b,\n e = (c * b) >>> 8,\n f = (a.I >>> d > e) + 0;\n f ? ((c -= e), (a.I -= ((e + 1) << d) >>> 0)) : (c = e + 1);\n d = c;\n for (e = 0; 256 <= d; ) (e += 8), (d >>= 8);\n d = 7 ^ (e + Id[d]);\n a.b -= d;\n a.Ca = (c << d) - 1;\n return f;\n }\n function ra(a, b, c) {\n a[b + 0] = (c >> 24) & 255;\n a[b + 1] = (c >> 16) & 255;\n a[b + 2] = (c >> 8) & 255;\n a[b + 3] = (c >> 0) & 255;\n }\n function Ta(a, b) {\n return (a[b + 0] << 0) | (a[b + 1] << 8);\n }\n function Yb(a, b) {\n return Ta(a, b) | (a[b + 2] << 16);\n }\n function Ha(a, b) {\n return Ta(a, b) | (Ta(a, b + 2) << 16);\n }\n function Zb(a, b) {\n var c = 1 << b;\n x(null != a);\n x(0 < b);\n a.X = V(c);\n if (null == a.X) return 0;\n a.Mb = 32 - b;\n a.Xa = b;\n return 1;\n }\n function $b(a, b) {\n x(null != a);\n x(null != b);\n x(a.Xa == b.Xa);\n I(b.X, 0, a.X, 0, 1 << b.Xa);\n }\n function ac() {\n this.X = [];\n this.Xa = this.Mb = 0;\n }\n function bc(a, b, c, d) {\n x(null != c);\n x(null != d);\n var e = c[0],\n f = d[0];\n 0 == e && (e = (a * f + b / 2) / b);\n 0 == f && (f = (b * e + a / 2) / a);\n if (0 >= e || 0 >= f) return 0;\n c[0] = e;\n d[0] = f;\n return 1;\n }\n function xa(a, b) {\n return (a + (1 << b) - 1) >>> b;\n }\n function yb(a, b) {\n return (\n (((((a & 4278255360) + (b & 4278255360)) >>> 0) & 4278255360) +\n ((((a & 16711935) + (b & 16711935)) >>> 0) & 16711935)) >>>\n 0\n );\n }\n function X(a, b) {\n self[b] = function(b, d, e, f, g, h, k) {\n var c;\n for (c = 0; c < g; ++c) {\n var m = self[a](h[k + c - 1], e, f + c);\n h[k + c] = yb(b[d + c], m);\n }\n };\n }\n function Jd() {\n this.ud = this.hd = this.jd = 0;\n }\n function aa(a, b) {\n return ((((a ^ b) & 4278124286) >>> 1) + (a & b)) >>> 0;\n }\n function sa(a) {\n if (0 <= a && 256 > a) return a;\n if (0 > a) return 0;\n if (255 < a) return 255;\n }\n function eb(a, b) {\n return sa(a + ((a - b + 0.5) >> 1));\n }\n function Ia(a, b, c) {\n return Math.abs(b - c) - Math.abs(a - c);\n }\n function cc(a, b, c, d, e, f, g) {\n d = f[g - 1];\n for (c = 0; c < e; ++c) f[g + c] = d = yb(a[b + c], d);\n }\n function Kd(a, b, c, d, e) {\n var f;\n for (f = 0; f < c; ++f) {\n var g = a[b + f],\n h = (g >> 8) & 255,\n k = g & 16711935,\n k = k + ((h << 16) + h),\n k = k & 16711935;\n d[e + f] = ((g & 4278255360) + k) >>> 0;\n }\n }\n function dc(a, b) {\n b.jd = (a >> 0) & 255;\n b.hd = (a >> 8) & 255;\n b.ud = (a >> 16) & 255;\n }\n function Ld(a, b, c, d, e, f) {\n var g;\n for (g = 0; g < d; ++g) {\n var h = b[c + g],\n k = h >>> 8,\n l = h >>> 16,\n m = h,\n l = l + ((((a.jd << 24) >> 24) * ((k << 24) >> 24)) >>> 5),\n l = l & 255,\n m = m + ((((a.hd << 24) >> 24) * ((k << 24) >> 24)) >>> 5),\n m = m + ((((a.ud << 24) >> 24) * ((l << 24) >> 24)) >>> 5),\n m = m & 255;\n e[f + g] = (h & 4278255360) + (l << 16) + m;\n }\n }\n function ec(a, b, c, d, e) {\n self[b] = function(a, b, c, k, l, m, n, r, q) {\n for (k = n; k < r; ++k)\n for (n = 0; n < q; ++n) l[m++] = e(c[d(a[b++])]);\n };\n self[a] = function(a, b, h, k, l, m, n) {\n var f = 8 >> a.b,\n g = a.Ea,\n t = a.K[0],\n v = a.w;\n if (8 > f)\n for (a = (1 << a.b) - 1, v = (1 << f) - 1; b < h; ++b) {\n var p = 0,\n u;\n for (u = 0; u < g; ++u)\n u & a || (p = d(k[l++])), (m[n++] = e(t[p & v])), (p >>= f);\n }\n else self[\"VP8LMapColor\" + c](k, l, t, v, m, n, b, h, g);\n };\n }\n function Md(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 16) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 0) & 255;\n }\n }\n function Nd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 16) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 0) & 255;\n d[e++] = (f >> 24) & 255;\n }\n }\n function Od(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++],\n g = ((f >> 16) & 240) | ((f >> 12) & 15),\n f = ((f >> 0) & 240) | ((f >> 28) & 15);\n d[e++] = g;\n d[e++] = f;\n }\n }\n function Pd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++],\n g = ((f >> 16) & 248) | ((f >> 13) & 7),\n f = ((f >> 5) & 224) | ((f >> 3) & 31);\n d[e++] = g;\n d[e++] = f;\n }\n }\n function Qd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 0) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 16) & 255;\n }\n }\n function fb(a, b, c, d, e, f) {\n if (0 == f)\n for (c = b + c; b < c; )\n (f = a[b++]),\n ra(\n d,\n ((f[0] >> 24) |\n ((f[1] >> 8) & 65280) |\n ((f[2] << 8) & 16711680) |\n (f[3] << 24)) >>>\n 0\n ),\n (e += 32);\n else I(d, e, a, b, c);\n }\n function gb(a, b) {\n self[b][0] = self[a + \"0\"];\n self[b][1] = self[a + \"1\"];\n self[b][2] = self[a + \"2\"];\n self[b][3] = self[a + \"3\"];\n self[b][4] = self[a + \"4\"];\n self[b][5] = self[a + \"5\"];\n self[b][6] = self[a + \"6\"];\n self[b][7] = self[a + \"7\"];\n self[b][8] = self[a + \"8\"];\n self[b][9] = self[a + \"9\"];\n self[b][10] = self[a + \"10\"];\n self[b][11] = self[a + \"11\"];\n self[b][12] = self[a + \"12\"];\n self[b][13] = self[a + \"13\"];\n self[b][14] = self[a + \"0\"];\n self[b][15] = self[a + \"0\"];\n }\n function hb(a) {\n return a == zb || a == Ab || a == Ja || a == Bb;\n }\n function Rd() {\n this.eb = [];\n this.size = this.A = this.fb = 0;\n }\n function Sd() {\n this.y = [];\n this.f = [];\n this.ea = [];\n this.F = [];\n this.Tc = this.Ed = this.Cd = this.Fd = this.lb = this.Db = this.Ab = this.fa = this.J = this.W = this.N = this.O = 0;\n }\n function Cb() {\n this.Rd = this.height = this.width = this.S = 0;\n this.f = {};\n this.f.RGBA = new Rd();\n this.f.kb = new Sd();\n this.sd = null;\n }\n function Td() {\n this.width = [0];\n this.height = [0];\n this.Pd = [0];\n this.Qd = [0];\n this.format = [0];\n }\n function Ud() {\n this.Id = this.fd = this.Md = this.hb = this.ib = this.da = this.bd = this.cd = this.j = this.v = this.Da = this.Sd = this.ob = 0;\n }\n function Vd(a) {\n alert(\"todo:WebPSamplerProcessPlane\");\n return a.T;\n }\n function Wd(a, b) {\n var c = a.T,\n d = b.ba.f.RGBA,\n e = d.eb,\n f = d.fb + a.ka * d.A,\n g = P[b.ba.S],\n h = a.y,\n k = a.O,\n l = a.f,\n m = a.N,\n n = a.ea,\n r = a.W,\n q = b.cc,\n t = b.dc,\n v = b.Mc,\n p = b.Nc,\n u = a.ka,\n w = a.ka + a.T,\n y = a.U,\n A = (y + 1) >> 1;\n 0 == u\n ? g(h, k, null, null, l, m, n, r, l, m, n, r, e, f, null, null, y)\n : (g(b.ec, b.fc, h, k, q, t, v, p, l, m, n, r, e, f - d.A, e, f, y),\n ++c);\n for (; u + 2 < w; u += 2)\n (q = l),\n (t = m),\n (v = n),\n (p = r),\n (m += a.Rc),\n (r += a.Rc),\n (f += 2 * d.A),\n (k += 2 * a.fa),\n g(h, k - a.fa, h, k, q, t, v, p, l, m, n, r, e, f - d.A, e, f, y);\n k += a.fa;\n a.j + w < a.o\n ? (I(b.ec, b.fc, h, k, y),\n I(b.cc, b.dc, l, m, A),\n I(b.Mc, b.Nc, n, r, A),\n c--)\n : w & 1 ||\n g(\n h,\n k,\n null,\n null,\n l,\n m,\n n,\n r,\n l,\n m,\n n,\n r,\n e,\n f + d.A,\n null,\n null,\n y\n );\n return c;\n }\n function Xd(a, b, c) {\n var d = a.F,\n e = [a.J];\n if (null != d) {\n var f = a.U,\n g = b.ba.S,\n h = g == ya || g == Ja;\n b = b.ba.f.RGBA;\n var k = [0],\n l = a.ka;\n k[0] = a.T;\n a.Kb &&\n (0 == l ? --k[0] : (--l, (e[0] -= a.width)),\n a.j + a.ka + a.T == a.o && (k[0] = a.o - a.j - l));\n var m = b.eb,\n l = b.fb + l * b.A;\n a = fc(d, e[0], a.width, f, k, m, l + (h ? 0 : 3), b.A);\n x(c == k);\n a && hb(g) && za(m, l, h, f, k, b.A);\n }\n return 0;\n }\n function gc(a) {\n var b = a.ma,\n c = b.ba.S,\n d = 11 > c,\n e = c == Ua || c == Va || c == ya || c == Db || 12 == c || hb(c);\n b.memory = null;\n b.Ib = null;\n b.Jb = null;\n b.Nd = null;\n if (!hc(b.Oa, a, e ? 11 : 12)) return 0;\n e && hb(c) && ic();\n if (a.da) alert(\"todo:use_scaling\");\n else {\n if (d) {\n if (((b.Ib = Vd), a.Kb)) {\n c = (a.U + 1) >> 1;\n b.memory = V(a.U + 2 * c);\n if (null == b.memory) return 0;\n b.ec = b.memory;\n b.fc = 0;\n b.cc = b.ec;\n b.dc = b.fc + a.U;\n b.Mc = b.cc;\n b.Nc = b.dc + c;\n b.Ib = Wd;\n ic();\n }\n } else alert(\"todo:EmitYUV\");\n e && ((b.Jb = Xd), d && Aa());\n }\n if (d && !jc) {\n for (a = 0; 256 > a; ++a)\n (Yd[a] = (89858 * (a - 128) + Ba) >> Wa),\n (Zd[a] = -22014 * (a - 128) + Ba),\n ($d[a] = -45773 * (a - 128)),\n (ae[a] = (113618 * (a - 128) + Ba) >> Wa);\n for (a = ta; a < Eb; ++a)\n (b = (76283 * (a - 16) + Ba) >> Wa),\n (be[a - ta] = ga(b, 255)),\n (ce[a - ta] = ga((b + 8) >> 4, 15));\n jc = 1;\n }\n return 1;\n }\n function kc(a) {\n var b = a.ma,\n c = a.U,\n d = a.T;\n x(!(a.ka & 1));\n if (0 >= c || 0 >= d) return 0;\n c = b.Ib(a, b);\n null != b.Jb && b.Jb(a, b, c);\n b.Dc += c;\n return 1;\n }\n function lc(a) {\n a.ma.memory = null;\n }\n function mc(a, b, c, d) {\n if (47 != D(a, 8)) return 0;\n b[0] = D(a, 14) + 1;\n c[0] = D(a, 14) + 1;\n d[0] = D(a, 1);\n return 0 != D(a, 3) ? 0 : !a.h;\n }\n function ib(a, b) {\n if (4 > a) return a + 1;\n var c = (a - 2) >> 1;\n return ((2 + (a & 1)) << c) + D(b, c) + 1;\n }\n function nc(a, b) {\n if (120 < b) return b - 120;\n var c = de[b - 1],\n c = (c >> 4) * a + (8 - (c & 15));\n return 1 <= c ? c : 1;\n }\n function ua(a, b, c) {\n var d = pb(c);\n b += d & 255;\n var e = a[b].g - 8;\n 0 < e &&\n (qb(c, c.u + 8),\n (d = pb(c)),\n (b += a[b].value),\n (b += d & ((1 << e) - 1)));\n qb(c, c.u + a[b].g);\n return a[b].value;\n }\n function ub(a, b, c) {\n c.g += a.g;\n c.value += (a.value << b) >>> 0;\n x(8 >= c.g);\n return a.g;\n }\n function ha(a, b, c) {\n var d = a.xc;\n b = 0 == d ? 0 : a.vc[a.md * (c >> d) + (b >> d)];\n x(b < a.Wb);\n return a.Ya[b];\n }\n function oc(a, b, c, d) {\n var e = a.ab,\n f = a.c * b,\n g = a.C;\n b = g + b;\n var h = c,\n k = d;\n d = a.Ta;\n for (c = a.Ua; 0 < e--; ) {\n var l = a.gc[e],\n m = g,\n n = b,\n r = h,\n q = k,\n k = d,\n h = c,\n t = l.Ea;\n x(m < n);\n x(n <= l.nc);\n switch (l.hc) {\n case 2:\n pc(r, q, (n - m) * t, k, h);\n break;\n case 0:\n var v = l,\n p = m,\n u = n,\n w = k,\n y = h,\n A = v.Ea;\n 0 == p &&\n (ee(r, q, null, null, 1, w, y),\n cc(r, q + 1, 0, 0, A - 1, w, y + 1),\n (q += A),\n (y += A),\n ++p);\n for (\n var E = 1 << v.b,\n B = E - 1,\n C = xa(A, v.b),\n N = v.K,\n v = v.w + (p >> v.b) * C;\n p < u;\n\n ) {\n var z = N,\n Q = v,\n S = 1;\n for (fe(r, q, w, y - A, 1, w, y); S < A; ) {\n var K = qc[(z[Q++] >> 8) & 15],\n D = (S & ~B) + E;\n D > A && (D = A);\n K(r, q + +S, w, y + S - A, D - S, w, y + S);\n S = D;\n }\n q += A;\n y += A;\n ++p;\n p & B || (v += C);\n }\n n != l.nc && I(k, h - t, k, h + (n - m - 1) * t, t);\n break;\n case 1:\n t = r;\n u = q;\n r = l.Ea;\n q = 1 << l.b;\n w = q - 1;\n y = r & ~w;\n A = r - y;\n p = xa(r, l.b);\n E = l.K;\n for (l = l.w + (m >> l.b) * p; m < n; ) {\n B = E;\n C = l;\n N = new Jd();\n v = u + y;\n for (z = u + r; u < v; )\n dc(B[C++], N), Fb(N, t, u, q, k, h), (u += q), (h += q);\n u < z &&\n (dc(B[C++], N), Fb(N, t, u, A, k, h), (u += A), (h += A));\n ++m;\n m & w || (l += p);\n }\n break;\n case 3:\n if (r == k && q == h && 0 < l.b) {\n y = (n - m) * xa(l.Ea, l.b);\n t = h + (n - m) * t - y;\n u = k;\n r = t;\n q = k;\n w = h;\n A = y;\n p = [];\n for (y = A - 1; 0 <= y; --y) p[y] = q[w + y];\n for (y = A - 1; 0 <= y; --y) u[r + y] = p[y];\n rc(l, m, n, k, t, k, h);\n } else rc(l, m, n, r, q, k, h);\n }\n h = d;\n k = c;\n }\n k != c && I(d, c, h, k, f);\n }\n function ge(a, b) {\n var c = a.V,\n d = a.Ba + a.c * a.C,\n e = b - a.C;\n x(b <= a.l.o);\n x(16 >= e);\n if (0 < e) {\n var f = a.l,\n g = a.Ta,\n h = a.Ua,\n k = f.width;\n oc(a, e, c, d);\n h = [h];\n c = a.C;\n d = b;\n e = h;\n x(c < d);\n x(f.v < f.va);\n d > f.o && (d = f.o);\n if (c < f.j) {\n var l = f.j - c,\n c = f.j;\n e[0] += l * k;\n }\n c >= d\n ? (c = 0)\n : ((e[0] += 4 * f.v),\n (f.ka = c - f.j),\n (f.U = f.va - f.v),\n (f.T = d - c),\n (c = 1));\n if (c) {\n h = h[0];\n c = a.ca;\n if (11 > c.S) {\n for (\n var m = c.f.RGBA,\n d = c.S,\n e = f.U,\n f = f.T,\n l = m.eb,\n n = m.A,\n r = f,\n m = m.fb + a.Ma * m.A;\n 0 < r--;\n\n ) {\n var q = g,\n t = h,\n v = e,\n p = l,\n u = m;\n switch (d) {\n case Ca:\n sc(q, t, v, p, u);\n break;\n case Ua:\n Gb(q, t, v, p, u);\n break;\n case zb:\n Gb(q, t, v, p, u);\n za(p, u, 0, v, 1, 0);\n break;\n case tc:\n uc(q, t, v, p, u);\n break;\n case Va:\n fb(q, t, v, p, u, 1);\n break;\n case Ab:\n fb(q, t, v, p, u, 1);\n za(p, u, 0, v, 1, 0);\n break;\n case ya:\n fb(q, t, v, p, u, 0);\n break;\n case Ja:\n fb(q, t, v, p, u, 0);\n za(p, u, 1, v, 1, 0);\n break;\n case Db:\n Hb(q, t, v, p, u);\n break;\n case Bb:\n Hb(q, t, v, p, u);\n vc(p, u, v, 1, 0);\n break;\n case wc:\n xc(q, t, v, p, u);\n break;\n default:\n x(0);\n }\n h += k;\n m += n;\n }\n a.Ma += f;\n } else alert(\"todo:EmitRescaledRowsYUVA\");\n x(a.Ma <= c.height);\n }\n }\n a.C = b;\n x(a.C <= a.i);\n }\n function yc(a) {\n var b;\n if (0 < a.ua) return 0;\n for (b = 0; b < a.Wb; ++b) {\n var c = a.Ya[b].G,\n d = a.Ya[b].H;\n if (\n 0 < c[1][d[1] + 0].g ||\n 0 < c[2][d[2] + 0].g ||\n 0 < c[3][d[3] + 0].g\n )\n return 0;\n }\n return 1;\n }\n function zc(a, b, c, d, e, f) {\n if (0 != a.Z) {\n var g = a.qd,\n h = a.rd;\n for (x(null != ia[a.Z]); b < c; ++b)\n ia[a.Z](g, h, d, e, d, e, f), (g = d), (h = e), (e += f);\n a.qd = g;\n a.rd = h;\n }\n }\n function Ib(a, b) {\n var c = a.l.ma,\n d = 0 == c.Z || 1 == c.Z ? a.l.j : a.C,\n d = a.C < d ? d : a.C;\n x(b <= a.l.o);\n if (b > d) {\n var e = a.l.width,\n f = c.ca,\n g = c.tb + e * d,\n h = a.V,\n k = a.Ba + a.c * d,\n l = a.gc;\n x(1 == a.ab);\n x(3 == l[0].hc);\n he(l[0], d, b, h, k, f, g);\n zc(c, d, b, f, g, e);\n }\n a.C = a.Ma = b;\n }\n function Jb(a, b, c, d, e, f, g) {\n var h = a.$ / d,\n k = a.$ % d,\n l = a.m,\n m = a.s,\n n = c + a.$,\n r = n;\n e = c + d * e;\n var q = c + d * f,\n t = 280 + m.ua,\n v = a.Pb ? h : 16777216,\n p = 0 < m.ua ? m.Wa : null,\n u = m.wc,\n w = n < q ? ha(m, k, h) : null;\n x(a.C < f);\n x(q <= e);\n var y = !1;\n a: for (;;) {\n for (; y || n < q; ) {\n var A = 0;\n if (h >= v) {\n var v = a,\n E = n - c;\n x(v.Pb);\n v.wd = v.m;\n v.xd = E;\n 0 < v.s.ua && $b(v.s.Wa, v.s.vb);\n v = h + ie;\n }\n k & u || (w = ha(m, k, h));\n x(null != w);\n w.Qb && ((b[n] = w.qb), (y = !0));\n if (!y)\n if ((Sa(l), w.jc)) {\n var A = l,\n E = b,\n B = n,\n C = w.pd[pb(A) & (xb - 1)];\n x(w.jc);\n 256 > C.g\n ? (qb(A, A.u + C.g), (E[B] = C.value), (A = 0))\n : (qb(A, A.u + C.g - 256), x(256 <= C.value), (A = C.value));\n 0 == A && (y = !0);\n } else A = ua(w.G[0], w.H[0], l);\n if (l.h) break;\n if (y || 256 > A) {\n if (!y)\n if (w.nd) b[n] = (w.qb | (A << 8)) >>> 0;\n else {\n Sa(l);\n y = ua(w.G[1], w.H[1], l);\n Sa(l);\n E = ua(w.G[2], w.H[2], l);\n B = ua(w.G[3], w.H[3], l);\n if (l.h) break;\n b[n] = ((B << 24) | (y << 16) | (A << 8) | E) >>> 0;\n }\n y = !1;\n ++n;\n ++k;\n if (\n k >= d &&\n ((k = 0),\n ++h,\n null != g && h <= f && !(h % 16) && g(a, h),\n null != p)\n )\n for (; r < n; )\n (A = b[r++]),\n (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n } else if (280 > A) {\n A = ib(A - 256, l);\n E = ua(w.G[4], w.H[4], l);\n Sa(l);\n E = ib(E, l);\n E = nc(d, E);\n if (l.h) break;\n if (n - c < E || e - n < A) break a;\n else for (B = 0; B < A; ++B) b[n + B] = b[n + B - E];\n n += A;\n for (k += A; k >= d; )\n (k -= d), ++h, null != g && h <= f && !(h % 16) && g(a, h);\n x(n <= e);\n k & u && (w = ha(m, k, h));\n if (null != p)\n for (; r < n; )\n (A = b[r++]),\n (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n } else if (A < t) {\n y = A - 280;\n for (x(null != p); r < n; )\n (A = b[r++]), (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n A = n;\n E = p;\n x(!(y >>> E.Xa));\n b[A] = E.X[y];\n y = !0;\n } else break a;\n y || x(l.h == db(l));\n }\n if (a.Pb && l.h && n < e)\n x(a.m.h),\n (a.a = 5),\n (a.m = a.wd),\n (a.$ = a.xd),\n 0 < a.s.ua && $b(a.s.vb, a.s.Wa);\n else if (l.h) break a;\n else null != g && g(a, h > f ? f : h), (a.a = 0), (a.$ = n - c);\n return 1;\n }\n a.a = 3;\n return 0;\n }\n function Ac(a) {\n x(null != a);\n a.vc = null;\n a.yc = null;\n a.Ya = null;\n var b = a.Wa;\n null != b && (b.X = null);\n a.vb = null;\n x(null != a);\n }\n function Bc() {\n var a = new je();\n if (null == a) return null;\n a.a = 0;\n a.xb = Cc;\n gb(\"Predictor\", \"VP8LPredictors\");\n gb(\"Predictor\", \"VP8LPredictors_C\");\n gb(\"PredictorAdd\", \"VP8LPredictorsAdd\");\n gb(\"PredictorAdd\", \"VP8LPredictorsAdd_C\");\n pc = Kd;\n Fb = Ld;\n sc = Md;\n Gb = Nd;\n Hb = Od;\n xc = Pd;\n uc = Qd;\n self.VP8LMapColor32b = ke;\n self.VP8LMapColor8b = le;\n return a;\n }\n function rb(a, b, c, d, e) {\n var f = 1,\n g = [a],\n h = [b],\n k = d.m,\n l = d.s,\n m = null,\n n = 0;\n a: for (;;) {\n if (c)\n for (; f && D(k, 1); ) {\n var r = g,\n q = h,\n t = d,\n v = 1,\n p = t.m,\n u = t.gc[t.ab],\n w = D(p, 2);\n if (t.Oc & (1 << w)) f = 0;\n else {\n t.Oc |= 1 << w;\n u.hc = w;\n u.Ea = r[0];\n u.nc = q[0];\n u.K = [null];\n ++t.ab;\n x(4 >= t.ab);\n switch (w) {\n case 0:\n case 1:\n u.b = D(p, 3) + 2;\n v = rb(xa(u.Ea, u.b), xa(u.nc, u.b), 0, t, u.K);\n u.K = u.K[0];\n break;\n case 3:\n var y = D(p, 8) + 1,\n A = 16 < y ? 0 : 4 < y ? 1 : 2 < y ? 2 : 3;\n r[0] = xa(u.Ea, A);\n u.b = A;\n var v = rb(y, 1, 0, t, u.K),\n E;\n if ((E = v)) {\n var B,\n C = y,\n N = u,\n z = 1 << (8 >> N.b),\n Q = V(z);\n if (null == Q) E = 0;\n else {\n var S = N.K[0],\n K = N.w;\n Q[0] = N.K[0][0];\n for (B = 1; B < 1 * C; ++B) Q[B] = yb(S[K + B], Q[B - 1]);\n for (; B < 4 * z; ++B) Q[B] = 0;\n N.K[0] = null;\n N.K[0] = Q;\n E = 1;\n }\n }\n v = E;\n break;\n case 2:\n break;\n default:\n x(0);\n }\n f = v;\n }\n }\n g = g[0];\n h = h[0];\n if (f && D(k, 1) && ((n = D(k, 4)), (f = 1 <= n && 11 >= n), !f)) {\n d.a = 3;\n break a;\n }\n var H;\n if ((H = f))\n b: {\n var F = d,\n G = g,\n L = h,\n J = n,\n T = c,\n Da,\n ba,\n X = F.m,\n R = F.s,\n P = [null],\n U,\n W = 1,\n aa = 0,\n na = me[J];\n c: for (;;) {\n if (T && D(X, 1)) {\n var ca = D(X, 3) + 2,\n ga = xa(G, ca),\n ka = xa(L, ca),\n qa = ga * ka;\n if (!rb(ga, ka, 0, F, P)) break c;\n P = P[0];\n R.xc = ca;\n for (Da = 0; Da < qa; ++Da) {\n var ia = (P[Da] >> 8) & 65535;\n P[Da] = ia;\n ia >= W && (W = ia + 1);\n }\n }\n if (X.h) break c;\n for (ba = 0; 5 > ba; ++ba) {\n var Y = Dc[ba];\n !ba && 0 < J && (Y += 1 << J);\n aa < Y && (aa = Y);\n }\n var ma = wa(W * na, O);\n var ua = W,\n va = wa(ua, Ub);\n if (null == va) var la = null;\n else x(65536 >= ua), (la = va);\n var ha = V(aa);\n if (null == la || null == ha || null == ma) {\n F.a = 1;\n break c;\n }\n var pa = ma;\n for (Da = U = 0; Da < W; ++Da) {\n var ja = la[Da],\n da = ja.G,\n ea = ja.H,\n Fa = 0,\n ra = 1,\n Ha = 0;\n for (ba = 0; 5 > ba; ++ba) {\n Y = Dc[ba];\n da[ba] = pa;\n ea[ba] = U;\n !ba && 0 < J && (Y += 1 << J);\n d: {\n var sa,\n za = Y,\n ta = F,\n oa = ha,\n db = pa,\n eb = U,\n Ia = 0,\n Ka = ta.m,\n fb = D(Ka, 1);\n M(oa, 0, 0, za);\n if (fb) {\n var gb = D(Ka, 1) + 1,\n hb = D(Ka, 1),\n Ja = D(Ka, 0 == hb ? 1 : 8);\n oa[Ja] = 1;\n 2 == gb && ((Ja = D(Ka, 8)), (oa[Ja] = 1));\n var ya = 1;\n } else {\n var Ua = V(19),\n Va = D(Ka, 4) + 4;\n if (19 < Va) {\n ta.a = 3;\n var Aa = 0;\n break d;\n }\n for (sa = 0; sa < Va; ++sa) Ua[ne[sa]] = D(Ka, 3);\n var Ba = void 0,\n sb = void 0,\n Wa = ta,\n ib = Ua,\n Ca = za,\n Xa = oa,\n Oa = 0,\n La = Wa.m,\n Ya = 8,\n Za = wa(128, O);\n e: for (;;) {\n if (!Z(Za, 0, 7, ib, 19)) break e;\n if (D(La, 1)) {\n var kb = 2 + 2 * D(La, 3),\n Ba = 2 + D(La, kb);\n if (Ba > Ca) break e;\n } else Ba = Ca;\n for (sb = 0; sb < Ca && Ba--; ) {\n Sa(La);\n var $a = Za[0 + (pb(La) & 127)];\n qb(La, La.u + $a.g);\n var jb = $a.value;\n if (16 > jb) (Xa[sb++] = jb), 0 != jb && (Ya = jb);\n else {\n var lb = 16 == jb,\n ab = jb - 16,\n mb = oe[ab],\n bb = D(La, pe[ab]) + mb;\n if (sb + bb > Ca) break e;\n else\n for (var nb = lb ? Ya : 0; 0 < bb--; )\n Xa[sb++] = nb;\n }\n }\n Oa = 1;\n break e;\n }\n Oa || (Wa.a = 3);\n ya = Oa;\n }\n (ya = ya && !Ka.h) && (Ia = Z(db, eb, 8, oa, za));\n ya && 0 != Ia ? (Aa = Ia) : ((ta.a = 3), (Aa = 0));\n }\n if (0 == Aa) break c;\n ra && 1 == qe[ba] && (ra = 0 == pa[U].g);\n Fa += pa[U].g;\n U += Aa;\n if (3 >= ba) {\n var Pa = ha[0],\n tb;\n for (tb = 1; tb < Y; ++tb) ha[tb] > Pa && (Pa = ha[tb]);\n Ha += Pa;\n }\n }\n ja.nd = ra;\n ja.Qb = 0;\n ra &&\n ((ja.qb =\n ((da[3][ea[3] + 0].value << 24) |\n (da[1][ea[1] + 0].value << 16) |\n da[2][ea[2] + 0].value) >>>\n 0),\n 0 == Fa &&\n 256 > da[0][ea[0] + 0].value &&\n ((ja.Qb = 1), (ja.qb += da[0][ea[0] + 0].value << 8)));\n ja.jc = !ja.Qb && 6 > Ha;\n if (ja.jc) {\n var Ga,\n Ea = ja;\n for (Ga = 0; Ga < xb; ++Ga) {\n var Ma = Ga,\n Na = Ea.pd[Ma],\n vb = Ea.G[0][Ea.H[0] + Ma];\n 256 <= vb.value\n ? ((Na.g = vb.g + 256), (Na.value = vb.value))\n : ((Na.g = 0),\n (Na.value = 0),\n (Ma >>= ub(vb, 8, Na)),\n (Ma >>= ub(Ea.G[1][Ea.H[1] + Ma], 16, Na)),\n (Ma >>= ub(Ea.G[2][Ea.H[2] + Ma], 0, Na)),\n ub(Ea.G[3][Ea.H[3] + Ma], 24, Na));\n }\n }\n }\n R.vc = P;\n R.Wb = W;\n R.Ya = la;\n R.yc = ma;\n H = 1;\n break b;\n }\n H = 0;\n }\n f = H;\n if (!f) {\n d.a = 3;\n break a;\n }\n if (0 < n) {\n if (((l.ua = 1 << n), !Zb(l.Wa, n))) {\n d.a = 1;\n f = 0;\n break a;\n }\n } else l.ua = 0;\n var Qa = d,\n cb = g,\n ob = h,\n Ra = Qa.s,\n Ta = Ra.xc;\n Qa.c = cb;\n Qa.i = ob;\n Ra.md = xa(cb, Ta);\n Ra.wc = 0 == Ta ? -1 : (1 << Ta) - 1;\n if (c) {\n d.xb = re;\n break a;\n }\n m = V(g * h);\n if (null == m) {\n d.a = 1;\n f = 0;\n break a;\n }\n f = (f = Jb(d, m, 0, g, h, h, null)) && !k.h;\n break a;\n }\n f\n ? (null != e ? (e[0] = m) : (x(null == m), x(c)), (d.$ = 0), c || Ac(l))\n : Ac(l);\n return f;\n }\n function Ec(a, b) {\n var c = a.c * a.i,\n d = c + b + 16 * b;\n x(a.c <= b);\n a.V = V(d);\n if (null == a.V) return (a.Ta = null), (a.Ua = 0), (a.a = 1), 0;\n a.Ta = a.V;\n a.Ua = a.Ba + c + b;\n return 1;\n }\n function se(a, b) {\n var c = a.C,\n d = b - c,\n e = a.V,\n f = a.Ba + a.c * c;\n for (x(b <= a.l.o); 0 < d; ) {\n var g = 16 < d ? 16 : d,\n h = a.l.ma,\n k = a.l.width,\n l = k * g,\n m = h.ca,\n n = h.tb + k * c,\n r = a.Ta,\n q = a.Ua;\n oc(a, g, e, f);\n Fc(r, q, m, n, l);\n zc(h, c, c + g, m, n, k);\n d -= g;\n e += g * a.c;\n c += g;\n }\n x(c == b);\n a.C = a.Ma = b;\n }\n function te(a, b) {\n var c = [0],\n d = [0],\n e = [0];\n a: for (;;) {\n if (null == a) return 0;\n if (null == b) return (a.a = 2), 0;\n a.l = b;\n a.a = 0;\n cb(a.m, b.data, b.w, b.ha);\n if (!mc(a.m, c, d, e)) {\n a.a = 3;\n break a;\n }\n a.xb = Cc;\n b.width = c[0];\n b.height = d[0];\n if (!rb(c[0], d[0], 1, a, null)) break a;\n return 1;\n }\n x(0 != a.a);\n return 0;\n }\n function ue() {\n this.ub = this.yd = this.td = this.Rb = 0;\n }\n function ve() {\n this.Kd = this.Ld = this.Ud = this.Td = this.i = this.c = 0;\n }\n function we() {\n this.Fb = this.Bb = this.Cb = 0;\n this.Zb = V(4);\n this.Lb = V(4);\n }\n function Gc() {\n this.Yb = wb();\n }\n function xe() {\n this.jb = V(3);\n this.Wc = Ed([4, 8], Gc);\n this.Xc = Ed([4, 17], Gc);\n }\n function ye() {\n this.Pc = this.wb = this.Tb = this.zd = 0;\n this.vd = new V(4);\n this.od = new V(4);\n }\n function Xa() {\n this.ld = this.La = this.dd = this.tc = 0;\n }\n function Hc() {\n this.Na = this.la = 0;\n }\n function ze() {\n this.Sc = [0, 0];\n this.Eb = [0, 0];\n this.Qc = [0, 0];\n this.ia = this.lc = 0;\n }\n function Kb() {\n this.ad = V(384);\n this.Za = 0;\n this.Ob = V(16);\n this.$b = this.Ad = this.ia = this.Gc = this.Hc = this.Dd = 0;\n }\n function Ae() {\n this.uc = this.M = this.Nb = 0;\n this.wa = Array(new Xa());\n this.Y = 0;\n this.ya = Array(new Kb());\n this.aa = 0;\n this.l = new Oa();\n }\n function Ic() {\n this.y = V(16);\n this.f = V(8);\n this.ea = V(8);\n }\n function Be() {\n this.cb = this.a = 0;\n this.sc = \"\";\n this.m = new Wb();\n this.Od = new ue();\n this.Kc = new ve();\n this.ed = new ye();\n this.Qa = new we();\n this.Ic = this.$c = this.Aa = 0;\n this.D = new Ae();\n this.Xb = this.Va = this.Hb = this.zb = this.yb = this.Ub = this.za = 0;\n this.Jc = wa(8, Wb);\n this.ia = 0;\n new F();\n this.pb = wa(4, ze);\n this.Pa = new xe();\n this.Bd = this.kc = 0;\n this.Ac = [];\n this.Bc = 0;\n this.zc = [0, 0, 0, 0];\n this.Gd = Array(new Ic());\n this.Hd = 0;\n this.rb = Array(new Hc());\n this.sb = 0;\n this.wa = Array(new Xa());\n this.Y = 0;\n this.oc = [];\n this.pc = 0;\n this.sa = [];\n this.ta = 0;\n this.qa = [];\n this.ra = 0;\n this.Ha = [];\n this.B = this.R = this.Ia = 0;\n this.Ec = [];\n this.M = this.ja = this.Vb = this.Fc = 0;\n this.ya = Array(new Kb());\n this.L = this.aa = 0;\n this.gd = Ed([4, 2], Xa);\n this.ga = null;\n this.Fa = [];\n this.Cc = this.qc = this.P = 0;\n this.Gb = [];\n this.Uc = 0;\n this.mb = [];\n this.nb = 0;\n this.rc = [];\n this.Ga = this.Vc = 0;\n }\n function ga(a, b) {\n return 0 > a ? 0 : a > b ? b : a;\n }\n function Oa() {\n this.T = this.U = this.ka = this.height = this.width = 0;\n this.y = [];\n this.f = [];\n this.ea = [];\n this.Rc = this.fa = this.W = this.N = this.O = 0;\n this.ma = \"void\";\n this.put = \"VP8IoPutHook\";\n this.ac = \"VP8IoSetupHook\";\n this.bc = \"VP8IoTeardownHook\";\n this.ha = this.Kb = 0;\n this.data = [];\n this.hb = this.ib = this.da = this.o = this.j = this.va = this.v = this.Da = this.ob = this.w = 0;\n this.F = [];\n this.J = 0;\n }\n function Ce() {\n var a = new Be();\n null != a &&\n ((a.a = 0), (a.sc = \"OK\"), (a.cb = 0), (a.Xb = 0), oa || (oa = De));\n return a;\n }\n function T(a, b, c) {\n 0 == a.a && ((a.a = b), (a.sc = c), (a.cb = 0));\n return 0;\n }\n function Jc(a, b, c) {\n return 3 <= c && 157 == a[b + 0] && 1 == a[b + 1] && 42 == a[b + 2];\n }\n function Kc(a, b) {\n if (null == a) return 0;\n a.a = 0;\n a.sc = \"OK\";\n if (null == b) return T(a, 2, \"null VP8Io passed to VP8GetHeaders()\");\n var c = b.data;\n var d = b.w;\n var e = b.ha;\n if (4 > e) return T(a, 7, \"Truncated header.\");\n var f = c[d + 0] | (c[d + 1] << 8) | (c[d + 2] << 16);\n var g = a.Od;\n g.Rb = !(f & 1);\n g.td = (f >> 1) & 7;\n g.yd = (f >> 4) & 1;\n g.ub = f >> 5;\n if (3 < g.td) return T(a, 3, \"Incorrect keyframe parameters.\");\n if (!g.yd) return T(a, 4, \"Frame not displayable.\");\n d += 3;\n e -= 3;\n var h = a.Kc;\n if (g.Rb) {\n if (7 > e) return T(a, 7, \"cannot parse picture header\");\n if (!Jc(c, d, e)) return T(a, 3, \"Bad code word\");\n h.c = ((c[d + 4] << 8) | c[d + 3]) & 16383;\n h.Td = c[d + 4] >> 6;\n h.i = ((c[d + 6] << 8) | c[d + 5]) & 16383;\n h.Ud = c[d + 6] >> 6;\n d += 7;\n e -= 7;\n a.za = (h.c + 15) >> 4;\n a.Ub = (h.i + 15) >> 4;\n b.width = h.c;\n b.height = h.i;\n b.Da = 0;\n b.j = 0;\n b.v = 0;\n b.va = b.width;\n b.o = b.height;\n b.da = 0;\n b.ib = b.width;\n b.hb = b.height;\n b.U = b.width;\n b.T = b.height;\n f = a.Pa;\n M(f.jb, 0, 255, f.jb.length);\n f = a.Qa;\n x(null != f);\n f.Cb = 0;\n f.Bb = 0;\n f.Fb = 1;\n M(f.Zb, 0, 0, f.Zb.length);\n M(f.Lb, 0, 0, f.Lb);\n }\n if (g.ub > e) return T(a, 7, \"bad partition length\");\n f = a.m;\n ma(f, c, d, g.ub);\n d += g.ub;\n e -= g.ub;\n g.Rb && ((h.Ld = G(f)), (h.Kd = G(f)));\n h = a.Qa;\n var k = a.Pa,\n l;\n x(null != f);\n x(null != h);\n h.Cb = G(f);\n if (h.Cb) {\n h.Bb = G(f);\n if (G(f)) {\n h.Fb = G(f);\n for (l = 0; 4 > l; ++l) h.Zb[l] = G(f) ? ca(f, 7) : 0;\n for (l = 0; 4 > l; ++l) h.Lb[l] = G(f) ? ca(f, 6) : 0;\n }\n if (h.Bb) for (l = 0; 3 > l; ++l) k.jb[l] = G(f) ? na(f, 8) : 255;\n } else h.Bb = 0;\n if (f.Ka) return T(a, 3, \"cannot parse segment header\");\n h = a.ed;\n h.zd = G(f);\n h.Tb = na(f, 6);\n h.wb = na(f, 3);\n h.Pc = G(f);\n if (h.Pc && G(f)) {\n for (k = 0; 4 > k; ++k) G(f) && (h.vd[k] = ca(f, 6));\n for (k = 0; 4 > k; ++k) G(f) && (h.od[k] = ca(f, 6));\n }\n a.L = 0 == h.Tb ? 0 : h.zd ? 1 : 2;\n if (f.Ka) return T(a, 3, \"cannot parse filter header\");\n l = d;\n var m = e;\n e = l;\n d = l + m;\n h = m;\n a.Xb = (1 << na(a.m, 2)) - 1;\n k = a.Xb;\n if (m < 3 * k) c = 7;\n else {\n l += 3 * k;\n h -= 3 * k;\n for (m = 0; m < k; ++m) {\n var n = c[e + 0] | (c[e + 1] << 8) | (c[e + 2] << 16);\n n > h && (n = h);\n ma(a.Jc[+m], c, l, n);\n l += n;\n h -= n;\n e += 3;\n }\n ma(a.Jc[+k], c, l, h);\n c = l < d ? 0 : 5;\n }\n if (0 != c) return T(a, c, \"cannot parse partitions\");\n l = a.m;\n c = na(l, 7);\n e = G(l) ? ca(l, 4) : 0;\n d = G(l) ? ca(l, 4) : 0;\n h = G(l) ? ca(l, 4) : 0;\n k = G(l) ? ca(l, 4) : 0;\n l = G(l) ? ca(l, 4) : 0;\n m = a.Qa;\n for (n = 0; 4 > n; ++n) {\n if (m.Cb) {\n var r = m.Zb[n];\n m.Fb || (r += c);\n } else if (0 < n) {\n a.pb[n] = a.pb[0];\n continue;\n } else r = c;\n var q = a.pb[n];\n q.Sc[0] = Lb[ga(r + e, 127)];\n q.Sc[1] = Mb[ga(r + 0, 127)];\n q.Eb[0] = 2 * Lb[ga(r + d, 127)];\n q.Eb[1] = (101581 * Mb[ga(r + h, 127)]) >> 16;\n 8 > q.Eb[1] && (q.Eb[1] = 8);\n q.Qc[0] = Lb[ga(r + k, 117)];\n q.Qc[1] = Mb[ga(r + l, 127)];\n q.lc = r + l;\n }\n if (!g.Rb) return T(a, 4, \"Not a key frame.\");\n G(f);\n g = a.Pa;\n for (c = 0; 4 > c; ++c) {\n for (e = 0; 8 > e; ++e)\n for (d = 0; 3 > d; ++d)\n for (h = 0; 11 > h; ++h)\n (k = K(f, Ee[c][e][d][h]) ? na(f, 8) : Fe[c][e][d][h]),\n (g.Wc[c][e].Yb[d][h] = k);\n for (e = 0; 17 > e; ++e) g.Xc[c][e] = g.Wc[c][Ge[e]];\n }\n a.kc = G(f);\n a.kc && (a.Bd = na(f, 8));\n return (a.cb = 1);\n }\n function De(a, b, c, d, e, f, g) {\n var h = b[e].Yb[c];\n for (c = 0; 16 > e; ++e) {\n if (!K(a, h[c + 0])) return e;\n for (; !K(a, h[c + 1]); )\n if (((h = b[++e].Yb[0]), (c = 0), 16 == e)) return 16;\n var k = b[e + 1].Yb;\n if (K(a, h[c + 2])) {\n var l = a,\n m = h,\n n = c;\n var r = 0;\n if (K(l, m[n + 3]))\n if (K(l, m[n + 6])) {\n h = 0;\n r = K(l, m[n + 8]);\n m = K(l, m[n + 9 + r]);\n n = 2 * r + m;\n r = 0;\n for (m = He[n]; m[h]; ++h) r += r + K(l, m[h]);\n r += 3 + (8 << n);\n } else\n K(l, m[n + 7])\n ? ((r = 7 + 2 * K(l, 165)), (r += K(l, 145)))\n : (r = 5 + K(l, 159));\n else K(l, m[n + 4]) ? (r = 3 + K(l, m[n + 5])) : (r = 2);\n h = k[2];\n } else (r = 1), (h = k[1]);\n k = g + Ie[e];\n l = a;\n 0 > l.b && Qa(l);\n var m = l.b,\n n = l.Ca >> 1,\n q = (n - (l.I >> m)) >> 31;\n --l.b;\n l.Ca += q;\n l.Ca |= 1;\n l.I -= ((n + 1) & q) << m;\n f[k] = ((r ^ q) - q) * d[(0 < e) + 0];\n }\n return 16;\n }\n function Lc(a) {\n var b = a.rb[a.sb - 1];\n b.la = 0;\n b.Na = 0;\n M(a.zc, 0, 0, a.zc.length);\n a.ja = 0;\n }\n function Je(a, b) {\n for (a.M = 0; a.M < a.Va; ++a.M) {\n var c = a.Jc[a.M & a.Xb],\n d = a.m,\n e = a,\n f;\n for (f = 0; f < e.za; ++f) {\n var g = d;\n var h = e;\n var k = h.Ac,\n l = h.Bc + 4 * f,\n m = h.zc,\n n = h.ya[h.aa + f];\n h.Qa.Bb\n ? (n.$b = K(g, h.Pa.jb[0])\n ? 2 + K(g, h.Pa.jb[2])\n : K(g, h.Pa.jb[1]))\n : (n.$b = 0);\n h.kc && (n.Ad = K(g, h.Bd));\n n.Za = !K(g, 145) + 0;\n if (n.Za) {\n var r = n.Ob,\n q = 0;\n for (h = 0; 4 > h; ++h) {\n var t = m[0 + h];\n var v;\n for (v = 0; 4 > v; ++v) {\n t = Ke[k[l + v]][t];\n for (var p = Mc[K(g, t[0])]; 0 < p; )\n p = Mc[2 * p + K(g, t[p])];\n t = -p;\n k[l + v] = t;\n }\n I(r, q, k, l, 4);\n q += 4;\n m[0 + h] = t;\n }\n } else\n (t = K(g, 156) ? (K(g, 128) ? 1 : 3) : K(g, 163) ? 2 : 0),\n (n.Ob[0] = t),\n M(k, l, t, 4),\n M(m, 0, t, 4);\n n.Dd = K(g, 142) ? (K(g, 114) ? (K(g, 183) ? 1 : 3) : 2) : 0;\n }\n if (e.m.Ka) return T(a, 7, \"Premature end-of-partition0 encountered.\");\n for (; a.ja < a.za; ++a.ja) {\n d = a;\n e = c;\n g = d.rb[d.sb - 1];\n k = d.rb[d.sb + d.ja];\n f = d.ya[d.aa + d.ja];\n if ((l = d.kc ? f.Ad : 0))\n (g.la = k.la = 0),\n f.Za || (g.Na = k.Na = 0),\n (f.Hc = 0),\n (f.Gc = 0),\n (f.ia = 0);\n else {\n var u,\n w,\n g = k,\n k = e,\n l = d.Pa.Xc,\n m = d.ya[d.aa + d.ja],\n n = d.pb[m.$b];\n h = m.ad;\n r = 0;\n q = d.rb[d.sb - 1];\n t = v = 0;\n M(h, r, 0, 384);\n if (m.Za) {\n var y = 0;\n var A = l[3];\n } else {\n p = V(16);\n var E = g.Na + q.Na;\n E = oa(k, l[1], E, n.Eb, 0, p, 0);\n g.Na = q.Na = (0 < E) + 0;\n if (1 < E) Nc(p, 0, h, r);\n else {\n var B = (p[0] + 3) >> 3;\n for (p = 0; 256 > p; p += 16) h[r + p] = B;\n }\n y = 1;\n A = l[0];\n }\n var C = g.la & 15;\n var N = q.la & 15;\n for (p = 0; 4 > p; ++p) {\n var z = N & 1;\n for (B = w = 0; 4 > B; ++B)\n (E = z + (C & 1)),\n (E = oa(k, A, E, n.Sc, y, h, r)),\n (z = E > y),\n (C = (C >> 1) | (z << 7)),\n (w = (w << 2) | (3 < E ? 3 : 1 < E ? 2 : 0 != h[r + 0])),\n (r += 16);\n C >>= 4;\n N = (N >> 1) | (z << 7);\n v = ((v << 8) | w) >>> 0;\n }\n A = C;\n y = N >> 4;\n for (u = 0; 4 > u; u += 2) {\n w = 0;\n C = g.la >> (4 + u);\n N = q.la >> (4 + u);\n for (p = 0; 2 > p; ++p) {\n z = N & 1;\n for (B = 0; 2 > B; ++B)\n (E = z + (C & 1)),\n (E = oa(k, l[2], E, n.Qc, 0, h, r)),\n (z = 0 < E),\n (C = (C >> 1) | (z << 3)),\n (w = (w << 2) | (3 < E ? 3 : 1 < E ? 2 : 0 != h[r + 0])),\n (r += 16);\n C >>= 2;\n N = (N >> 1) | (z << 5);\n }\n t |= w << (4 * u);\n A |= (C << 4) << u;\n y |= (N & 240) << u;\n }\n g.la = A;\n q.la = y;\n m.Hc = v;\n m.Gc = t;\n m.ia = t & 43690 ? 0 : n.ia;\n l = !(v | t);\n }\n 0 < d.L &&\n ((d.wa[d.Y + d.ja] = d.gd[f.$b][f.Za]),\n (d.wa[d.Y + d.ja].La |= !l));\n if (e.Ka) return T(a, 7, \"Premature end-of-file encountered.\");\n }\n Lc(a);\n c = a;\n d = b;\n e = 1;\n f = c.D;\n g = 0 < c.L && c.M >= c.zb && c.M <= c.Va;\n if (0 == c.Aa)\n a: {\n (f.M = c.M), (f.uc = g), Oc(c, f), (e = 1);\n w = c.D;\n f = w.Nb;\n t = Ya[c.L];\n g = t * c.R;\n k = (t / 2) * c.B;\n p = 16 * f * c.R;\n B = 8 * f * c.B;\n l = c.sa;\n m = c.ta - g + p;\n n = c.qa;\n h = c.ra - k + B;\n r = c.Ha;\n q = c.Ia - k + B;\n C = w.M;\n N = 0 == C;\n v = C >= c.Va - 1;\n 2 == c.Aa && Oc(c, w);\n if (w.uc)\n for (E = c, z = E.D.M, x(E.D.uc), w = E.yb; w < E.Hb; ++w) {\n var Q = E;\n y = w;\n A = z;\n var S = Q.D,\n D = S.Nb;\n u = Q.R;\n var S = S.wa[S.Y + y],\n F = Q.sa,\n H = Q.ta + 16 * D * u + 16 * y,\n J = S.dd,\n G = S.tc;\n if (0 != G)\n if ((x(3 <= G), 1 == Q.L))\n 0 < y && Pc(F, H, u, G + 4),\n S.La && Qc(F, H, u, G),\n 0 < A && Rc(F, H, u, G + 4),\n S.La && Sc(F, H, u, G);\n else {\n var L = Q.B,\n O = Q.qa,\n P = Q.ra + 8 * D * L + 8 * y,\n R = Q.Ha,\n Q = Q.Ia + 8 * D * L + 8 * y,\n D = S.ld;\n 0 < y &&\n (Tc(F, H, u, G + 4, J, D),\n Uc(O, P, R, Q, L, G + 4, J, D));\n S.La && (Vc(F, H, u, G, J, D), Wc(O, P, R, Q, L, G, J, D));\n 0 < A &&\n (Xc(F, H, u, G + 4, J, D),\n Yc(O, P, R, Q, L, G + 4, J, D));\n S.La && (Zc(F, H, u, G, J, D), $c(O, P, R, Q, L, G, J, D));\n }\n }\n c.ia && alert(\"todo:DitherRow\");\n if (null != d.put) {\n w = 16 * C;\n C = 16 * (C + 1);\n N\n ? ((d.y = c.sa),\n (d.O = c.ta + p),\n (d.f = c.qa),\n (d.N = c.ra + B),\n (d.ea = c.Ha),\n (d.W = c.Ia + B))\n : ((w -= t),\n (d.y = l),\n (d.O = m),\n (d.f = n),\n (d.N = h),\n (d.ea = r),\n (d.W = q));\n v || (C -= t);\n C > d.o && (C = d.o);\n d.F = null;\n d.J = null;\n if (\n null != c.Fa &&\n 0 < c.Fa.length &&\n w < C &&\n ((d.J = Le(c, d, w, C - w)),\n (d.F = c.mb),\n null == d.F && 0 == d.F.length)\n ) {\n e = T(c, 3, \"Could not decode alpha data.\");\n break a;\n }\n w < d.j &&\n ((t = d.j - w),\n (w = d.j),\n x(!(t & 1)),\n (d.O += c.R * t),\n (d.N += c.B * (t >> 1)),\n (d.W += c.B * (t >> 1)),\n null != d.F && (d.J += d.width * t));\n w < C &&\n ((d.O += d.v),\n (d.N += d.v >> 1),\n (d.W += d.v >> 1),\n null != d.F && (d.J += d.v),\n (d.ka = w - d.j),\n (d.U = d.va - d.v),\n (d.T = C - w),\n (e = d.put(d)));\n }\n f + 1 != c.Ic ||\n v ||\n (I(c.sa, c.ta - g, l, m + 16 * c.R, g),\n I(c.qa, c.ra - k, n, h + 8 * c.B, k),\n I(c.Ha, c.Ia - k, r, q + 8 * c.B, k));\n }\n if (!e) return T(a, 6, \"Output aborted.\");\n }\n return 1;\n }\n function Me(a, b) {\n if (null == a) return 0;\n if (null == b) return T(a, 2, \"NULL VP8Io parameter in VP8Decode().\");\n if (!a.cb && !Kc(a, b)) return 0;\n x(a.cb);\n if (null == b.ac || b.ac(b)) {\n b.ob && (a.L = 0);\n var c = Ya[a.L];\n 2 == a.L\n ? ((a.yb = 0), (a.zb = 0))\n : ((a.yb = (b.v - c) >> 4),\n (a.zb = (b.j - c) >> 4),\n 0 > a.yb && (a.yb = 0),\n 0 > a.zb && (a.zb = 0));\n a.Va = (b.o + 15 + c) >> 4;\n a.Hb = (b.va + 15 + c) >> 4;\n a.Hb > a.za && (a.Hb = a.za);\n a.Va > a.Ub && (a.Va = a.Ub);\n if (0 < a.L) {\n var d = a.ed;\n for (c = 0; 4 > c; ++c) {\n var e;\n if (a.Qa.Cb) {\n var f = a.Qa.Lb[c];\n a.Qa.Fb || (f += d.Tb);\n } else f = d.Tb;\n for (e = 0; 1 >= e; ++e) {\n var g = a.gd[c][e],\n h = f;\n d.Pc && ((h += d.vd[0]), e && (h += d.od[0]));\n h = 0 > h ? 0 : 63 < h ? 63 : h;\n if (0 < h) {\n var k = h;\n 0 < d.wb &&\n ((k = 4 < d.wb ? k >> 2 : k >> 1),\n k > 9 - d.wb && (k = 9 - d.wb));\n 1 > k && (k = 1);\n g.dd = k;\n g.tc = 2 * h + k;\n g.ld = 40 <= h ? 2 : 15 <= h ? 1 : 0;\n } else g.tc = 0;\n g.La = e;\n }\n }\n }\n c = 0;\n } else T(a, 6, \"Frame setup failed\"), (c = a.a);\n if ((c = 0 == c)) {\n if (c) {\n a.$c = 0;\n 0 < a.Aa || (a.Ic = Ne);\n b: {\n c = a.Ic;\n var k = a.za,\n d = 4 * k,\n l = 32 * k,\n m = k + 1,\n n = 0 < a.L ? k * (0 < a.Aa ? 2 : 1) : 0,\n r = (2 == a.Aa ? 2 : 1) * k;\n e = ((3 * (16 * c + Ya[a.L])) / 2) * l;\n f = null != a.Fa && 0 < a.Fa.length ? a.Kc.c * a.Kc.i : 0;\n g = d + 832 + e + f;\n if (g != g) c = 0;\n else {\n if (g > a.Vb) {\n a.Vb = 0;\n a.Ec = V(g);\n a.Fc = 0;\n if (null == a.Ec) {\n c = T(a, 1, \"no memory during frame initialization.\");\n break b;\n }\n a.Vb = g;\n }\n g = a.Ec;\n h = a.Fc;\n a.Ac = g;\n a.Bc = h;\n h += d;\n a.Gd = wa(l, Ic);\n a.Hd = 0;\n a.rb = wa(m + 1, Hc);\n a.sb = 1;\n a.wa = n ? wa(n, Xa) : null;\n a.Y = 0;\n a.D.Nb = 0;\n a.D.wa = a.wa;\n a.D.Y = a.Y;\n 0 < a.Aa && (a.D.Y += k);\n x(!0);\n a.oc = g;\n a.pc = h;\n h += 832;\n a.ya = wa(r, Kb);\n a.aa = 0;\n a.D.ya = a.ya;\n a.D.aa = a.aa;\n 2 == a.Aa && (a.D.aa += k);\n a.R = 16 * k;\n a.B = 8 * k;\n l = Ya[a.L];\n k = l * a.R;\n l = (l / 2) * a.B;\n a.sa = g;\n a.ta = h + k;\n a.qa = a.sa;\n a.ra = a.ta + 16 * c * a.R + l;\n a.Ha = a.qa;\n a.Ia = a.ra + 8 * c * a.B + l;\n a.$c = 0;\n h += e;\n a.mb = f ? g : null;\n a.nb = f ? h : null;\n x(h + f <= a.Fc + a.Vb);\n Lc(a);\n M(a.Ac, a.Bc, 0, d);\n c = 1;\n }\n }\n if (c) {\n b.ka = 0;\n b.y = a.sa;\n b.O = a.ta;\n b.f = a.qa;\n b.N = a.ra;\n b.ea = a.Ha;\n b.Vd = a.Ia;\n b.fa = a.R;\n b.Rc = a.B;\n b.F = null;\n b.J = 0;\n if (!ad) {\n for (c = -255; 255 >= c; ++c) bd[255 + c] = 0 > c ? -c : c;\n for (c = -1020; 1020 >= c; ++c)\n cd[1020 + c] = -128 > c ? -128 : 127 < c ? 127 : c;\n for (c = -112; 112 >= c; ++c)\n dd[112 + c] = -16 > c ? -16 : 15 < c ? 15 : c;\n for (c = -255; 510 >= c; ++c)\n ed[255 + c] = 0 > c ? 0 : 255 < c ? 255 : c;\n ad = 1;\n }\n Nc = Oe;\n Za = Pe;\n Nb = Qe;\n pa = Re;\n Ob = Se;\n fd = Te;\n Xc = Ue;\n Tc = Ve;\n Yc = We;\n Uc = Xe;\n Zc = Ye;\n Vc = Ze;\n $c = $e;\n Wc = af;\n Rc = gd;\n Pc = hd;\n Sc = bf;\n Qc = cf;\n W[0] = df;\n W[1] = ef;\n W[2] = ff;\n W[3] = gf;\n W[4] = hf;\n W[5] = jf;\n W[6] = kf;\n W[7] = lf;\n W[8] = mf;\n W[9] = nf;\n Y[0] = of;\n Y[1] = pf;\n Y[2] = qf;\n Y[3] = rf;\n Y[4] = sf;\n Y[5] = tf;\n Y[6] = uf;\n ka[0] = vf;\n ka[1] = wf;\n ka[2] = xf;\n ka[3] = yf;\n ka[4] = zf;\n ka[5] = Af;\n ka[6] = Bf;\n c = 1;\n } else c = 0;\n }\n c && (c = Je(a, b));\n null != b.bc && b.bc(b);\n c &= 1;\n }\n if (!c) return 0;\n a.cb = 0;\n return c;\n }\n function qa(a, b, c, d, e) {\n e = a[b + c + 32 * d] + (e >> 3);\n a[b + c + 32 * d] = e & -256 ? (0 > e ? 0 : 255) : e;\n }\n function kb(a, b, c, d, e, f) {\n qa(a, b, 0, c, d + e);\n qa(a, b, 1, c, d + f);\n qa(a, b, 2, c, d - f);\n qa(a, b, 3, c, d - e);\n }\n function da(a) {\n return ((20091 * a) >> 16) + a;\n }\n function id(a, b, c, d) {\n var e = 0,\n f;\n var g = V(16);\n for (f = 0; 4 > f; ++f) {\n var h = a[b + 0] + a[b + 8];\n var k = a[b + 0] - a[b + 8];\n var l = ((35468 * a[b + 4]) >> 16) - da(a[b + 12]);\n var m = da(a[b + 4]) + ((35468 * a[b + 12]) >> 16);\n g[e + 0] = h + m;\n g[e + 1] = k + l;\n g[e + 2] = k - l;\n g[e + 3] = h - m;\n e += 4;\n b++;\n }\n for (f = e = 0; 4 > f; ++f)\n (a = g[e + 0] + 4),\n (h = a + g[e + 8]),\n (k = a - g[e + 8]),\n (l = ((35468 * g[e + 4]) >> 16) - da(g[e + 12])),\n (m = da(g[e + 4]) + ((35468 * g[e + 12]) >> 16)),\n qa(c, d, 0, 0, h + m),\n qa(c, d, 1, 0, k + l),\n qa(c, d, 2, 0, k - l),\n qa(c, d, 3, 0, h - m),\n e++,\n (d += 32);\n }\n function Te(a, b, c, d) {\n var e = a[b + 0] + 4,\n f = (35468 * a[b + 4]) >> 16,\n g = da(a[b + 4]),\n h = (35468 * a[b + 1]) >> 16;\n a = da(a[b + 1]);\n kb(c, d, 0, e + g, a, h);\n kb(c, d, 1, e + f, a, h);\n kb(c, d, 2, e - f, a, h);\n kb(c, d, 3, e - g, a, h);\n }\n function Pe(a, b, c, d, e) {\n id(a, b, c, d);\n e && id(a, b + 16, c, d + 4);\n }\n function Qe(a, b, c, d) {\n Za(a, b + 0, c, d, 1);\n Za(a, b + 32, c, d + 128, 1);\n }\n function Re(a, b, c, d) {\n a = a[b + 0] + 4;\n var e;\n for (e = 0; 4 > e; ++e) for (b = 0; 4 > b; ++b) qa(c, d, b, e, a);\n }\n function Se(a, b, c, d) {\n a[b + 0] && pa(a, b + 0, c, d);\n a[b + 16] && pa(a, b + 16, c, d + 4);\n a[b + 32] && pa(a, b + 32, c, d + 128);\n a[b + 48] && pa(a, b + 48, c, d + 128 + 4);\n }\n function Oe(a, b, c, d) {\n var e = V(16),\n f;\n for (f = 0; 4 > f; ++f) {\n var g = a[b + 0 + f] + a[b + 12 + f];\n var h = a[b + 4 + f] + a[b + 8 + f];\n var k = a[b + 4 + f] - a[b + 8 + f];\n var l = a[b + 0 + f] - a[b + 12 + f];\n e[0 + f] = g + h;\n e[8 + f] = g - h;\n e[4 + f] = l + k;\n e[12 + f] = l - k;\n }\n for (f = 0; 4 > f; ++f)\n (a = e[0 + 4 * f] + 3),\n (g = a + e[3 + 4 * f]),\n (h = e[1 + 4 * f] + e[2 + 4 * f]),\n (k = e[1 + 4 * f] - e[2 + 4 * f]),\n (l = a - e[3 + 4 * f]),\n (c[d + 0] = (g + h) >> 3),\n (c[d + 16] = (l + k) >> 3),\n (c[d + 32] = (g - h) >> 3),\n (c[d + 48] = (l - k) >> 3),\n (d += 64);\n }\n function Pb(a, b, c) {\n var d = b - 32,\n e = R,\n f = 255 - a[d - 1],\n g;\n for (g = 0; g < c; ++g) {\n var h = e,\n k = f + a[b - 1],\n l;\n for (l = 0; l < c; ++l) a[b + l] = h[k + a[d + l]];\n b += 32;\n }\n }\n function ef(a, b) {\n Pb(a, b, 4);\n }\n function wf(a, b) {\n Pb(a, b, 8);\n }\n function pf(a, b) {\n Pb(a, b, 16);\n }\n function qf(a, b) {\n var c;\n for (c = 0; 16 > c; ++c) I(a, b + 32 * c, a, b - 32, 16);\n }\n function rf(a, b) {\n var c;\n for (c = 16; 0 < c; --c) M(a, b, a[b - 1], 16), (b += 32);\n }\n function $a(a, b, c) {\n var d;\n for (d = 0; 16 > d; ++d) M(b, c + 32 * d, a, 16);\n }\n function of(a, b) {\n var c = 16,\n d;\n for (d = 0; 16 > d; ++d) c += a[b - 1 + 32 * d] + a[b + d - 32];\n $a(c >> 5, a, b);\n }\n function sf(a, b) {\n var c = 8,\n d;\n for (d = 0; 16 > d; ++d) c += a[b - 1 + 32 * d];\n $a(c >> 4, a, b);\n }\n function tf(a, b) {\n var c = 8,\n d;\n for (d = 0; 16 > d; ++d) c += a[b + d - 32];\n $a(c >> 4, a, b);\n }\n function uf(a, b) {\n $a(128, a, b);\n }\n function z(a, b, c) {\n return (a + 2 * b + c + 2) >> 2;\n }\n function ff(a, b) {\n var c = b - 32,\n c = new Uint8Array([\n z(a[c - 1], a[c + 0], a[c + 1]),\n z(a[c + 0], a[c + 1], a[c + 2]),\n z(a[c + 1], a[c + 2], a[c + 3]),\n z(a[c + 2], a[c + 3], a[c + 4])\n ]),\n d;\n for (d = 0; 4 > d; ++d) I(a, b + 32 * d, c, 0, c.length);\n }\n function gf(a, b) {\n var c = a[b - 1],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96];\n ra(a, b + 0, 16843009 * z(a[b - 1 - 32], c, d));\n ra(a, b + 32, 16843009 * z(c, d, e));\n ra(a, b + 64, 16843009 * z(d, e, f));\n ra(a, b + 96, 16843009 * z(e, f, f));\n }\n function df(a, b) {\n var c = 4,\n d;\n for (d = 0; 4 > d; ++d) c += a[b + d - 32] + a[b - 1 + 32 * d];\n c >>= 3;\n for (d = 0; 4 > d; ++d) M(a, b + 32 * d, c, 4);\n }\n function hf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 - 32],\n g = a[b + 0 - 32],\n h = a[b + 1 - 32],\n k = a[b + 2 - 32],\n l = a[b + 3 - 32];\n a[b + 0 + 96] = z(d, e, a[b - 1 + 96]);\n a[b + 1 + 96] = a[b + 0 + 64] = z(c, d, e);\n a[b + 2 + 96] = a[b + 1 + 64] = a[b + 0 + 32] = z(f, c, d);\n a[b + 3 + 96] = a[b + 2 + 64] = a[b + 1 + 32] = a[b + 0 + 0] = z(g, f, c);\n a[b + 3 + 64] = a[b + 2 + 32] = a[b + 1 + 0] = z(h, g, f);\n a[b + 3 + 32] = a[b + 2 + 0] = z(k, h, g);\n a[b + 3 + 0] = z(l, k, h);\n }\n function kf(a, b) {\n var c = a[b + 1 - 32],\n d = a[b + 2 - 32],\n e = a[b + 3 - 32],\n f = a[b + 4 - 32],\n g = a[b + 5 - 32],\n h = a[b + 6 - 32],\n k = a[b + 7 - 32];\n a[b + 0 + 0] = z(a[b + 0 - 32], c, d);\n a[b + 1 + 0] = a[b + 0 + 32] = z(c, d, e);\n a[b + 2 + 0] = a[b + 1 + 32] = a[b + 0 + 64] = z(d, e, f);\n a[b + 3 + 0] = a[b + 2 + 32] = a[b + 1 + 64] = a[b + 0 + 96] = z(e, f, g);\n a[b + 3 + 32] = a[b + 2 + 64] = a[b + 1 + 96] = z(f, g, h);\n a[b + 3 + 64] = a[b + 2 + 96] = z(g, h, k);\n a[b + 3 + 96] = z(h, k, k);\n }\n function jf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 - 32],\n g = a[b + 0 - 32],\n h = a[b + 1 - 32],\n k = a[b + 2 - 32],\n l = a[b + 3 - 32];\n a[b + 0 + 0] = a[b + 1 + 64] = (f + g + 1) >> 1;\n a[b + 1 + 0] = a[b + 2 + 64] = (g + h + 1) >> 1;\n a[b + 2 + 0] = a[b + 3 + 64] = (h + k + 1) >> 1;\n a[b + 3 + 0] = (k + l + 1) >> 1;\n a[b + 0 + 96] = z(e, d, c);\n a[b + 0 + 64] = z(d, c, f);\n a[b + 0 + 32] = a[b + 1 + 96] = z(c, f, g);\n a[b + 1 + 32] = a[b + 2 + 96] = z(f, g, h);\n a[b + 2 + 32] = a[b + 3 + 96] = z(g, h, k);\n a[b + 3 + 32] = z(h, k, l);\n }\n function lf(a, b) {\n var c = a[b + 0 - 32],\n d = a[b + 1 - 32],\n e = a[b + 2 - 32],\n f = a[b + 3 - 32],\n g = a[b + 4 - 32],\n h = a[b + 5 - 32],\n k = a[b + 6 - 32],\n l = a[b + 7 - 32];\n a[b + 0 + 0] = (c + d + 1) >> 1;\n a[b + 1 + 0] = a[b + 0 + 64] = (d + e + 1) >> 1;\n a[b + 2 + 0] = a[b + 1 + 64] = (e + f + 1) >> 1;\n a[b + 3 + 0] = a[b + 2 + 64] = (f + g + 1) >> 1;\n a[b + 0 + 32] = z(c, d, e);\n a[b + 1 + 32] = a[b + 0 + 96] = z(d, e, f);\n a[b + 2 + 32] = a[b + 1 + 96] = z(e, f, g);\n a[b + 3 + 32] = a[b + 2 + 96] = z(f, g, h);\n a[b + 3 + 64] = z(g, h, k);\n a[b + 3 + 96] = z(h, k, l);\n }\n function nf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96];\n a[b + 0 + 0] = (c + d + 1) >> 1;\n a[b + 2 + 0] = a[b + 0 + 32] = (d + e + 1) >> 1;\n a[b + 2 + 32] = a[b + 0 + 64] = (e + f + 1) >> 1;\n a[b + 1 + 0] = z(c, d, e);\n a[b + 3 + 0] = a[b + 1 + 32] = z(d, e, f);\n a[b + 3 + 32] = a[b + 1 + 64] = z(e, f, f);\n a[b + 3 + 64] = a[b + 2 + 64] = a[b + 0 + 96] = a[b + 1 + 96] = a[\n b + 2 + 96\n ] = a[b + 3 + 96] = f;\n }\n function mf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96],\n g = a[b - 1 - 32],\n h = a[b + 0 - 32],\n k = a[b + 1 - 32],\n l = a[b + 2 - 32];\n a[b + 0 + 0] = a[b + 2 + 32] = (c + g + 1) >> 1;\n a[b + 0 + 32] = a[b + 2 + 64] = (d + c + 1) >> 1;\n a[b + 0 + 64] = a[b + 2 + 96] = (e + d + 1) >> 1;\n a[b + 0 + 96] = (f + e + 1) >> 1;\n a[b + 3 + 0] = z(h, k, l);\n a[b + 2 + 0] = z(g, h, k);\n a[b + 1 + 0] = a[b + 3 + 32] = z(c, g, h);\n a[b + 1 + 32] = a[b + 3 + 64] = z(d, c, g);\n a[b + 1 + 64] = a[b + 3 + 96] = z(e, d, c);\n a[b + 1 + 96] = z(f, e, d);\n }\n function xf(a, b) {\n var c;\n for (c = 0; 8 > c; ++c) I(a, b + 32 * c, a, b - 32, 8);\n }\n function yf(a, b) {\n var c;\n for (c = 0; 8 > c; ++c) M(a, b, a[b - 1], 8), (b += 32);\n }\n function lb(a, b, c) {\n var d;\n for (d = 0; 8 > d; ++d) M(b, c + 32 * d, a, 8);\n }\n function vf(a, b) {\n var c = 8,\n d;\n for (d = 0; 8 > d; ++d) c += a[b + d - 32] + a[b - 1 + 32 * d];\n lb(c >> 4, a, b);\n }\n function Af(a, b) {\n var c = 4,\n d;\n for (d = 0; 8 > d; ++d) c += a[b + d - 32];\n lb(c >> 3, a, b);\n }\n function zf(a, b) {\n var c = 4,\n d;\n for (d = 0; 8 > d; ++d) c += a[b - 1 + 32 * d];\n lb(c >> 3, a, b);\n }\n function Bf(a, b) {\n lb(128, a, b);\n }\n function ab(a, b, c) {\n var d = a[b - c],\n e = a[b + 0],\n f = 3 * (e - d) + Qb[1020 + a[b - 2 * c] - a[b + c]],\n g = mb[112 + ((f + 4) >> 3)];\n a[b - c] = R[255 + d + mb[112 + ((f + 3) >> 3)]];\n a[b + 0] = R[255 + e - g];\n }\n function jd(a, b, c, d) {\n var e = a[b + 0],\n f = a[b + c];\n return U[255 + a[b - 2 * c] - a[b - c]] > d || U[255 + f - e] > d;\n }\n function kd(a, b, c, d) {\n return (\n 4 * U[255 + a[b - c] - a[b + 0]] + U[255 + a[b - 2 * c] - a[b + c]] <= d\n );\n }\n function ld(a, b, c, d, e) {\n var f = a[b - 3 * c],\n g = a[b - 2 * c],\n h = a[b - c],\n k = a[b + 0],\n l = a[b + c],\n m = a[b + 2 * c],\n n = a[b + 3 * c];\n return 4 * U[255 + h - k] + U[255 + g - l] > d\n ? 0\n : U[255 + a[b - 4 * c] - f] <= e &&\n U[255 + f - g] <= e &&\n U[255 + g - h] <= e &&\n U[255 + n - m] <= e &&\n U[255 + m - l] <= e &&\n U[255 + l - k] <= e;\n }\n function gd(a, b, c, d) {\n var e = 2 * d + 1;\n for (d = 0; 16 > d; ++d) kd(a, b + d, c, e) && ab(a, b + d, c);\n }\n function hd(a, b, c, d) {\n var e = 2 * d + 1;\n for (d = 0; 16 > d; ++d) kd(a, b + d * c, 1, e) && ab(a, b + d * c, 1);\n }\n function bf(a, b, c, d) {\n var e;\n for (e = 3; 0 < e; --e) (b += 4 * c), gd(a, b, c, d);\n }\n function cf(a, b, c, d) {\n var e;\n for (e = 3; 0 < e; --e) (b += 4), hd(a, b, c, d);\n }\n function ea(a, b, c, d, e, f, g, h) {\n for (f = 2 * f + 1; 0 < e--; ) {\n if (ld(a, b, c, f, g))\n if (jd(a, b, c, h)) ab(a, b, c);\n else {\n var k = a,\n l = b,\n m = c,\n n = k[l - 2 * m],\n r = k[l - m],\n q = k[l + 0],\n t = k[l + m],\n v = k[l + 2 * m],\n p = Qb[1020 + 3 * (q - r) + Qb[1020 + n - t]],\n u = (27 * p + 63) >> 7,\n w = (18 * p + 63) >> 7,\n p = (9 * p + 63) >> 7;\n k[l - 3 * m] = R[255 + k[l - 3 * m] + p];\n k[l - 2 * m] = R[255 + n + w];\n k[l - m] = R[255 + r + u];\n k[l + 0] = R[255 + q - u];\n k[l + m] = R[255 + t - w];\n k[l + 2 * m] = R[255 + v - p];\n }\n b += d;\n }\n }\n function Fa(a, b, c, d, e, f, g, h) {\n for (f = 2 * f + 1; 0 < e--; ) {\n if (ld(a, b, c, f, g))\n if (jd(a, b, c, h)) ab(a, b, c);\n else {\n var k = a,\n l = b,\n m = c,\n n = k[l - m],\n r = k[l + 0],\n q = k[l + m],\n t = 3 * (r - n),\n v = mb[112 + ((t + 4) >> 3)],\n t = mb[112 + ((t + 3) >> 3)],\n p = (v + 1) >> 1;\n k[l - 2 * m] = R[255 + k[l - 2 * m] + p];\n k[l - m] = R[255 + n + t];\n k[l + 0] = R[255 + r - v];\n k[l + m] = R[255 + q - p];\n }\n b += d;\n }\n }\n function Ue(a, b, c, d, e, f) {\n ea(a, b, c, 1, 16, d, e, f);\n }\n function Ve(a, b, c, d, e, f) {\n ea(a, b, 1, c, 16, d, e, f);\n }\n function Ye(a, b, c, d, e, f) {\n var g;\n for (g = 3; 0 < g; --g) (b += 4 * c), Fa(a, b, c, 1, 16, d, e, f);\n }\n function Ze(a, b, c, d, e, f) {\n var g;\n for (g = 3; 0 < g; --g) (b += 4), Fa(a, b, 1, c, 16, d, e, f);\n }\n function We(a, b, c, d, e, f, g, h) {\n ea(a, b, e, 1, 8, f, g, h);\n ea(c, d, e, 1, 8, f, g, h);\n }\n function Xe(a, b, c, d, e, f, g, h) {\n ea(a, b, 1, e, 8, f, g, h);\n ea(c, d, 1, e, 8, f, g, h);\n }\n function $e(a, b, c, d, e, f, g, h) {\n Fa(a, b + 4 * e, e, 1, 8, f, g, h);\n Fa(c, d + 4 * e, e, 1, 8, f, g, h);\n }\n function af(a, b, c, d, e, f, g, h) {\n Fa(a, b + 4, 1, e, 8, f, g, h);\n Fa(c, d + 4, 1, e, 8, f, g, h);\n }\n function Cf() {\n this.ba = new Cb();\n this.ec = [];\n this.cc = [];\n this.Mc = [];\n this.Dc = this.Nc = this.dc = this.fc = 0;\n this.Oa = new Ud();\n this.memory = 0;\n this.Ib = \"OutputFunc\";\n this.Jb = \"OutputAlphaFunc\";\n this.Nd = \"OutputRowFunc\";\n }\n function md() {\n this.data = [];\n this.offset = this.kd = this.ha = this.w = 0;\n this.na = [];\n this.xa = this.gb = this.Ja = this.Sa = this.P = 0;\n }\n function Df() {\n this.nc = this.Ea = this.b = this.hc = 0;\n this.K = [];\n this.w = 0;\n }\n function Ef() {\n this.ua = 0;\n this.Wa = new ac();\n this.vb = new ac();\n this.md = this.xc = this.wc = 0;\n this.vc = [];\n this.Wb = 0;\n this.Ya = new Ub();\n this.yc = new O();\n }\n function je() {\n this.xb = this.a = 0;\n this.l = new Oa();\n this.ca = new Cb();\n this.V = [];\n this.Ba = 0;\n this.Ta = [];\n this.Ua = 0;\n this.m = new Ra();\n this.Pb = 0;\n this.wd = new Ra();\n this.Ma = this.$ = this.C = this.i = this.c = this.xd = 0;\n this.s = new Ef();\n this.ab = 0;\n this.gc = wa(4, Df);\n this.Oc = 0;\n }\n function Ff() {\n this.Lc = this.Z = this.$a = this.i = this.c = 0;\n this.l = new Oa();\n this.ic = 0;\n this.ca = [];\n this.tb = 0;\n this.qd = null;\n this.rd = 0;\n }\n function Rb(a, b, c, d, e, f, g) {\n a = null == a ? 0 : a[b + 0];\n for (b = 0; b < g; ++b) (e[f + b] = (a + c[d + b]) & 255), (a = e[f + b]);\n }\n function Gf(a, b, c, d, e, f, g) {\n if (null == a) Rb(null, null, c, d, e, f, g);\n else {\n var h;\n for (h = 0; h < g; ++h) e[f + h] = (a[b + h] + c[d + h]) & 255;\n }\n }\n function Hf(a, b, c, d, e, f, g) {\n if (null == a) Rb(null, null, c, d, e, f, g);\n else {\n var h = a[b + 0],\n k = h,\n l = h,\n m;\n for (m = 0; m < g; ++m)\n (h = a[b + m]),\n (k = l + h - k),\n (l = (c[d + m] + (k & -256 ? (0 > k ? 0 : 255) : k)) & 255),\n (k = h),\n (e[f + m] = l);\n }\n }\n function Le(a, b, c, d) {\n var e = b.width,\n f = b.o;\n x(null != a && null != b);\n if (0 > c || 0 >= d || c + d > f) return null;\n if (!a.Cc) {\n if (null == a.ga) {\n a.ga = new Ff();\n var g;\n (g = null == a.ga) ||\n ((g = b.width * b.o),\n x(0 == a.Gb.length),\n (a.Gb = V(g)),\n (a.Uc = 0),\n null == a.Gb\n ? (g = 0)\n : ((a.mb = a.Gb), (a.nb = a.Uc), (a.rc = null), (g = 1)),\n (g = !g));\n if (!g) {\n g = a.ga;\n var h = a.Fa,\n k = a.P,\n l = a.qc,\n m = a.mb,\n n = a.nb,\n r = k + 1,\n q = l - 1,\n t = g.l;\n x(null != h && null != m && null != b);\n ia[0] = null;\n ia[1] = Rb;\n ia[2] = Gf;\n ia[3] = Hf;\n g.ca = m;\n g.tb = n;\n g.c = b.width;\n g.i = b.height;\n x(0 < g.c && 0 < g.i);\n if (1 >= l) b = 0;\n else if (\n ((g.$a = (h[k + 0] >> 0) & 3),\n (g.Z = (h[k + 0] >> 2) & 3),\n (g.Lc = (h[k + 0] >> 4) & 3),\n (k = (h[k + 0] >> 6) & 3),\n 0 > g.$a || 1 < g.$a || 4 <= g.Z || 1 < g.Lc || k)\n )\n b = 0;\n else if (\n ((t.put = kc),\n (t.ac = gc),\n (t.bc = lc),\n (t.ma = g),\n (t.width = b.width),\n (t.height = b.height),\n (t.Da = b.Da),\n (t.v = b.v),\n (t.va = b.va),\n (t.j = b.j),\n (t.o = b.o),\n g.$a)\n )\n b: {\n x(1 == g.$a), (b = Bc());\n c: for (;;) {\n if (null == b) {\n b = 0;\n break b;\n }\n x(null != g);\n g.mc = b;\n b.c = g.c;\n b.i = g.i;\n b.l = g.l;\n b.l.ma = g;\n b.l.width = g.c;\n b.l.height = g.i;\n b.a = 0;\n cb(b.m, h, r, q);\n if (!rb(g.c, g.i, 1, b, null)) break c;\n 1 == b.ab && 3 == b.gc[0].hc && yc(b.s)\n ? ((g.ic = 1),\n (h = b.c * b.i),\n (b.Ta = null),\n (b.Ua = 0),\n (b.V = V(h)),\n (b.Ba = 0),\n null == b.V ? ((b.a = 1), (b = 0)) : (b = 1))\n : ((g.ic = 0), (b = Ec(b, g.c)));\n if (!b) break c;\n b = 1;\n break b;\n }\n g.mc = null;\n b = 0;\n }\n else b = q >= g.c * g.i;\n g = !b;\n }\n if (g) return null;\n 1 != a.ga.Lc ? (a.Ga = 0) : (d = f - c);\n }\n x(null != a.ga);\n x(c + d <= f);\n a: {\n h = a.ga;\n b = h.c;\n f = h.l.o;\n if (0 == h.$a) {\n r = a.rc;\n q = a.Vc;\n t = a.Fa;\n k = a.P + 1 + c * b;\n l = a.mb;\n m = a.nb + c * b;\n x(k <= a.P + a.qc);\n if (0 != h.Z)\n for (x(null != ia[h.Z]), g = 0; g < d; ++g)\n ia[h.Z](r, q, t, k, l, m, b),\n (r = l),\n (q = m),\n (m += b),\n (k += b);\n else\n for (g = 0; g < d; ++g)\n I(l, m, t, k, b), (r = l), (q = m), (m += b), (k += b);\n a.rc = r;\n a.Vc = q;\n } else {\n x(null != h.mc);\n b = c + d;\n g = h.mc;\n x(null != g);\n x(b <= g.i);\n if (g.C >= b) b = 1;\n else if ((h.ic || Aa(), h.ic)) {\n var h = g.V,\n r = g.Ba,\n q = g.c,\n v = g.i,\n t = 1,\n k = g.$ / q,\n l = g.$ % q,\n m = g.m,\n n = g.s,\n p = g.$,\n u = q * v,\n w = q * b,\n y = n.wc,\n A = p < w ? ha(n, l, k) : null;\n x(p <= u);\n x(b <= v);\n x(yc(n));\n c: for (;;) {\n for (; !m.h && p < w; ) {\n l & y || (A = ha(n, l, k));\n x(null != A);\n Sa(m);\n v = ua(A.G[0], A.H[0], m);\n if (256 > v)\n (h[r + p] = v),\n ++p,\n ++l,\n l >= q && ((l = 0), ++k, k <= b && !(k % 16) && Ib(g, k));\n else if (280 > v) {\n var v = ib(v - 256, m);\n var E = ua(A.G[4], A.H[4], m);\n Sa(m);\n E = ib(E, m);\n E = nc(q, E);\n if (p >= E && u - p >= v) {\n var B;\n for (B = 0; B < v; ++B) h[r + p + B] = h[r + p + B - E];\n } else {\n t = 0;\n break c;\n }\n p += v;\n for (l += v; l >= q; )\n (l -= q), ++k, k <= b && !(k % 16) && Ib(g, k);\n p < w && l & y && (A = ha(n, l, k));\n } else {\n t = 0;\n break c;\n }\n x(m.h == db(m));\n }\n Ib(g, k > b ? b : k);\n break c;\n }\n !t || (m.h && p < u) ? ((t = 0), (g.a = m.h ? 5 : 3)) : (g.$ = p);\n b = t;\n } else b = Jb(g, g.V, g.Ba, g.c, g.i, b, se);\n if (!b) {\n d = 0;\n break a;\n }\n }\n c + d >= f && (a.Cc = 1);\n d = 1;\n }\n if (!d) return null;\n if (\n a.Cc &&\n ((d = a.ga), null != d && (d.mc = null), (a.ga = null), 0 < a.Ga)\n )\n return alert(\"todo:WebPDequantizeLevels\"), null;\n }\n return a.nb + c * e;\n }\n function If(a, b, c, d, e, f) {\n for (; 0 < e--; ) {\n var g = a,\n h = b + (c ? 1 : 0),\n k = a,\n l = b + (c ? 0 : 3),\n m;\n for (m = 0; m < d; ++m) {\n var n = k[l + 4 * m];\n 255 != n &&\n ((n *= 32897),\n (g[h + 4 * m + 0] = (g[h + 4 * m + 0] * n) >> 23),\n (g[h + 4 * m + 1] = (g[h + 4 * m + 1] * n) >> 23),\n (g[h + 4 * m + 2] = (g[h + 4 * m + 2] * n) >> 23));\n }\n b += f;\n }\n }\n function Jf(a, b, c, d, e) {\n for (; 0 < d--; ) {\n var f;\n for (f = 0; f < c; ++f) {\n var g = a[b + 2 * f + 0],\n h = a[b + 2 * f + 1],\n k = h & 15,\n l = 4369 * k,\n h = (((h & 240) | (h >> 4)) * l) >> 16;\n a[b + 2 * f + 0] =\n (((((g & 240) | (g >> 4)) * l) >> 16) & 240) |\n ((((((g & 15) | (g << 4)) * l) >> 16) >> 4) & 15);\n a[b + 2 * f + 1] = (h & 240) | k;\n }\n b += e;\n }\n }\n function Kf(a, b, c, d, e, f, g, h) {\n var k = 255,\n l,\n m;\n for (m = 0; m < e; ++m) {\n for (l = 0; l < d; ++l) {\n var n = a[b + l];\n f[g + 4 * l] = n;\n k &= n;\n }\n b += c;\n g += h;\n }\n return 255 != k;\n }\n function Lf(a, b, c, d, e) {\n var f;\n for (f = 0; f < e; ++f) c[d + f] = a[b + f] >> 8;\n }\n function Aa() {\n za = If;\n vc = Jf;\n fc = Kf;\n Fc = Lf;\n }\n function va(a, b, c) {\n self[a] = function(a, e, f, g, h, k, l, m, n, r, q, t, v, p, u, w, y) {\n var d,\n E = (y - 1) >> 1;\n var B = h[k + 0] | (l[m + 0] << 16);\n var C = n[r + 0] | (q[t + 0] << 16);\n x(null != a);\n var z = (3 * B + C + 131074) >> 2;\n b(a[e + 0], z & 255, z >> 16, v, p);\n null != f &&\n ((z = (3 * C + B + 131074) >> 2),\n b(f[g + 0], z & 255, z >> 16, u, w));\n for (d = 1; d <= E; ++d) {\n var D = h[k + d] | (l[m + d] << 16);\n var G = n[r + d] | (q[t + d] << 16);\n var F = B + D + C + G + 524296;\n var H = (F + 2 * (D + C)) >> 3;\n F = (F + 2 * (B + G)) >> 3;\n z = (H + B) >> 1;\n B = (F + D) >> 1;\n b(a[e + 2 * d - 1], z & 255, z >> 16, v, p + (2 * d - 1) * c);\n b(a[e + 2 * d - 0], B & 255, B >> 16, v, p + (2 * d - 0) * c);\n null != f &&\n ((z = (F + C) >> 1),\n (B = (H + G) >> 1),\n b(f[g + 2 * d - 1], z & 255, z >> 16, u, w + (2 * d - 1) * c),\n b(f[g + 2 * d + 0], B & 255, B >> 16, u, w + (2 * d + 0) * c));\n B = D;\n C = G;\n }\n y & 1 ||\n ((z = (3 * B + C + 131074) >> 2),\n b(a[e + y - 1], z & 255, z >> 16, v, p + (y - 1) * c),\n null != f &&\n ((z = (3 * C + B + 131074) >> 2),\n b(f[g + y - 1], z & 255, z >> 16, u, w + (y - 1) * c)));\n };\n }\n function ic() {\n P[Ca] = Mf;\n P[Ua] = nd;\n P[tc] = Nf;\n P[Va] = od;\n P[ya] = pd;\n P[Db] = qd;\n P[wc] = Of;\n P[zb] = nd;\n P[Ab] = od;\n P[Ja] = pd;\n P[Bb] = qd;\n }\n function Sb(a) {\n return a & ~Pf ? (0 > a ? 0 : 255) : a >> rd;\n }\n function bb(a, b) {\n return Sb(((19077 * a) >> 8) + ((26149 * b) >> 8) - 14234);\n }\n function nb(a, b, c) {\n return Sb(\n ((19077 * a) >> 8) - ((6419 * b) >> 8) - ((13320 * c) >> 8) + 8708\n );\n }\n function Pa(a, b) {\n return Sb(((19077 * a) >> 8) + ((33050 * b) >> 8) - 17685);\n }\n function Ga(a, b, c, d, e) {\n d[e + 0] = bb(a, c);\n d[e + 1] = nb(a, b, c);\n d[e + 2] = Pa(a, b);\n }\n function Tb(a, b, c, d, e) {\n d[e + 0] = Pa(a, b);\n d[e + 1] = nb(a, b, c);\n d[e + 2] = bb(a, c);\n }\n function sd(a, b, c, d, e) {\n var f = nb(a, b, c);\n b = ((f << 3) & 224) | (Pa(a, b) >> 3);\n d[e + 0] = (bb(a, c) & 248) | (f >> 5);\n d[e + 1] = b;\n }\n function td(a, b, c, d, e) {\n var f = (Pa(a, b) & 240) | 15;\n d[e + 0] = (bb(a, c) & 240) | (nb(a, b, c) >> 4);\n d[e + 1] = f;\n }\n function ud(a, b, c, d, e) {\n d[e + 0] = 255;\n Ga(a, b, c, d, e + 1);\n }\n function vd(a, b, c, d, e) {\n Tb(a, b, c, d, e);\n d[e + 3] = 255;\n }\n function wd(a, b, c, d, e) {\n Ga(a, b, c, d, e);\n d[e + 3] = 255;\n }\n function ga(a, b) {\n return 0 > a ? 0 : a > b ? b : a;\n }\n function la(a, b, c) {\n self[a] = function(a, e, f, g, h, k, l, m, n) {\n for (var d = m + (n & -2) * c; m != d; )\n b(a[e + 0], f[g + 0], h[k + 0], l, m),\n b(a[e + 1], f[g + 0], h[k + 0], l, m + c),\n (e += 2),\n ++g,\n ++k,\n (m += 2 * c);\n n & 1 && b(a[e + 0], f[g + 0], h[k + 0], l, m);\n };\n }\n function xd(a, b, c) {\n return 0 == c ? (0 == a ? (0 == b ? 6 : 5) : 0 == b ? 4 : 0) : c;\n }\n function yd(a, b, c, d, e) {\n switch (a >>> 30) {\n case 3:\n Za(b, c, d, e, 0);\n break;\n case 2:\n fd(b, c, d, e);\n break;\n case 1:\n pa(b, c, d, e);\n }\n }\n function Oc(a, b) {\n var c,\n d,\n e = b.M,\n f = b.Nb,\n g = a.oc,\n h = a.pc + 40,\n k = a.oc,\n l = a.pc + 584,\n m = a.oc,\n n = a.pc + 600;\n for (c = 0; 16 > c; ++c) g[h + 32 * c - 1] = 129;\n for (c = 0; 8 > c; ++c)\n (k[l + 32 * c - 1] = 129), (m[n + 32 * c - 1] = 129);\n 0 < e\n ? (g[h - 1 - 32] = k[l - 1 - 32] = m[n - 1 - 32] = 129)\n : (M(g, h - 32 - 1, 127, 21),\n M(k, l - 32 - 1, 127, 9),\n M(m, n - 32 - 1, 127, 9));\n for (d = 0; d < a.za; ++d) {\n var r = b.ya[b.aa + d];\n if (0 < d) {\n for (c = -1; 16 > c; ++c) I(g, h + 32 * c - 4, g, h + 32 * c + 12, 4);\n for (c = -1; 8 > c; ++c)\n I(k, l + 32 * c - 4, k, l + 32 * c + 4, 4),\n I(m, n + 32 * c - 4, m, n + 32 * c + 4, 4);\n }\n var q = a.Gd,\n t = a.Hd + d,\n v = r.ad,\n p = r.Hc;\n 0 < e &&\n (I(g, h - 32, q[t].y, 0, 16),\n I(k, l - 32, q[t].f, 0, 8),\n I(m, n - 32, q[t].ea, 0, 8));\n if (r.Za) {\n var u = g;\n var w = h - 32 + 16;\n 0 < e &&\n (d >= a.za - 1\n ? M(u, w, q[t].y[15], 4)\n : I(u, w, q[t + 1].y, 0, 4));\n for (c = 0; 4 > c; c++)\n u[w + 128 + c] = u[w + 256 + c] = u[w + 384 + c] = u[w + 0 + c];\n for (c = 0; 16 > c; ++c, p <<= 2)\n (u = g), (w = h + zd[c]), W[r.Ob[c]](u, w), yd(p, v, 16 * +c, u, w);\n } else if (((u = xd(d, e, r.Ob[0])), Y[u](g, h), 0 != p))\n for (c = 0; 16 > c; ++c, p <<= 2) yd(p, v, 16 * +c, g, h + zd[c]);\n c = r.Gc;\n u = xd(d, e, r.Dd);\n ka[u](k, l);\n ka[u](m, n);\n r = c >> 0;\n p = v;\n u = k;\n w = l;\n r & 255 && (r & 170 ? Nb(p, 256, u, w) : Ob(p, 256, u, w));\n c >>= 8;\n r = m;\n p = n;\n c & 255 && (c & 170 ? Nb(v, 320, r, p) : Ob(v, 320, r, p));\n e < a.Ub - 1 &&\n (I(q[t].y, 0, g, h + 480, 16),\n I(q[t].f, 0, k, l + 224, 8),\n I(q[t].ea, 0, m, n + 224, 8));\n c = 8 * f * a.B;\n q = a.sa;\n t = a.ta + 16 * d + 16 * f * a.R;\n v = a.qa;\n r = a.ra + 8 * d + c;\n p = a.Ha;\n u = a.Ia + 8 * d + c;\n for (c = 0; 16 > c; ++c) I(q, t + c * a.R, g, h + 32 * c, 16);\n for (c = 0; 8 > c; ++c)\n I(v, r + c * a.B, k, l + 32 * c, 8),\n I(p, u + c * a.B, m, n + 32 * c, 8);\n }\n }\n function Ad(a, b, c, d, e, f, g, h, k) {\n var l = [0],\n m = [0],\n n = 0,\n r = null != k ? k.kd : 0,\n q = null != k ? k : new md();\n if (null == a || 12 > c) return 7;\n q.data = a;\n q.w = b;\n q.ha = c;\n b = [b];\n c = [c];\n q.gb = [q.gb];\n a: {\n var t = b;\n var v = c;\n var p = q.gb;\n x(null != a);\n x(null != v);\n x(null != p);\n p[0] = 0;\n if (12 <= v[0] && !fa(a, t[0], \"RIFF\")) {\n if (fa(a, t[0] + 8, \"WEBP\")) {\n p = 3;\n break a;\n }\n var u = Ha(a, t[0] + 4);\n if (12 > u || 4294967286 < u) {\n p = 3;\n break a;\n }\n if (r && u > v[0] - 8) {\n p = 7;\n break a;\n }\n p[0] = u;\n t[0] += 12;\n v[0] -= 12;\n }\n p = 0;\n }\n if (0 != p) return p;\n u = 0 < q.gb[0];\n for (c = c[0]; ; ) {\n t = [0];\n n = [n];\n a: {\n var w = a;\n v = b;\n p = c;\n var y = n,\n A = l,\n z = m,\n B = t;\n y[0] = 0;\n if (8 > p[0]) p = 7;\n else {\n if (!fa(w, v[0], \"VP8X\")) {\n if (10 != Ha(w, v[0] + 4)) {\n p = 3;\n break a;\n }\n if (18 > p[0]) {\n p = 7;\n break a;\n }\n var C = Ha(w, v[0] + 8);\n var D = 1 + Yb(w, v[0] + 12);\n w = 1 + Yb(w, v[0] + 15);\n if (2147483648 <= D * w) {\n p = 3;\n break a;\n }\n null != B && (B[0] = C);\n null != A && (A[0] = D);\n null != z && (z[0] = w);\n v[0] += 18;\n p[0] -= 18;\n y[0] = 1;\n }\n p = 0;\n }\n }\n n = n[0];\n t = t[0];\n if (0 != p) return p;\n v = !!(t & 2);\n if (!u && n) return 3;\n null != f && (f[0] = !!(t & 16));\n null != g && (g[0] = v);\n null != h && (h[0] = 0);\n g = l[0];\n t = m[0];\n if (n && v && null == k) {\n p = 0;\n break;\n }\n if (4 > c) {\n p = 7;\n break;\n }\n if ((u && n) || (!u && !n && !fa(a, b[0], \"ALPH\"))) {\n c = [c];\n q.na = [q.na];\n q.P = [q.P];\n q.Sa = [q.Sa];\n a: {\n C = a;\n p = b;\n u = c;\n var y = q.gb,\n A = q.na,\n z = q.P,\n B = q.Sa;\n D = 22;\n x(null != C);\n x(null != u);\n w = p[0];\n var F = u[0];\n x(null != A);\n x(null != B);\n A[0] = null;\n z[0] = null;\n for (B[0] = 0; ; ) {\n p[0] = w;\n u[0] = F;\n if (8 > F) {\n p = 7;\n break a;\n }\n var G = Ha(C, w + 4);\n if (4294967286 < G) {\n p = 3;\n break a;\n }\n var H = (8 + G + 1) & -2;\n D += H;\n if (0 < y && D > y) {\n p = 3;\n break a;\n }\n if (!fa(C, w, \"VP8 \") || !fa(C, w, \"VP8L\")) {\n p = 0;\n break a;\n }\n if (F[0] < H) {\n p = 7;\n break a;\n }\n fa(C, w, \"ALPH\") || ((A[0] = C), (z[0] = w + 8), (B[0] = G));\n w += H;\n F -= H;\n }\n }\n c = c[0];\n q.na = q.na[0];\n q.P = q.P[0];\n q.Sa = q.Sa[0];\n if (0 != p) break;\n }\n c = [c];\n q.Ja = [q.Ja];\n q.xa = [q.xa];\n a: if (\n ((y = a),\n (p = b),\n (u = c),\n (A = q.gb[0]),\n (z = q.Ja),\n (B = q.xa),\n (C = p[0]),\n (w = !fa(y, C, \"VP8 \")),\n (D = !fa(y, C, \"VP8L\")),\n x(null != y),\n x(null != u),\n x(null != z),\n x(null != B),\n 8 > u[0])\n )\n p = 7;\n else {\n if (w || D) {\n y = Ha(y, C + 4);\n if (12 <= A && y > A - 12) {\n p = 3;\n break a;\n }\n if (r && y > u[0] - 8) {\n p = 7;\n break a;\n }\n z[0] = y;\n p[0] += 8;\n u[0] -= 8;\n B[0] = D;\n } else\n (B[0] = 5 <= u[0] && 47 == y[C + 0] && !(y[C + 4] >> 5)),\n (z[0] = u[0]);\n p = 0;\n }\n c = c[0];\n q.Ja = q.Ja[0];\n q.xa = q.xa[0];\n b = b[0];\n if (0 != p) break;\n if (4294967286 < q.Ja) return 3;\n null == h || v || (h[0] = q.xa ? 2 : 1);\n g = [g];\n t = [t];\n if (q.xa) {\n if (5 > c) {\n p = 7;\n break;\n }\n h = g;\n r = t;\n v = f;\n null == a || 5 > c\n ? (a = 0)\n : 5 <= c && 47 == a[b + 0] && !(a[b + 4] >> 5)\n ? ((u = [0]),\n (y = [0]),\n (A = [0]),\n (z = new Ra()),\n cb(z, a, b, c),\n mc(z, u, y, A)\n ? (null != h && (h[0] = u[0]),\n null != r && (r[0] = y[0]),\n null != v && (v[0] = A[0]),\n (a = 1))\n : (a = 0))\n : (a = 0);\n } else {\n if (10 > c) {\n p = 7;\n break;\n }\n h = t;\n null == a || 10 > c || !Jc(a, b + 3, c - 3)\n ? (a = 0)\n : ((r = a[b + 0] | (a[b + 1] << 8) | (a[b + 2] << 16)),\n (v = ((a[b + 7] << 8) | a[b + 6]) & 16383),\n (a = ((a[b + 9] << 8) | a[b + 8]) & 16383),\n r & 1 ||\n 3 < ((r >> 1) & 7) ||\n !((r >> 4) & 1) ||\n r >> 5 >= q.Ja ||\n !v ||\n !a\n ? (a = 0)\n : (g && (g[0] = v), h && (h[0] = a), (a = 1)));\n }\n if (!a) return 3;\n g = g[0];\n t = t[0];\n if (n && (l[0] != g || m[0] != t)) return 3;\n null != k &&\n ((k[0] = q),\n (k.offset = b - k.w),\n x(4294967286 > b - k.w),\n x(k.offset == k.ha - c));\n break;\n }\n return 0 == p || (7 == p && n && null == k)\n ? (null != f && (f[0] |= null != q.na && 0 < q.na.length),\n null != d && (d[0] = g),\n null != e && (e[0] = t),\n 0)\n : p;\n }\n function hc(a, b, c) {\n var d = b.width,\n e = b.height,\n f = 0,\n g = 0,\n h = d,\n k = e;\n b.Da = null != a && 0 < a.Da;\n if (\n b.Da &&\n ((h = a.cd),\n (k = a.bd),\n (f = a.v),\n (g = a.j),\n 11 > c || ((f &= -2), (g &= -2)),\n 0 > f || 0 > g || 0 >= h || 0 >= k || f + h > d || g + k > e)\n )\n return 0;\n b.v = f;\n b.j = g;\n b.va = f + h;\n b.o = g + k;\n b.U = h;\n b.T = k;\n b.da = null != a && 0 < a.da;\n if (b.da) {\n c = [a.ib];\n f = [a.hb];\n if (!bc(h, k, c, f)) return 0;\n b.ib = c[0];\n b.hb = f[0];\n }\n b.ob = null != a && a.ob;\n b.Kb = null == a || !a.Sd;\n b.da && ((b.ob = b.ib < (3 * d) / 4 && b.hb < (3 * e) / 4), (b.Kb = 0));\n return 1;\n }\n function Bd(a) {\n if (null == a) return 2;\n if (11 > a.S) {\n var b = a.f.RGBA;\n b.fb += (a.height - 1) * b.A;\n b.A = -b.A;\n } else\n (b = a.f.kb),\n (a = a.height),\n (b.O += (a - 1) * b.fa),\n (b.fa = -b.fa),\n (b.N += ((a - 1) >> 1) * b.Ab),\n (b.Ab = -b.Ab),\n (b.W += ((a - 1) >> 1) * b.Db),\n (b.Db = -b.Db),\n null != b.F && ((b.J += (a - 1) * b.lb), (b.lb = -b.lb));\n return 0;\n }\n function Cd(a, b, c, d) {\n if (null == d || 0 >= a || 0 >= b) return 2;\n if (null != c) {\n if (c.Da) {\n var e = c.cd,\n f = c.bd,\n g = c.v & -2,\n h = c.j & -2;\n if (0 > g || 0 > h || 0 >= e || 0 >= f || g + e > a || h + f > b)\n return 2;\n a = e;\n b = f;\n }\n if (c.da) {\n e = [c.ib];\n f = [c.hb];\n if (!bc(a, b, e, f)) return 2;\n a = e[0];\n b = f[0];\n }\n }\n d.width = a;\n d.height = b;\n a: {\n var k = d.width;\n var l = d.height;\n a = d.S;\n if (0 >= k || 0 >= l || !(a >= Ca && 13 > a)) a = 2;\n else {\n if (0 >= d.Rd && null == d.sd) {\n var g = (f = e = b = 0),\n h = k * Dd[a],\n m = h * l;\n 11 > a ||\n ((b = (k + 1) / 2),\n (f = ((l + 1) / 2) * b),\n 12 == a && ((e = k), (g = e * l)));\n l = V(m + 2 * f + g);\n if (null == l) {\n a = 1;\n break a;\n }\n d.sd = l;\n 11 > a\n ? ((k = d.f.RGBA),\n (k.eb = l),\n (k.fb = 0),\n (k.A = h),\n (k.size = m))\n : ((k = d.f.kb),\n (k.y = l),\n (k.O = 0),\n (k.fa = h),\n (k.Fd = m),\n (k.f = l),\n (k.N = 0 + m),\n (k.Ab = b),\n (k.Cd = f),\n (k.ea = l),\n (k.W = 0 + m + f),\n (k.Db = b),\n (k.Ed = f),\n 12 == a && ((k.F = l), (k.J = 0 + m + 2 * f)),\n (k.Tc = g),\n (k.lb = e));\n }\n b = 1;\n e = d.S;\n f = d.width;\n g = d.height;\n if (e >= Ca && 13 > e)\n if (11 > e)\n (a = d.f.RGBA),\n (h = Math.abs(a.A)),\n (b &= h * (g - 1) + f <= a.size),\n (b &= h >= f * Dd[e]),\n (b &= null != a.eb);\n else {\n a = d.f.kb;\n h = (f + 1) / 2;\n m = (g + 1) / 2;\n k = Math.abs(a.fa);\n var l = Math.abs(a.Ab),\n n = Math.abs(a.Db),\n r = Math.abs(a.lb),\n q = r * (g - 1) + f;\n b &= k * (g - 1) + f <= a.Fd;\n b &= l * (m - 1) + h <= a.Cd;\n b &= n * (m - 1) + h <= a.Ed;\n b = b & (k >= f) & (l >= h) & (n >= h);\n b &= null != a.y;\n b &= null != a.f;\n b &= null != a.ea;\n 12 == e && ((b &= r >= f), (b &= q <= a.Tc), (b &= null != a.F));\n }\n else b = 0;\n a = b ? 0 : 2;\n }\n }\n if (0 != a) return a;\n null != c && c.fd && (a = Bd(d));\n return a;\n }\n var xb = 64,\n Hd = [\n 0,\n 1,\n 3,\n 7,\n 15,\n 31,\n 63,\n 127,\n 255,\n 511,\n 1023,\n 2047,\n 4095,\n 8191,\n 16383,\n 32767,\n 65535,\n 131071,\n 262143,\n 524287,\n 1048575,\n 2097151,\n 4194303,\n 8388607,\n 16777215\n ],\n Gd = 24,\n ob = 32,\n Xb = 8,\n Id = [\n 0,\n 0,\n 1,\n 1,\n 2,\n 2,\n 2,\n 2,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7\n ];\n X(\"Predictor0\", \"PredictorAdd0\");\n self.Predictor0 = function() {\n return 4278190080;\n };\n self.Predictor1 = function(a) {\n return a;\n };\n self.Predictor2 = function(a, b, c) {\n return b[c + 0];\n };\n self.Predictor3 = function(a, b, c) {\n return b[c + 1];\n };\n self.Predictor4 = function(a, b, c) {\n return b[c - 1];\n };\n self.Predictor5 = function(a, b, c) {\n return aa(aa(a, b[c + 1]), b[c + 0]);\n };\n self.Predictor6 = function(a, b, c) {\n return aa(a, b[c - 1]);\n };\n self.Predictor7 = function(a, b, c) {\n return aa(a, b[c + 0]);\n };\n self.Predictor8 = function(a, b, c) {\n return aa(b[c - 1], b[c + 0]);\n };\n self.Predictor9 = function(a, b, c) {\n return aa(b[c + 0], b[c + 1]);\n };\n self.Predictor10 = function(a, b, c) {\n return aa(aa(a, b[c - 1]), aa(b[c + 0], b[c + 1]));\n };\n self.Predictor11 = function(a, b, c) {\n var d = b[c + 0];\n b = b[c - 1];\n return 0 >=\n Ia((d >> 24) & 255, (a >> 24) & 255, (b >> 24) & 255) +\n Ia((d >> 16) & 255, (a >> 16) & 255, (b >> 16) & 255) +\n Ia((d >> 8) & 255, (a >> 8) & 255, (b >> 8) & 255) +\n Ia(d & 255, a & 255, b & 255)\n ? d\n : a;\n };\n self.Predictor12 = function(a, b, c) {\n var d = b[c + 0];\n b = b[c - 1];\n return (\n ((sa(((a >> 24) & 255) + ((d >> 24) & 255) - ((b >> 24) & 255)) << 24) |\n (sa(((a >> 16) & 255) + ((d >> 16) & 255) - ((b >> 16) & 255)) <<\n 16) |\n (sa(((a >> 8) & 255) + ((d >> 8) & 255) - ((b >> 8) & 255)) << 8) |\n sa((a & 255) + (d & 255) - (b & 255))) >>>\n 0\n );\n };\n self.Predictor13 = function(a, b, c) {\n var d = b[c - 1];\n a = aa(a, b[c + 0]);\n return (\n ((eb((a >> 24) & 255, (d >> 24) & 255) << 24) |\n (eb((a >> 16) & 255, (d >> 16) & 255) << 16) |\n (eb((a >> 8) & 255, (d >> 8) & 255) << 8) |\n eb((a >> 0) & 255, (d >> 0) & 255)) >>>\n 0\n );\n };\n var ee = self.PredictorAdd0;\n self.PredictorAdd1 = cc;\n X(\"Predictor2\", \"PredictorAdd2\");\n X(\"Predictor3\", \"PredictorAdd3\");\n X(\"Predictor4\", \"PredictorAdd4\");\n X(\"Predictor5\", \"PredictorAdd5\");\n X(\"Predictor6\", \"PredictorAdd6\");\n X(\"Predictor7\", \"PredictorAdd7\");\n X(\"Predictor8\", \"PredictorAdd8\");\n X(\"Predictor9\", \"PredictorAdd9\");\n X(\"Predictor10\", \"PredictorAdd10\");\n X(\"Predictor11\", \"PredictorAdd11\");\n X(\"Predictor12\", \"PredictorAdd12\");\n X(\"Predictor13\", \"PredictorAdd13\");\n var fe = self.PredictorAdd2;\n ec(\n \"ColorIndexInverseTransform\",\n \"MapARGB\",\n \"32b\",\n function(a) {\n return (a >> 8) & 255;\n },\n function(a) {\n return a;\n }\n );\n ec(\n \"VP8LColorIndexInverseTransformAlpha\",\n \"MapAlpha\",\n \"8b\",\n function(a) {\n return a;\n },\n function(a) {\n return (a >> 8) & 255;\n }\n );\n var rc = self.ColorIndexInverseTransform,\n ke = self.MapARGB,\n he = self.VP8LColorIndexInverseTransformAlpha,\n le = self.MapAlpha,\n pc,\n qc = (self.VP8LPredictorsAdd = []);\n qc.length = 16;\n (self.VP8LPredictors = []).length = 16;\n (self.VP8LPredictorsAdd_C = []).length = 16;\n (self.VP8LPredictors_C = []).length = 16;\n var Fb,\n sc,\n Gb,\n Hb,\n xc,\n uc,\n bd = V(511),\n cd = V(2041),\n dd = V(225),\n ed = V(767),\n ad = 0,\n Qb = cd,\n mb = dd,\n R = ed,\n U = bd,\n Ca = 0,\n Ua = 1,\n tc = 2,\n Va = 3,\n ya = 4,\n Db = 5,\n wc = 6,\n zb = 7,\n Ab = 8,\n Ja = 9,\n Bb = 10,\n pe = [2, 3, 7],\n oe = [3, 3, 11],\n Dc = [280, 256, 256, 256, 40],\n qe = [0, 1, 1, 1, 0],\n ne = [17, 18, 0, 1, 2, 3, 4, 5, 16, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],\n de = [\n 24,\n 7,\n 23,\n 25,\n 40,\n 6,\n 39,\n 41,\n 22,\n 26,\n 38,\n 42,\n 56,\n 5,\n 55,\n 57,\n 21,\n 27,\n 54,\n 58,\n 37,\n 43,\n 72,\n 4,\n 71,\n 73,\n 20,\n 28,\n 53,\n 59,\n 70,\n 74,\n 36,\n 44,\n 88,\n 69,\n 75,\n 52,\n 60,\n 3,\n 87,\n 89,\n 19,\n 29,\n 86,\n 90,\n 35,\n 45,\n 68,\n 76,\n 85,\n 91,\n 51,\n 61,\n 104,\n 2,\n 103,\n 105,\n 18,\n 30,\n 102,\n 106,\n 34,\n 46,\n 84,\n 92,\n 67,\n 77,\n 101,\n 107,\n 50,\n 62,\n 120,\n 1,\n 119,\n 121,\n 83,\n 93,\n 17,\n 31,\n 100,\n 108,\n 66,\n 78,\n 118,\n 122,\n 33,\n 47,\n 117,\n 123,\n 49,\n 63,\n 99,\n 109,\n 82,\n 94,\n 0,\n 116,\n 124,\n 65,\n 79,\n 16,\n 32,\n 98,\n 110,\n 48,\n 115,\n 125,\n 81,\n 95,\n 64,\n 114,\n 126,\n 97,\n 111,\n 80,\n 113,\n 127,\n 96,\n 112\n ],\n me = [\n 2954,\n 2956,\n 2958,\n 2962,\n 2970,\n 2986,\n 3018,\n 3082,\n 3212,\n 3468,\n 3980,\n 5004\n ],\n ie = 8,\n Lb = [\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 16,\n 17,\n 17,\n 18,\n 19,\n 20,\n 20,\n 21,\n 21,\n 22,\n 22,\n 23,\n 23,\n 24,\n 25,\n 25,\n 26,\n 27,\n 28,\n 29,\n 30,\n 31,\n 32,\n 33,\n 34,\n 35,\n 36,\n 37,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 43,\n 44,\n 45,\n 46,\n 46,\n 47,\n 48,\n 49,\n 50,\n 51,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 59,\n 60,\n 61,\n 62,\n 63,\n 64,\n 65,\n 66,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 75,\n 76,\n 76,\n 77,\n 78,\n 79,\n 80,\n 81,\n 82,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 91,\n 93,\n 95,\n 96,\n 98,\n 100,\n 101,\n 102,\n 104,\n 106,\n 108,\n 110,\n 112,\n 114,\n 116,\n 118,\n 122,\n 124,\n 126,\n 128,\n 130,\n 132,\n 134,\n 136,\n 138,\n 140,\n 143,\n 145,\n 148,\n 151,\n 154,\n 157\n ],\n Mb = [\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 16,\n 17,\n 18,\n 19,\n 20,\n 21,\n 22,\n 23,\n 24,\n 25,\n 26,\n 27,\n 28,\n 29,\n 30,\n 31,\n 32,\n 33,\n 34,\n 35,\n 36,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 43,\n 44,\n 45,\n 46,\n 47,\n 48,\n 49,\n 50,\n 51,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 60,\n 62,\n 64,\n 66,\n 68,\n 70,\n 72,\n 74,\n 76,\n 78,\n 80,\n 82,\n 84,\n 86,\n 88,\n 90,\n 92,\n 94,\n 96,\n 98,\n 100,\n 102,\n 104,\n 106,\n 108,\n 110,\n 112,\n 114,\n 116,\n 119,\n 122,\n 125,\n 128,\n 131,\n 134,\n 137,\n 140,\n 143,\n 146,\n 149,\n 152,\n 155,\n 158,\n 161,\n 164,\n 167,\n 170,\n 173,\n 177,\n 181,\n 185,\n 189,\n 193,\n 197,\n 201,\n 205,\n 209,\n 213,\n 217,\n 221,\n 225,\n 229,\n 234,\n 239,\n 245,\n 249,\n 254,\n 259,\n 264,\n 269,\n 274,\n 279,\n 284\n ],\n oa = null,\n He = [\n [173, 148, 140, 0],\n [176, 155, 140, 135, 0],\n [180, 157, 141, 134, 130, 0],\n [254, 254, 243, 230, 196, 177, 153, 140, 133, 130, 129, 0]\n ],\n Ie = [0, 1, 4, 8, 5, 2, 3, 6, 9, 12, 13, 10, 7, 11, 14, 15],\n Mc = [-0, 1, -1, 2, -2, 3, 4, 6, -3, 5, -4, -5, -6, 7, -7, 8, -8, -9],\n Fe = [\n [\n [\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [253, 136, 254, 255, 228, 219, 128, 128, 128, 128, 128],\n [189, 129, 242, 255, 227, 213, 255, 219, 128, 128, 128],\n [106, 126, 227, 252, 214, 209, 255, 255, 128, 128, 128]\n ],\n [\n [1, 98, 248, 255, 236, 226, 255, 255, 128, 128, 128],\n [181, 133, 238, 254, 221, 234, 255, 154, 128, 128, 128],\n [78, 134, 202, 247, 198, 180, 255, 219, 128, 128, 128]\n ],\n [\n [1, 185, 249, 255, 243, 255, 128, 128, 128, 128, 128],\n [184, 150, 247, 255, 236, 224, 128, 128, 128, 128, 128],\n [77, 110, 216, 255, 236, 230, 128, 128, 128, 128, 128]\n ],\n [\n [1, 101, 251, 255, 241, 255, 128, 128, 128, 128, 128],\n [170, 139, 241, 252, 236, 209, 255, 255, 128, 128, 128],\n [37, 116, 196, 243, 228, 255, 255, 255, 128, 128, 128]\n ],\n [\n [1, 204, 254, 255, 245, 255, 128, 128, 128, 128, 128],\n [207, 160, 250, 255, 238, 128, 128, 128, 128, 128, 128],\n [102, 103, 231, 255, 211, 171, 128, 128, 128, 128, 128]\n ],\n [\n [1, 152, 252, 255, 240, 255, 128, 128, 128, 128, 128],\n [177, 135, 243, 255, 234, 225, 128, 128, 128, 128, 128],\n [80, 129, 211, 255, 194, 224, 128, 128, 128, 128, 128]\n ],\n [\n [1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [246, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [255, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [198, 35, 237, 223, 193, 187, 162, 160, 145, 155, 62],\n [131, 45, 198, 221, 172, 176, 220, 157, 252, 221, 1],\n [68, 47, 146, 208, 149, 167, 221, 162, 255, 223, 128]\n ],\n [\n [1, 149, 241, 255, 221, 224, 255, 255, 128, 128, 128],\n [184, 141, 234, 253, 222, 220, 255, 199, 128, 128, 128],\n [81, 99, 181, 242, 176, 190, 249, 202, 255, 255, 128]\n ],\n [\n [1, 129, 232, 253, 214, 197, 242, 196, 255, 255, 128],\n [99, 121, 210, 250, 201, 198, 255, 202, 128, 128, 128],\n [23, 91, 163, 242, 170, 187, 247, 210, 255, 255, 128]\n ],\n [\n [1, 200, 246, 255, 234, 255, 128, 128, 128, 128, 128],\n [109, 178, 241, 255, 231, 245, 255, 255, 128, 128, 128],\n [44, 130, 201, 253, 205, 192, 255, 255, 128, 128, 128]\n ],\n [\n [1, 132, 239, 251, 219, 209, 255, 165, 128, 128, 128],\n [94, 136, 225, 251, 218, 190, 255, 255, 128, 128, 128],\n [22, 100, 174, 245, 186, 161, 255, 199, 128, 128, 128]\n ],\n [\n [1, 182, 249, 255, 232, 235, 128, 128, 128, 128, 128],\n [124, 143, 241, 255, 227, 234, 128, 128, 128, 128, 128],\n [35, 77, 181, 251, 193, 211, 255, 205, 128, 128, 128]\n ],\n [\n [1, 157, 247, 255, 236, 231, 255, 255, 128, 128, 128],\n [121, 141, 235, 255, 225, 227, 255, 255, 128, 128, 128],\n [45, 99, 188, 251, 195, 217, 255, 224, 128, 128, 128]\n ],\n [\n [1, 1, 251, 255, 213, 255, 128, 128, 128, 128, 128],\n [203, 1, 248, 255, 255, 128, 128, 128, 128, 128, 128],\n [137, 1, 177, 255, 224, 255, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [253, 9, 248, 251, 207, 208, 255, 192, 128, 128, 128],\n [175, 13, 224, 243, 193, 185, 249, 198, 255, 255, 128],\n [73, 17, 171, 221, 161, 179, 236, 167, 255, 234, 128]\n ],\n [\n [1, 95, 247, 253, 212, 183, 255, 255, 128, 128, 128],\n [239, 90, 244, 250, 211, 209, 255, 255, 128, 128, 128],\n [155, 77, 195, 248, 188, 195, 255, 255, 128, 128, 128]\n ],\n [\n [1, 24, 239, 251, 218, 219, 255, 205, 128, 128, 128],\n [201, 51, 219, 255, 196, 186, 128, 128, 128, 128, 128],\n [69, 46, 190, 239, 201, 218, 255, 228, 128, 128, 128]\n ],\n [\n [1, 191, 251, 255, 255, 128, 128, 128, 128, 128, 128],\n [223, 165, 249, 255, 213, 255, 128, 128, 128, 128, 128],\n [141, 124, 248, 255, 255, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 16, 248, 255, 255, 128, 128, 128, 128, 128, 128],\n [190, 36, 230, 255, 236, 255, 128, 128, 128, 128, 128],\n [149, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 226, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [247, 192, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [240, 128, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 134, 252, 255, 255, 128, 128, 128, 128, 128, 128],\n [213, 62, 250, 255, 255, 128, 128, 128, 128, 128, 128],\n [55, 93, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [202, 24, 213, 235, 186, 191, 220, 160, 240, 175, 255],\n [126, 38, 182, 232, 169, 184, 228, 174, 255, 187, 128],\n [61, 46, 138, 219, 151, 178, 240, 170, 255, 216, 128]\n ],\n [\n [1, 112, 230, 250, 199, 191, 247, 159, 255, 255, 128],\n [166, 109, 228, 252, 211, 215, 255, 174, 128, 128, 128],\n [39, 77, 162, 232, 172, 180, 245, 178, 255, 255, 128]\n ],\n [\n [1, 52, 220, 246, 198, 199, 249, 220, 255, 255, 128],\n [124, 74, 191, 243, 183, 193, 250, 221, 255, 255, 128],\n [24, 71, 130, 219, 154, 170, 243, 182, 255, 255, 128]\n ],\n [\n [1, 182, 225, 249, 219, 240, 255, 224, 128, 128, 128],\n [149, 150, 226, 252, 216, 205, 255, 171, 128, 128, 128],\n [28, 108, 170, 242, 183, 194, 254, 223, 255, 255, 128]\n ],\n [\n [1, 81, 230, 252, 204, 203, 255, 192, 128, 128, 128],\n [123, 102, 209, 247, 188, 196, 255, 233, 128, 128, 128],\n [20, 95, 153, 243, 164, 173, 255, 203, 128, 128, 128]\n ],\n [\n [1, 222, 248, 255, 216, 213, 128, 128, 128, 128, 128],\n [168, 175, 246, 252, 235, 205, 255, 255, 128, 128, 128],\n [47, 116, 215, 255, 211, 212, 255, 255, 128, 128, 128]\n ],\n [\n [1, 121, 236, 253, 212, 214, 255, 255, 128, 128, 128],\n [141, 84, 213, 252, 201, 202, 255, 219, 128, 128, 128],\n [42, 80, 160, 240, 162, 185, 255, 205, 128, 128, 128]\n ],\n [\n [1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [244, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [238, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ]\n ],\n Ke = [\n [\n [231, 120, 48, 89, 115, 113, 120, 152, 112],\n [152, 179, 64, 126, 170, 118, 46, 70, 95],\n [175, 69, 143, 80, 85, 82, 72, 155, 103],\n [56, 58, 10, 171, 218, 189, 17, 13, 152],\n [114, 26, 17, 163, 44, 195, 21, 10, 173],\n [121, 24, 80, 195, 26, 62, 44, 64, 85],\n [144, 71, 10, 38, 171, 213, 144, 34, 26],\n [170, 46, 55, 19, 136, 160, 33, 206, 71],\n [63, 20, 8, 114, 114, 208, 12, 9, 226],\n [81, 40, 11, 96, 182, 84, 29, 16, 36]\n ],\n [\n [134, 183, 89, 137, 98, 101, 106, 165, 148],\n [72, 187, 100, 130, 157, 111, 32, 75, 80],\n [66, 102, 167, 99, 74, 62, 40, 234, 128],\n [41, 53, 9, 178, 241, 141, 26, 8, 107],\n [74, 43, 26, 146, 73, 166, 49, 23, 157],\n [65, 38, 105, 160, 51, 52, 31, 115, 128],\n [104, 79, 12, 27, 217, 255, 87, 17, 7],\n [87, 68, 71, 44, 114, 51, 15, 186, 23],\n [47, 41, 14, 110, 182, 183, 21, 17, 194],\n [66, 45, 25, 102, 197, 189, 23, 18, 22]\n ],\n [\n [88, 88, 147, 150, 42, 46, 45, 196, 205],\n [43, 97, 183, 117, 85, 38, 35, 179, 61],\n [39, 53, 200, 87, 26, 21, 43, 232, 171],\n [56, 34, 51, 104, 114, 102, 29, 93, 77],\n [39, 28, 85, 171, 58, 165, 90, 98, 64],\n [34, 22, 116, 206, 23, 34, 43, 166, 73],\n [107, 54, 32, 26, 51, 1, 81, 43, 31],\n [68, 25, 106, 22, 64, 171, 36, 225, 114],\n [34, 19, 21, 102, 132, 188, 16, 76, 124],\n [62, 18, 78, 95, 85, 57, 50, 48, 51]\n ],\n [\n [193, 101, 35, 159, 215, 111, 89, 46, 111],\n [60, 148, 31, 172, 219, 228, 21, 18, 111],\n [112, 113, 77, 85, 179, 255, 38, 120, 114],\n [40, 42, 1, 196, 245, 209, 10, 25, 109],\n [88, 43, 29, 140, 166, 213, 37, 43, 154],\n [61, 63, 30, 155, 67, 45, 68, 1, 209],\n [100, 80, 8, 43, 154, 1, 51, 26, 71],\n [142, 78, 78, 16, 255, 128, 34, 197, 171],\n [41, 40, 5, 102, 211, 183, 4, 1, 221],\n [51, 50, 17, 168, 209, 192, 23, 25, 82]\n ],\n [\n [138, 31, 36, 171, 27, 166, 38, 44, 229],\n [67, 87, 58, 169, 82, 115, 26, 59, 179],\n [63, 59, 90, 180, 59, 166, 93, 73, 154],\n [40, 40, 21, 116, 143, 209, 34, 39, 175],\n [47, 15, 16, 183, 34, 223, 49, 45, 183],\n [46, 17, 33, 183, 6, 98, 15, 32, 183],\n [57, 46, 22, 24, 128, 1, 54, 17, 37],\n [65, 32, 73, 115, 28, 128, 23, 128, 205],\n [40, 3, 9, 115, 51, 192, 18, 6, 223],\n [87, 37, 9, 115, 59, 77, 64, 21, 47]\n ],\n [\n [104, 55, 44, 218, 9, 54, 53, 130, 226],\n [64, 90, 70, 205, 40, 41, 23, 26, 57],\n [54, 57, 112, 184, 5, 41, 38, 166, 213],\n [30, 34, 26, 133, 152, 116, 10, 32, 134],\n [39, 19, 53, 221, 26, 114, 32, 73, 255],\n [31, 9, 65, 234, 2, 15, 1, 118, 73],\n [75, 32, 12, 51, 192, 255, 160, 43, 51],\n [88, 31, 35, 67, 102, 85, 55, 186, 85],\n [56, 21, 23, 111, 59, 205, 45, 37, 192],\n [55, 38, 70, 124, 73, 102, 1, 34, 98]\n ],\n [\n [125, 98, 42, 88, 104, 85, 117, 175, 82],\n [95, 84, 53, 89, 128, 100, 113, 101, 45],\n [75, 79, 123, 47, 51, 128, 81, 171, 1],\n [57, 17, 5, 71, 102, 57, 53, 41, 49],\n [38, 33, 13, 121, 57, 73, 26, 1, 85],\n [41, 10, 67, 138, 77, 110, 90, 47, 114],\n [115, 21, 2, 10, 102, 255, 166, 23, 6],\n [101, 29, 16, 10, 85, 128, 101, 196, 26],\n [57, 18, 10, 102, 102, 213, 34, 20, 43],\n [117, 20, 15, 36, 163, 128, 68, 1, 26]\n ],\n [\n [102, 61, 71, 37, 34, 53, 31, 243, 192],\n [69, 60, 71, 38, 73, 119, 28, 222, 37],\n [68, 45, 128, 34, 1, 47, 11, 245, 171],\n [62, 17, 19, 70, 146, 85, 55, 62, 70],\n [37, 43, 37, 154, 100, 163, 85, 160, 1],\n [63, 9, 92, 136, 28, 64, 32, 201, 85],\n [75, 15, 9, 9, 64, 255, 184, 119, 16],\n [86, 6, 28, 5, 64, 255, 25, 248, 1],\n [56, 8, 17, 132, 137, 255, 55, 116, 128],\n [58, 15, 20, 82, 135, 57, 26, 121, 40]\n ],\n [\n [164, 50, 31, 137, 154, 133, 25, 35, 218],\n [51, 103, 44, 131, 131, 123, 31, 6, 158],\n [86, 40, 64, 135, 148, 224, 45, 183, 128],\n [22, 26, 17, 131, 240, 154, 14, 1, 209],\n [45, 16, 21, 91, 64, 222, 7, 1, 197],\n [56, 21, 39, 155, 60, 138, 23, 102, 213],\n [83, 12, 13, 54, 192, 255, 68, 47, 28],\n [85, 26, 85, 85, 128, 128, 32, 146, 171],\n [18, 11, 7, 63, 144, 171, 4, 4, 246],\n [35, 27, 10, 146, 174, 171, 12, 26, 128]\n ],\n [\n [190, 80, 35, 99, 180, 80, 126, 54, 45],\n [85, 126, 47, 87, 176, 51, 41, 20, 32],\n [101, 75, 128, 139, 118, 146, 116, 128, 85],\n [56, 41, 15, 176, 236, 85, 37, 9, 62],\n [71, 30, 17, 119, 118, 255, 17, 18, 138],\n [101, 38, 60, 138, 55, 70, 43, 26, 142],\n [146, 36, 19, 30, 171, 255, 97, 27, 20],\n [138, 45, 61, 62, 219, 1, 81, 188, 64],\n [32, 41, 20, 117, 151, 142, 20, 21, 163],\n [112, 19, 12, 61, 195, 128, 48, 4, 24]\n ]\n ],\n Ee = [\n [\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [176, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [223, 241, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 244, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [234, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 246, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [239, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 253, 255, 254, 255, 255, 255, 255, 255, 255],\n [250, 255, 254, 255, 254, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [225, 252, 241, 253, 255, 255, 254, 255, 255, 255, 255],\n [234, 250, 241, 250, 253, 255, 253, 254, 255, 255, 255]\n ],\n [\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [223, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [238, 253, 254, 254, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [247, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [186, 251, 250, 255, 255, 255, 255, 255, 255, 255, 255],\n [234, 251, 244, 254, 255, 255, 255, 255, 255, 255, 255],\n [251, 251, 243, 253, 254, 255, 254, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [236, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 253, 253, 254, 254, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 254, 252, 254, 255, 255, 255, 255, 255, 255, 255],\n [248, 254, 249, 253, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [246, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 254, 251, 254, 254, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [248, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 254, 254, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [245, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 251, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ]\n ],\n Ge = [0, 1, 2, 3, 6, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 0],\n Nc,\n Y = [],\n W = [],\n ka = [],\n Za,\n fd,\n Nb,\n pa,\n Ob,\n Xc,\n Tc,\n Yc,\n Uc,\n Zc,\n Vc,\n $c,\n Wc,\n Rc,\n Pc,\n Sc,\n Qc,\n re = 1,\n Cc = 2,\n ia = [],\n za,\n vc,\n fc,\n Fc,\n P = [];\n va(\"UpsampleRgbLinePair\", Ga, 3);\n va(\"UpsampleBgrLinePair\", Tb, 3);\n va(\"UpsampleRgbaLinePair\", wd, 4);\n va(\"UpsampleBgraLinePair\", vd, 4);\n va(\"UpsampleArgbLinePair\", ud, 4);\n va(\"UpsampleRgba4444LinePair\", td, 2);\n va(\"UpsampleRgb565LinePair\", sd, 2);\n var Mf = self.UpsampleRgbLinePair,\n Nf = self.UpsampleBgrLinePair,\n nd = self.UpsampleRgbaLinePair,\n od = self.UpsampleBgraLinePair,\n pd = self.UpsampleArgbLinePair,\n qd = self.UpsampleRgba4444LinePair,\n Of = self.UpsampleRgb565LinePair,\n Wa = 16,\n Ba = 1 << (Wa - 1),\n ta = -227,\n Eb = 482,\n rd = 6,\n Pf = (256 << rd) - 1,\n jc = 0,\n Yd = V(256),\n ae = V(256),\n $d = V(256),\n Zd = V(256),\n be = V(Eb - ta),\n ce = V(Eb - ta);\n la(\"YuvToRgbRow\", Ga, 3);\n la(\"YuvToBgrRow\", Tb, 3);\n la(\"YuvToRgbaRow\", wd, 4);\n la(\"YuvToBgraRow\", vd, 4);\n la(\"YuvToArgbRow\", ud, 4);\n la(\"YuvToRgba4444Row\", td, 2);\n la(\"YuvToRgb565Row\", sd, 2);\n var zd = [\n 0,\n 4,\n 8,\n 12,\n 128,\n 132,\n 136,\n 140,\n 256,\n 260,\n 264,\n 268,\n 384,\n 388,\n 392,\n 396\n ],\n Ya = [0, 2, 8],\n Qf = [8, 7, 6, 4, 4, 2, 2, 2, 1, 1, 1, 1],\n Ne = 1;\n this.WebPDecodeRGBA = function(a, b, c, d, e) {\n var f = Ua;\n var g = new Cf(),\n h = new Cb();\n g.ba = h;\n h.S = f;\n h.width = [h.width];\n h.height = [h.height];\n var k = h.width;\n var l = h.height,\n m = new Td();\n if (null == m || null == a) var n = 2;\n else\n x(null != m),\n (n = Ad(a, b, c, m.width, m.height, m.Pd, m.Qd, m.format, null));\n 0 != n\n ? (k = 0)\n : (null != k && (k[0] = m.width[0]),\n null != l && (l[0] = m.height[0]),\n (k = 1));\n if (k) {\n h.width = h.width[0];\n h.height = h.height[0];\n null != d && (d[0] = h.width);\n null != e && (e[0] = h.height);\n b: {\n d = new Oa();\n e = new md();\n e.data = a;\n e.w = b;\n e.ha = c;\n e.kd = 1;\n b = [0];\n x(null != e);\n a = Ad(e.data, e.w, e.ha, null, null, null, b, null, e);\n (0 == a || 7 == a) && b[0] && (a = 4);\n b = a;\n if (0 == b) {\n x(null != g);\n d.data = e.data;\n d.w = e.w + e.offset;\n d.ha = e.ha - e.offset;\n d.put = kc;\n d.ac = gc;\n d.bc = lc;\n d.ma = g;\n if (e.xa) {\n a = Bc();\n if (null == a) {\n g = 1;\n break b;\n }\n if (te(a, d)) {\n b = Cd(d.width, d.height, g.Oa, g.ba);\n if ((d = 0 == b)) {\n c: {\n d = a;\n d: for (;;) {\n if (null == d) {\n d = 0;\n break c;\n }\n x(null != d.s.yc);\n x(null != d.s.Ya);\n x(0 < d.s.Wb);\n c = d.l;\n x(null != c);\n e = c.ma;\n x(null != e);\n if (0 != d.xb) {\n d.ca = e.ba;\n d.tb = e.tb;\n x(null != d.ca);\n if (!hc(e.Oa, c, Va)) {\n d.a = 2;\n break d;\n }\n if (!Ec(d, c.width)) break d;\n if (c.da) break d;\n (c.da || hb(d.ca.S)) && Aa();\n 11 > d.ca.S ||\n (alert(\"todo:WebPInitConvertARGBToYUV\"),\n null != d.ca.f.kb.F && Aa());\n if (\n d.Pb &&\n 0 < d.s.ua &&\n null == d.s.vb.X &&\n !Zb(d.s.vb, d.s.Wa.Xa)\n ) {\n d.a = 1;\n break d;\n }\n d.xb = 0;\n }\n if (!Jb(d, d.V, d.Ba, d.c, d.i, c.o, ge)) break d;\n e.Dc = d.Ma;\n d = 1;\n break c;\n }\n x(0 != d.a);\n d = 0;\n }\n d = !d;\n }\n d && (b = a.a);\n } else b = a.a;\n } else {\n a = new Ce();\n if (null == a) {\n g = 1;\n break b;\n }\n a.Fa = e.na;\n a.P = e.P;\n a.qc = e.Sa;\n if (Kc(a, d)) {\n if (((b = Cd(d.width, d.height, g.Oa, g.ba)), 0 == b)) {\n a.Aa = 0;\n c = g.Oa;\n e = a;\n x(null != e);\n if (null != c) {\n k = c.Md;\n k = 0 > k ? 0 : 100 < k ? 255 : (255 * k) / 100;\n if (0 < k) {\n for (l = m = 0; 4 > l; ++l)\n (n = e.pb[l]),\n 12 > n.lc &&\n (n.ia = (k * Qf[0 > n.lc ? 0 : n.lc]) >> 3),\n (m |= n.ia);\n m && (alert(\"todo:VP8InitRandom\"), (e.ia = 1));\n }\n e.Ga = c.Id;\n 100 < e.Ga ? (e.Ga = 100) : 0 > e.Ga && (e.Ga = 0);\n }\n Me(a, d) || (b = a.a);\n }\n } else b = a.a;\n }\n 0 == b && null != g.Oa && g.Oa.fd && (b = Bd(g.ba));\n }\n g = b;\n }\n f = 0 != g ? null : 11 > f ? h.f.RGBA.eb : h.f.kb.y;\n } else f = null;\n return f;\n };\n var Dd = [3, 4, 3, 4, 4, 2, 2, 4, 4, 4, 2, 1, 1];\n };\n new _WebPDecoder();\n\n /** @license\n * Copyright (c) 2017 Dominik Homberger\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nhttps://webpjs.appspot.com\nWebPRiffParser dominikhlbg@gmail.com\n*/\n\n function memcmp(data, data_off, str, size) {\n for (var i = 0; i < size; i++)\n if (data[data_off + i] != str.charCodeAt(i)) return true;\n return false;\n }\n\n function GetTag(data, data_off) {\n var str = \"\";\n for (var i = 0; i < 4; i++) str += String.fromCharCode(data[data_off++]);\n return str;\n }\n\n function GetLE16(data, data_off) {\n return (data[data_off + 0] << 0) | (data[data_off + 1] << 8);\n }\n\n function GetLE24(data, data_off) {\n return (\n ((data[data_off + 0] << 0) |\n (data[data_off + 1] << 8) |\n (data[data_off + 2] << 16)) >>>\n 0\n );\n }\n\n function GetLE32(data, data_off) {\n return (\n ((data[data_off + 0] << 0) |\n (data[data_off + 1] << 8) |\n (data[data_off + 2] << 16) |\n (data[data_off + 3] << 24)) >>>\n 0\n );\n }\n\n function WebPRiffParser(src, src_off) {\n var imagearray = {};\n var i = 0;\n var alpha_chunk = false;\n var alpha_size = 0;\n var alpha_offset = 0;\n imagearray[\"frames\"] = [];\n if (memcmp(src, src_off, \"RIFF\", 4)) return;\n src_off += 4;\n var riff_size = GetLE32(src, src_off) + 8;\n src_off += 8;\n\n while (src_off < src.length) {\n var fourcc = GetTag(src, src_off);\n src_off += 4;\n\n var payload_size = GetLE32(src, src_off);\n src_off += 4;\n var payload_size_padded = payload_size + (payload_size & 1);\n\n switch (fourcc) {\n case \"VP8 \":\n case \"VP8L\":\n if (typeof imagearray[\"frames\"][i] === \"undefined\")\n imagearray[\"frames\"][i] = {};\n var obj = imagearray[\"frames\"][i];\n var height = [0];\n var width = [0];\n obj[\"src_off\"] = alpha_chunk ? alpha_offset : src_off - 8;\n obj[\"src_size\"] = alpha_size + payload_size + 8;\n //var rgba = webpdecoder.WebPDecodeRGBA(src,(alpha_chunk?alpha_offset:src_off-8),alpha_size+payload_size+8,width,height);\n //imagearray[i]={'rgba':rgba,'width':width[0],'height':height[0]};\n i++;\n if (alpha_chunk) {\n alpha_chunk = false;\n alpha_size = 0;\n alpha_offset = 0;\n }\n break;\n case \"VP8X\":\n var obj = (imagearray[\"header\"] = {});\n var feature_flags = (obj[\"feature_flags\"] = src[src_off]);\n var src_off_ = src_off + 4;\n var canvas_width = (obj[\"canvas_width\"] = 1 + GetLE24(src, src_off_));\n src_off_ += 3;\n var canvas_height = (obj[\"canvas_height\"] =\n 1 + GetLE24(src, src_off_));\n src_off_ += 3;\n break;\n case \"ALPH\":\n alpha_chunk = true;\n alpha_size = payload_size_padded + 8;\n alpha_offset = src_off - 8;\n break;\n\n case \"ANIM\":\n var obj = imagearray[\"header\"];\n var bgcolor = (obj[\"bgcolor\"] = GetLE32(src, src_off));\n src_off_ = src_off + 4;\n\n var loop_count = (obj[\"loop_count\"] = GetLE16(src, src_off_));\n src_off_ += 2;\n break;\n case \"ANMF\":\n var offset_x = 0,\n offset_y = 0,\n width = 0,\n height = 0,\n duration = 0,\n blend = 0,\n dispose = 0,\n temp = 0;\n var obj = (imagearray[\"frames\"][i] = {});\n obj[\"offset_x\"] = offset_x = 2 * GetLE24(src, src_off);\n src_off += 3;\n obj[\"offset_y\"] = offset_y = 2 * GetLE24(src, src_off);\n src_off += 3;\n obj[\"width\"] = width = 1 + GetLE24(src, src_off);\n src_off += 3;\n obj[\"height\"] = height = 1 + GetLE24(src, src_off);\n src_off += 3;\n obj[\"duration\"] = duration = GetLE24(src, src_off);\n src_off += 3;\n temp = src[src_off++];\n obj[\"dispose\"] = dispose = temp & 1;\n obj[\"blend\"] = blend = (temp >> 1) & 1;\n break;\n default:\n }\n if (fourcc != \"ANMF\") src_off += payload_size_padded;\n }\n return imagearray;\n }\n\n var height = [0];\n var width = [0];\n var pixels = [];\n var webpdecoder = new _WebPDecoder();\n\n var response = imageData;\n var imagearray = WebPRiffParser(response, 0);\n imagearray[\"response\"] = response;\n imagearray[\"rgbaoutput\"] = true;\n imagearray[\"dataurl\"] = false;\n\n var header = imagearray[\"header\"] ? imagearray[\"header\"] : null;\n var frames = imagearray[\"frames\"] ? imagearray[\"frames\"] : null;\n\n if (header) {\n header[\"loop_counter\"] = header[\"loop_count\"];\n height = [header[\"canvas_height\"]];\n width = [header[\"canvas_width\"]];\n\n var blend = false;\n for (var f = 0; f < frames.length; f++)\n if (frames[f][\"blend\"] == 0) {\n blend = true;\n break;\n }\n }\n\n var frame = frames[0];\n var rgba = webpdecoder.WebPDecodeRGBA(\n response,\n frame[\"src_off\"],\n frame[\"src_size\"],\n width,\n height\n );\n frame[\"rgba\"] = rgba;\n frame[\"imgwidth\"] = width[0];\n frame[\"imgheight\"] = height[0];\n\n for (var i = 0; i < width[0] * height[0] * 4; i++) {\n pixels[i] = rgba[i];\n }\n\n this.width = width;\n this.height = height;\n this.data = pixels;\n return this;\n}\n\nWebPDecoder.prototype.getData = function() {\n return this.data;\n};\n\nexport { WebPDecoder };\n","/**\n * @license\n *\n * Copyright (c) 2014 James Robb, https://github.com/jamesbrobb\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { zlibSync } from \"../libs/fflate.js\";\nimport { PNG } from \"../libs/png.js\";\n\n/**\n * jsPDF PNG PlugIn\n * @name png_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /*\n * @see http://www.w3.org/TR/PNG-Chunks.html\n *\n Color Allowed Interpretation\n Type Bit Depths\n\n 0 1,2,4,8,16 Each pixel is a grayscale sample.\n\n 2 8,16 Each pixel is an R,G,B triple.\n\n 3 1,2,4,8 Each pixel is a palette index;\n a PLTE chunk must appear.\n\n 4 8,16 Each pixel is a grayscale sample,\n followed by an alpha sample.\n\n 6 8,16 Each pixel is an R,G,B triple,\n followed by an alpha sample.\n */\n\n /*\n * PNG filter method types\n *\n * @see http://www.w3.org/TR/PNG-Filters.html\n * @see http://www.libpng.org/pub/png/book/chapter09.html\n *\n * This is what the value 'Predictor' in decode params relates to\n *\n * 15 is \"optimal prediction\", which means the prediction algorithm can change from line to line.\n * In that case, you actually have to read the first byte off each line for the prediction algorthim (which should be 0-4, corresponding to PDF 10-14) and select the appropriate unprediction algorithm based on that byte.\n *\n 0 None\n 1 Sub\n 2 Up\n 3 Average\n 4 Paeth\n */\n\n var canCompress = function(value) {\n return value !== jsPDFAPI.image_compression.NONE && hasCompressionJS();\n };\n\n var hasCompressionJS = function() {\n return typeof zlibSync === \"function\";\n };\n var compressBytes = function(bytes, lineLength, colorsPerPixel, compression) {\n var level = 4;\n var filter_method = filterUp;\n\n switch (compression) {\n case jsPDFAPI.image_compression.FAST:\n level = 1;\n filter_method = filterSub;\n break;\n\n case jsPDFAPI.image_compression.MEDIUM:\n level = 6;\n filter_method = filterAverage;\n break;\n\n case jsPDFAPI.image_compression.SLOW:\n level = 9;\n filter_method = filterPaeth;\n break;\n }\n\n bytes = applyPngFilterMethod(\n bytes,\n lineLength,\n colorsPerPixel,\n filter_method\n );\n var dat = zlibSync(bytes, { level: level });\n return jsPDFAPI.__addimage__.arrayBufferToBinaryString(dat);\n };\n\n var applyPngFilterMethod = function(\n bytes,\n lineLength,\n colorsPerPixel,\n filter_method\n ) {\n var lines = bytes.length / lineLength,\n result = new Uint8Array(bytes.length + lines),\n filter_methods = getFilterMethods(),\n line,\n prevLine,\n offset;\n\n for (var i = 0; i < lines; i += 1) {\n offset = i * lineLength;\n line = bytes.subarray(offset, offset + lineLength);\n\n if (filter_method) {\n result.set(filter_method(line, colorsPerPixel, prevLine), offset + i);\n } else {\n var len = filter_methods.length,\n results = [];\n\n for (var j; j < len; j += 1) {\n results[j] = filter_methods[j](line, colorsPerPixel, prevLine);\n }\n\n var ind = getIndexOfSmallestSum(results.concat());\n\n result.set(results[ind], offset + i);\n }\n\n prevLine = line;\n }\n\n return result;\n };\n\n var filterNone = function(line) {\n /*var result = new Uint8Array(line.length + 1);\n result[0] = 0;\n result.set(line, 1);*/\n\n var result = Array.apply([], line);\n result.unshift(0);\n\n return result;\n };\n\n var filterSub = function(line, colorsPerPixel) {\n var result = [],\n len = line.length,\n left;\n\n result[0] = 1;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n result[i + 1] = (line[i] - left + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var filterUp = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n up;\n\n result[0] = 2;\n\n for (var i = 0; i < len; i += 1) {\n up = (prevLine && prevLine[i]) || 0;\n result[i + 1] = (line[i] - up + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var filterAverage = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n left,\n up;\n\n result[0] = 3;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n up = (prevLine && prevLine[i]) || 0;\n result[i + 1] = (line[i] + 0x0100 - ((left + up) >>> 1)) & 0xff;\n }\n\n return result;\n };\n\n var filterPaeth = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n left,\n up,\n upLeft,\n paeth;\n\n result[0] = 4;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n up = (prevLine && prevLine[i]) || 0;\n upLeft = (prevLine && prevLine[i - colorsPerPixel]) || 0;\n paeth = paethPredictor(left, up, upLeft);\n result[i + 1] = (line[i] - paeth + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var paethPredictor = function(left, up, upLeft) {\n if (left === up && up === upLeft) {\n return left;\n }\n var pLeft = Math.abs(up - upLeft),\n pUp = Math.abs(left - upLeft),\n pUpLeft = Math.abs(left + up - upLeft - upLeft);\n return pLeft <= pUp && pLeft <= pUpLeft\n ? left\n : pUp <= pUpLeft\n ? up\n : upLeft;\n };\n\n var getFilterMethods = function() {\n return [filterNone, filterSub, filterUp, filterAverage, filterPaeth];\n };\n\n var getIndexOfSmallestSum = function(arrays) {\n var sum = arrays.map(function(value) {\n return value.reduce(function(pv, cv) {\n return pv + Math.abs(cv);\n }, 0);\n });\n return sum.indexOf(Math.min.apply(null, sum));\n };\n\n var getPredictorFromCompression = function(compression) {\n var predictor;\n switch (compression) {\n case jsPDFAPI.image_compression.FAST:\n predictor = 11;\n break;\n\n case jsPDFAPI.image_compression.MEDIUM:\n predictor = 13;\n break;\n\n case jsPDFAPI.image_compression.SLOW:\n predictor = 14;\n break;\n\n default:\n predictor = 12;\n break;\n }\n return predictor;\n };\n\n /**\n * @name processPNG\n * @function\n * @ignore\n */\n jsPDFAPI.processPNG = function(imageData, index, alias, compression) {\n \"use strict\";\n\n var colorSpace,\n filter = this.decode.FLATE_DECODE,\n bitsPerComponent,\n image,\n decodeParameters = \"\",\n trns,\n colors,\n pal,\n smask,\n pixels,\n len,\n alphaData,\n imgData,\n hasColors,\n pixel,\n i,\n n;\n\n if (this.__addimage__.isArrayBuffer(imageData))\n imageData = new Uint8Array(imageData);\n\n if (this.__addimage__.isArrayBufferView(imageData)) {\n image = new PNG(imageData);\n imageData = image.imgData;\n bitsPerComponent = image.bits;\n colorSpace = image.colorSpace;\n colors = image.colors;\n\n /*\n * colorType 6 - Each pixel is an R,G,B triple, followed by an alpha sample.\n *\n * colorType 4 - Each pixel is a grayscale sample, followed by an alpha sample.\n *\n * Extract alpha to create two separate images, using the alpha as a sMask\n */\n if ([4, 6].indexOf(image.colorType) !== -1) {\n /*\n * processes 8 bit RGBA and grayscale + alpha images\n */\n if (image.bits === 8) {\n pixels =\n image.pixelBitlength == 32\n ? new Uint32Array(image.decodePixels().buffer)\n : image.pixelBitlength == 16\n ? new Uint16Array(image.decodePixels().buffer)\n : new Uint8Array(image.decodePixels().buffer);\n len = pixels.length;\n imgData = new Uint8Array(len * image.colors);\n alphaData = new Uint8Array(len);\n var pDiff = image.pixelBitlength - image.bits;\n i = 0;\n n = 0;\n var pbl;\n\n for (; i < len; i++) {\n pixel = pixels[i];\n pbl = 0;\n\n while (pbl < pDiff) {\n imgData[n++] = (pixel >>> pbl) & 0xff;\n pbl = pbl + image.bits;\n }\n\n alphaData[i] = (pixel >>> pbl) & 0xff;\n }\n }\n\n /*\n * processes 16 bit RGBA and grayscale + alpha images\n */\n if (image.bits === 16) {\n pixels = new Uint32Array(image.decodePixels().buffer);\n len = pixels.length;\n imgData = new Uint8Array(\n len * (32 / image.pixelBitlength) * image.colors\n );\n alphaData = new Uint8Array(len * (32 / image.pixelBitlength));\n hasColors = image.colors > 1;\n i = 0;\n n = 0;\n var a = 0;\n\n while (i < len) {\n pixel = pixels[i++];\n\n imgData[n++] = (pixel >>> 0) & 0xff;\n\n if (hasColors) {\n imgData[n++] = (pixel >>> 16) & 0xff;\n\n pixel = pixels[i++];\n imgData[n++] = (pixel >>> 0) & 0xff;\n }\n\n alphaData[a++] = (pixel >>> 16) & 0xff;\n }\n bitsPerComponent = 8;\n }\n\n if (canCompress(compression)) {\n imageData = compressBytes(\n imgData,\n image.width * image.colors,\n image.colors,\n compression\n );\n smask = compressBytes(alphaData, image.width, 1, compression);\n } else {\n imageData = imgData;\n smask = alphaData;\n filter = undefined;\n }\n }\n\n /*\n * Indexed png. Each pixel is a palette index.\n */\n if (image.colorType === 3) {\n colorSpace = this.color_spaces.INDEXED;\n pal = image.palette;\n\n if (image.transparency.indexed) {\n var trans = image.transparency.indexed;\n var total = 0;\n i = 0;\n len = trans.length;\n\n for (; i < len; ++i) {\n total += trans[i];\n }\n\n total = total / 255;\n\n /*\n * a single color is specified as 100% transparent (0),\n * so we set trns to use a /Mask with that index\n */\n if (total === len - 1 && trans.indexOf(0) !== -1) {\n trns = [trans.indexOf(0)];\n\n /*\n * there's more than one colour within the palette that specifies\n * a transparency value less than 255, so we unroll the pixels to create an image sMask\n */\n } else if (total !== len) {\n pixels = image.decodePixels();\n alphaData = new Uint8Array(pixels.length);\n i = 0;\n len = pixels.length;\n\n for (; i < len; i++) {\n alphaData[i] = trans[pixels[i]];\n }\n\n smask = compressBytes(alphaData, image.width, 1);\n }\n }\n }\n\n var predictor = getPredictorFromCompression(compression);\n\n if (filter === this.decode.FLATE_DECODE) {\n decodeParameters = \"/Predictor \" + predictor + \" \";\n }\n decodeParameters +=\n \"/Colors \" +\n colors +\n \" /BitsPerComponent \" +\n bitsPerComponent +\n \" /Columns \" +\n image.width;\n\n if (\n this.__addimage__.isArrayBuffer(imageData) ||\n this.__addimage__.isArrayBufferView(imageData)\n ) {\n imageData = this.__addimage__.arrayBufferToBinaryString(imageData);\n }\n\n if (\n (smask && this.__addimage__.isArrayBuffer(smask)) ||\n this.__addimage__.isArrayBufferView(smask)\n ) {\n smask = this.__addimage__.arrayBufferToBinaryString(smask);\n }\n\n return {\n alias: alias,\n data: imageData,\n index: index,\n filter: filter,\n decodeParameters: decodeParameters,\n transparency: trns,\n palette: pal,\n sMask: smask,\n predictor: predictor,\n width: image.width,\n height: image.height,\n bitsPerComponent: bitsPerComponent,\n colorSpace: colorSpace\n };\n }\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2017 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { GifReader } from \"../libs/omggif.js\";\nimport { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\n\n/**\n * jsPDF Gif Support PlugIn\n *\n * @name gif_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processGIF89A = function(imageData, index, alias, compression) {\n var reader = new GifReader(imageData);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = [];\n\n reader.decodeAndBlitFrameRGBA(0, pixels);\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n\n jsPDFAPI.processGIF87A = jsPDFAPI.processGIF89A;\n})(jsPDF.API);\n","import { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\nimport { BmpDecoder } from \"../libs/BMPDecoder.js\";\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @license\n * Copyright (c) 2018 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\n/**\n * jsPDF bmp Support PlugIn\n * @name bmp_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processBMP = function(imageData, index, alias, compression) {\n var reader = new BmpDecoder(imageData, false);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = reader.getData();\n\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2019 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\nimport { WebPDecoder } from \"../libs/WebPDecoder.js\";\n\n/**\n * jsPDF webp Support PlugIn\n *\n * @name webp_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processWEBP = function(imageData, index, alias, compression) {\n var reader = new WebPDecoder(imageData, false);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = reader.getData();\n\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n})(jsPDF.API);\n","/**\n * @license\n *\n * Copyright (c) 2021 Antti Palola, https://github.com/Pantura\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF RGBA array PlugIn\n * @name rgba_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * @name processRGBA\n * @function\n *\n * Process RGBA Array. This is a one-dimension array with pixel data [red, green, blue, alpha, red, green, ...].\n * RGBA array data can be obtained from DOM canvas getImageData.\n * @ignore\n */\n jsPDFAPI.processRGBA = function(imageData, index, alias) {\n \"use strict\";\n\n var imagePixels = imageData.data;\n var length = imagePixels.length;\n // jsPDF takes alpha data separately so extract that.\n var rgbOut = new Uint8Array((length / 4) * 3);\n var alphaOut = new Uint8Array(length / 4);\n var outIndex = 0;\n var alphaIndex = 0;\n\n for (var i = 0; i < length; i += 4) {\n var r = imagePixels[i];\n var g = imagePixels[i + 1];\n var b = imagePixels[i + 2];\n var alpha = imagePixels[i + 3];\n rgbOut[outIndex++] = r;\n rgbOut[outIndex++] = g;\n rgbOut[outIndex++] = b;\n alphaOut[alphaIndex++] = alpha;\n }\n\n var rgbData = this.__addimage__.arrayBufferToBinaryString(rgbOut);\n var alphaData = this.__addimage__.arrayBufferToBinaryString(alphaOut);\n\n return {\n alpha: alphaData,\n data: rgbData,\n index: index,\n alias: alias,\n colorSpace: \"DeviceRGB\",\n bitsPerComponent: 8,\n width: imageData.width,\n height: imageData.height\n };\n };\n})(jsPDF.API);\n","/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF setLanguage Plugin\n *\n * @name setLanguage\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * Add Language Tag to the generated PDF\n *\n * @name setLanguage\n * @function\n * @param {string} langCode The Language code as ISO-639-1 (e.g. 'en') or as country language code (e.g. 'en-GB').\n * @returns {jsPDF}\n * @example\n * var doc = new jsPDF()\n * doc.text(10, 10, 'This is a test')\n * doc.setLanguage(\"en-US\")\n * doc.save('english.pdf')\n */\n jsPDFAPI.setLanguage = function(langCode) {\n \"use strict\";\n\n var langCodes = {\n af: \"Afrikaans\",\n sq: \"Albanian\",\n ar: \"Arabic (Standard)\",\n \"ar-DZ\": \"Arabic (Algeria)\",\n \"ar-BH\": \"Arabic (Bahrain)\",\n \"ar-EG\": \"Arabic (Egypt)\",\n \"ar-IQ\": \"Arabic (Iraq)\",\n \"ar-JO\": \"Arabic (Jordan)\",\n \"ar-KW\": \"Arabic (Kuwait)\",\n \"ar-LB\": \"Arabic (Lebanon)\",\n \"ar-LY\": \"Arabic (Libya)\",\n \"ar-MA\": \"Arabic (Morocco)\",\n \"ar-OM\": \"Arabic (Oman)\",\n \"ar-QA\": \"Arabic (Qatar)\",\n \"ar-SA\": \"Arabic (Saudi Arabia)\",\n \"ar-SY\": \"Arabic (Syria)\",\n \"ar-TN\": \"Arabic (Tunisia)\",\n \"ar-AE\": \"Arabic (U.A.E.)\",\n \"ar-YE\": \"Arabic (Yemen)\",\n an: \"Aragonese\",\n hy: \"Armenian\",\n as: \"Assamese\",\n ast: \"Asturian\",\n az: \"Azerbaijani\",\n eu: \"Basque\",\n be: \"Belarusian\",\n bn: \"Bengali\",\n bs: \"Bosnian\",\n br: \"Breton\",\n bg: \"Bulgarian\",\n my: \"Burmese\",\n ca: \"Catalan\",\n ch: \"Chamorro\",\n ce: \"Chechen\",\n zh: \"Chinese\",\n \"zh-HK\": \"Chinese (Hong Kong)\",\n \"zh-CN\": \"Chinese (PRC)\",\n \"zh-SG\": \"Chinese (Singapore)\",\n \"zh-TW\": \"Chinese (Taiwan)\",\n cv: \"Chuvash\",\n co: \"Corsican\",\n cr: \"Cree\",\n hr: \"Croatian\",\n cs: \"Czech\",\n da: \"Danish\",\n nl: \"Dutch (Standard)\",\n \"nl-BE\": \"Dutch (Belgian)\",\n en: \"English\",\n \"en-AU\": \"English (Australia)\",\n \"en-BZ\": \"English (Belize)\",\n \"en-CA\": \"English (Canada)\",\n \"en-IE\": \"English (Ireland)\",\n \"en-JM\": \"English (Jamaica)\",\n \"en-NZ\": \"English (New Zealand)\",\n \"en-PH\": \"English (Philippines)\",\n \"en-ZA\": \"English (South Africa)\",\n \"en-TT\": \"English (Trinidad & Tobago)\",\n \"en-GB\": \"English (United Kingdom)\",\n \"en-US\": \"English (United States)\",\n \"en-ZW\": \"English (Zimbabwe)\",\n eo: \"Esperanto\",\n et: \"Estonian\",\n fo: \"Faeroese\",\n fj: \"Fijian\",\n fi: \"Finnish\",\n fr: \"French (Standard)\",\n \"fr-BE\": \"French (Belgium)\",\n \"fr-CA\": \"French (Canada)\",\n \"fr-FR\": \"French (France)\",\n \"fr-LU\": \"French (Luxembourg)\",\n \"fr-MC\": \"French (Monaco)\",\n \"fr-CH\": \"French (Switzerland)\",\n fy: \"Frisian\",\n fur: \"Friulian\",\n gd: \"Gaelic (Scots)\",\n \"gd-IE\": \"Gaelic (Irish)\",\n gl: \"Galacian\",\n ka: \"Georgian\",\n de: \"German (Standard)\",\n \"de-AT\": \"German (Austria)\",\n \"de-DE\": \"German (Germany)\",\n \"de-LI\": \"German (Liechtenstein)\",\n \"de-LU\": \"German (Luxembourg)\",\n \"de-CH\": \"German (Switzerland)\",\n el: \"Greek\",\n gu: \"Gujurati\",\n ht: \"Haitian\",\n he: \"Hebrew\",\n hi: \"Hindi\",\n hu: \"Hungarian\",\n is: \"Icelandic\",\n id: \"Indonesian\",\n iu: \"Inuktitut\",\n ga: \"Irish\",\n it: \"Italian (Standard)\",\n \"it-CH\": \"Italian (Switzerland)\",\n ja: \"Japanese\",\n kn: \"Kannada\",\n ks: \"Kashmiri\",\n kk: \"Kazakh\",\n km: \"Khmer\",\n ky: \"Kirghiz\",\n tlh: \"Klingon\",\n ko: \"Korean\",\n \"ko-KP\": \"Korean (North Korea)\",\n \"ko-KR\": \"Korean (South Korea)\",\n la: \"Latin\",\n lv: \"Latvian\",\n lt: \"Lithuanian\",\n lb: \"Luxembourgish\",\n mk: \"North Macedonia\",\n ms: \"Malay\",\n ml: \"Malayalam\",\n mt: \"Maltese\",\n mi: \"Maori\",\n mr: \"Marathi\",\n mo: \"Moldavian\",\n nv: \"Navajo\",\n ng: \"Ndonga\",\n ne: \"Nepali\",\n no: \"Norwegian\",\n nb: \"Norwegian (Bokmal)\",\n nn: \"Norwegian (Nynorsk)\",\n oc: \"Occitan\",\n or: \"Oriya\",\n om: \"Oromo\",\n fa: \"Persian\",\n \"fa-IR\": \"Persian/Iran\",\n pl: \"Polish\",\n pt: \"Portuguese\",\n \"pt-BR\": \"Portuguese (Brazil)\",\n pa: \"Punjabi\",\n \"pa-IN\": \"Punjabi (India)\",\n \"pa-PK\": \"Punjabi (Pakistan)\",\n qu: \"Quechua\",\n rm: \"Rhaeto-Romanic\",\n ro: \"Romanian\",\n \"ro-MO\": \"Romanian (Moldavia)\",\n ru: \"Russian\",\n \"ru-MO\": \"Russian (Moldavia)\",\n sz: \"Sami (Lappish)\",\n sg: \"Sango\",\n sa: \"Sanskrit\",\n sc: \"Sardinian\",\n sd: \"Sindhi\",\n si: \"Singhalese\",\n sr: \"Serbian\",\n sk: \"Slovak\",\n sl: \"Slovenian\",\n so: \"Somani\",\n sb: \"Sorbian\",\n es: \"Spanish\",\n \"es-AR\": \"Spanish (Argentina)\",\n \"es-BO\": \"Spanish (Bolivia)\",\n \"es-CL\": \"Spanish (Chile)\",\n \"es-CO\": \"Spanish (Colombia)\",\n \"es-CR\": \"Spanish (Costa Rica)\",\n \"es-DO\": \"Spanish (Dominican Republic)\",\n \"es-EC\": \"Spanish (Ecuador)\",\n \"es-SV\": \"Spanish (El Salvador)\",\n \"es-GT\": \"Spanish (Guatemala)\",\n \"es-HN\": \"Spanish (Honduras)\",\n \"es-MX\": \"Spanish (Mexico)\",\n \"es-NI\": \"Spanish (Nicaragua)\",\n \"es-PA\": \"Spanish (Panama)\",\n \"es-PY\": \"Spanish (Paraguay)\",\n \"es-PE\": \"Spanish (Peru)\",\n \"es-PR\": \"Spanish (Puerto Rico)\",\n \"es-ES\": \"Spanish (Spain)\",\n \"es-UY\": \"Spanish (Uruguay)\",\n \"es-VE\": \"Spanish (Venezuela)\",\n sx: \"Sutu\",\n sw: \"Swahili\",\n sv: \"Swedish\",\n \"sv-FI\": \"Swedish (Finland)\",\n \"sv-SV\": \"Swedish (Sweden)\",\n ta: \"Tamil\",\n tt: \"Tatar\",\n te: \"Teluga\",\n th: \"Thai\",\n tig: \"Tigre\",\n ts: \"Tsonga\",\n tn: \"Tswana\",\n tr: \"Turkish\",\n tk: \"Turkmen\",\n uk: \"Ukrainian\",\n hsb: \"Upper Sorbian\",\n ur: \"Urdu\",\n ve: \"Venda\",\n vi: \"Vietnamese\",\n vo: \"Volapuk\",\n wa: \"Walloon\",\n cy: \"Welsh\",\n xh: \"Xhosa\",\n ji: \"Yiddish\",\n zu: \"Zulu\"\n };\n\n if (this.internal.languageSettings === undefined) {\n this.internal.languageSettings = {};\n this.internal.languageSettings.isSubscribed = false;\n }\n\n if (langCodes[langCode] !== undefined) {\n this.internal.languageSettings.languageCode = langCode;\n if (this.internal.languageSettings.isSubscribed === false) {\n this.internal.events.subscribe(\"putCatalog\", function() {\n this.internal.write(\n \"/Lang (\" + this.internal.languageSettings.languageCode + \")\"\n );\n });\n this.internal.languageSettings.isSubscribed = true;\n }\n }\n return this;\n };\n})(jsPDF.API);\n","/** @license\n jsPDF standard_fonts_metrics plugin\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n * MIT license.\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n * \n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * This file adds the standard font metrics to jsPDF.\n *\n * Font metrics data is reprocessed derivative of contents of\n * \"Font Metrics for PDF Core 14 Fonts\" package, which exhibits the following copyright and license:\n *\n * Copyright (c) 1989, 1990, 1991, 1992, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.\n *\n * This file and the 14 PostScript(R) AFM files it accompanies may be used,\n * copied, and distributed for any purpose and without charge, with or without\n * modification, provided that all copyright notices are retained; that the AFM\n * files are not distributed without this file; that all modifications to this\n * file or any of the AFM files are prominently noted in the modified file(s);\n * and that this paragraph is not modified. Adobe Systems has no responsibility\n * or obligation to support the use of the AFM files.\n *\n * @name standard_fonts_metrics\n * @module\n */\n\n(function(API) {\n \"use strict\";\n API.__fontmetrics__ = API.__fontmetrics__ || {};\n\n var decoded = \"0123456789abcdef\",\n encoded = \"klmnopqrstuvwxyz\",\n mappingUncompress = {},\n mappingCompress = {};\n\n for (var i = 0; i < encoded.length; i++) {\n mappingUncompress[encoded[i]] = decoded[i];\n mappingCompress[decoded[i]] = encoded[i];\n }\n\n var hex = function(value) {\n return \"0x\" + parseInt(value, 10).toString(16);\n };\n\n var compress = (API.__fontmetrics__.compress = function(data) {\n var vals = [\"{\"];\n var value, keystring, valuestring, numberprefix;\n\n for (var key in data) {\n value = data[key];\n\n if (!isNaN(parseInt(key, 10))) {\n key = parseInt(key, 10);\n keystring = hex(key).slice(2);\n keystring =\n keystring.slice(0, -1) + mappingCompress[keystring.slice(-1)];\n } else {\n keystring = \"'\" + key + \"'\";\n }\n\n if (typeof value == \"number\") {\n if (value < 0) {\n valuestring = hex(value).slice(3);\n numberprefix = \"-\";\n } else {\n valuestring = hex(value).slice(2);\n numberprefix = \"\";\n }\n valuestring =\n numberprefix +\n valuestring.slice(0, -1) +\n mappingCompress[valuestring.slice(-1)];\n } else {\n if (typeof value === \"object\") {\n valuestring = compress(value);\n } else {\n throw new Error(\n \"Don't know what to do with value type \" + typeof value + \".\"\n );\n }\n }\n vals.push(keystring + valuestring);\n }\n vals.push(\"}\");\n return vals.join(\"\");\n });\n\n /**\n * Uncompresses data compressed into custom, base16-like format.\n *\n * @public\n * @function\n * @param\n * @returns {Type}\n */\n var uncompress = (API.__fontmetrics__.uncompress = function(data) {\n if (typeof data !== \"string\") {\n throw new Error(\"Invalid argument passed to uncompress.\");\n }\n\n var output = {},\n sign = 1,\n stringparts, // undef. will be [] in string mode\n activeobject = output,\n parentchain = [],\n parent_key_pair,\n keyparts = \"\",\n valueparts = \"\",\n key, // undef. will be Truthy when Key is resolved.\n datalen = data.length - 1, // stripping ending }\n ch;\n\n for (var i = 1; i < datalen; i += 1) {\n // - { } ' are special.\n\n ch = data[i];\n\n if (ch == \"'\") {\n if (stringparts) {\n // end of string mode\n key = stringparts.join(\"\");\n stringparts = undefined;\n } else {\n // start of string mode\n stringparts = [];\n }\n } else if (stringparts) {\n stringparts.push(ch);\n } else if (ch == \"{\") {\n // start of object\n parentchain.push([activeobject, key]);\n activeobject = {};\n key = undefined;\n } else if (ch == \"}\") {\n // end of object\n parent_key_pair = parentchain.pop();\n parent_key_pair[0][parent_key_pair[1]] = activeobject;\n key = undefined;\n activeobject = parent_key_pair[0];\n } else if (ch == \"-\") {\n sign = -1;\n } else {\n // must be number\n if (key === undefined) {\n if (mappingUncompress.hasOwnProperty(ch)) {\n keyparts += mappingUncompress[ch];\n key = parseInt(keyparts, 16) * sign;\n sign = +1;\n keyparts = \"\";\n } else {\n keyparts += ch;\n }\n } else {\n if (mappingUncompress.hasOwnProperty(ch)) {\n valueparts += mappingUncompress[ch];\n activeobject[key] = parseInt(valueparts, 16) * sign;\n sign = +1;\n key = undefined;\n valueparts = \"\";\n } else {\n valueparts += ch;\n }\n }\n }\n }\n return output;\n });\n\n // encoding = 'Unicode'\n // NOT UTF8, NOT UTF16BE/LE, NOT UCS2BE/LE. NO clever BOM behavior\n // Actual 16bit char codes used.\n // no multi-byte logic here\n\n // Unicode characters to WinAnsiEncoding:\n // {402: 131, 8211: 150, 8212: 151, 8216: 145, 8217: 146, 8218: 130, 8220: 147, 8221: 148, 8222: 132, 8224: 134, 8225: 135, 8226: 149, 8230: 133, 8364: 128, 8240:137, 8249: 139, 8250: 155, 710: 136, 8482: 153, 338: 140, 339: 156, 732: 152, 352: 138, 353: 154, 376: 159, 381: 142, 382: 158}\n // as you can see, all Unicode chars are outside of 0-255 range. No char code conflicts.\n // this means that you can give Win cp1252 encoded strings to jsPDF for rendering directly\n // as well as give strings with some (supported by these fonts) Unicode characters and\n // these will be mapped to win cp1252\n // for example, you can send char code (cp1252) 0x80 or (unicode) 0x20AC, getting \"Euro\" glyph displayed in both cases.\n\n var encodingBlock = {\n codePages: [\"WinAnsiEncoding\"],\n WinAnsiEncoding: uncompress(\n \"{19m8n201n9q201o9r201s9l201t9m201u8m201w9n201x9o201y8o202k8q202l8r202m9p202q8p20aw8k203k8t203t8v203u9v2cq8s212m9t15m8w15n9w2dw9s16k8u16l9u17s9z17x8y17y9y}\"\n )\n };\n var encodings = {\n Unicode: {\n Courier: encodingBlock,\n \"Courier-Bold\": encodingBlock,\n \"Courier-BoldOblique\": encodingBlock,\n \"Courier-Oblique\": encodingBlock,\n Helvetica: encodingBlock,\n \"Helvetica-Bold\": encodingBlock,\n \"Helvetica-BoldOblique\": encodingBlock,\n \"Helvetica-Oblique\": encodingBlock,\n \"Times-Roman\": encodingBlock,\n \"Times-Bold\": encodingBlock,\n \"Times-BoldItalic\": encodingBlock,\n \"Times-Italic\": encodingBlock\n //\t, 'Symbol'\n //\t, 'ZapfDingbats'\n }\n };\n\n var fontMetrics = {\n Unicode: {\n // all sizing numbers are n/fontMetricsFractionOf = one font size unit\n // this means that if fontMetricsFractionOf = 1000, and letter A's width is 476, it's\n // width is 476/1000 or 47.6% of its height (regardless of font size)\n // At this time this value applies to \"widths\" and \"kerning\" numbers.\n\n // char code 0 represents \"default\" (average) width - use it for chars missing in this table.\n // key 'fof' represents the \"fontMetricsFractionOf\" value\n\n \"Courier-Oblique\": uncompress(\n \"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"\n ),\n \"Times-BoldItalic\": uncompress(\n \"{'widths'{k3o2q4ycx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2r202m2n2n3m2o3m2p5n202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5n4l4m4m4m4n4m4o4s4p4m4q4m4r4s4s4y4t2r4u3m4v4m4w3x4x5t4y4s4z4s5k3x5l4s5m4m5n3r5o3x5p4s5q4m5r5t5s4m5t3x5u3x5v2l5w1w5x2l5y3t5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q2l6r3m6s3r6t1w6u1w6v3m6w1w6x4y6y3r6z3m7k3m7l3m7m2r7n2r7o1w7p3r7q2w7r4m7s3m7t2w7u2r7v2n7w1q7x2n7y3t202l3mcl4mal2ram3man3mao3map3mar3mas2lat4uau1uav3maw3way4uaz2lbk2sbl3t'fof'6obo2lbp3tbq3mbr1tbs2lbu1ybv3mbz3mck4m202k3mcm4mcn4mco4mcp4mcq5ycr4mcs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz2w203k6o212m6o2dw2l2cq2l3t3m3u2l17s3x19m3m}'kerning'{cl{4qu5kt5qt5rs17ss5ts}201s{201ss}201t{cks4lscmscnscoscpscls2wu2yu201ts}201x{2wu2yu}2k{201ts}2w{4qx5kx5ou5qx5rs17su5tu}2x{17su5tu5ou}2y{4qx5kx5ou5qx5rs17ss5ts}'fof'-6ofn{17sw5tw5ou5qw5rs}7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qs}3v{17su5tu5os5qs}7p{17su5tu}ck{4qu5kt5qt5rs17ss5ts}4l{4qu5kt5qt5rs17ss5ts}cm{4qu5kt5qt5rs17ss5ts}cn{4qu5kt5qt5rs17ss5ts}co{4qu5kt5qt5rs17ss5ts}cp{4qu5kt5qt5rs17ss5ts}6l{4qu5ou5qw5rt17su5tu}5q{ckuclucmucnucoucpu4lu}5r{ckuclucmucnucoucpu4lu}7q{cksclscmscnscoscps4ls}6p{4qu5ou5qw5rt17sw5tw}ek{4qu5ou5qw5rt17su5tu}el{4qu5ou5qw5rt17su5tu}em{4qu5ou5qw5rt17su5tu}en{4qu5ou5qw5rt17su5tu}eo{4qu5ou5qw5rt17su5tu}ep{4qu5ou5qw5rt17su5tu}es{17ss5ts5qs4qu}et{4qu5ou5qw5rt17sw5tw}eu{4qu5ou5qw5rt17ss5ts}ev{17ss5ts5qs4qu}6z{17sw5tw5ou5qw5rs}fm{17sw5tw5ou5qw5rs}7n{201ts}fo{17sw5tw5ou5qw5rs}fp{17sw5tw5ou5qw5rs}fq{17sw5tw5ou5qw5rs}7r{cksclscmscnscoscps4ls}fs{17sw5tw5ou5qw5rs}ft{17su5tu}fu{17su5tu}fv{17su5tu}fw{17su5tu}fz{cksclscmscnscoscps4ls}}}\"\n ),\n \"Helvetica-Bold\": uncompress(\n \"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"\n ),\n Courier: uncompress(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Courier-BoldOblique\": uncompress(\n \"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"\n ),\n \"Times-Bold\": uncompress(\n \"{'widths'{k3q2q5ncx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2l202m2n2n3m2o3m2p6o202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5x4l4s4m4m4n4s4o4s4p4m4q3x4r4y4s4y4t2r4u3m4v4y4w4m4x5y4y4s4z4y5k3x5l4y5m4s5n3r5o4m5p4s5q4s5r6o5s4s5t4s5u4m5v2l5w1w5x2l5y3u5z3m6k2l6l3m6m3r6n2w6o3r6p2w6q2l6r3m6s3r6t1w6u2l6v3r6w1w6x5n6y3r6z3m7k3r7l3r7m2w7n2r7o2l7p3r7q3m7r4s7s3m7t3m7u2w7v2r7w1q7x2r7y3o202l3mcl4sal2lam3man3mao3map3mar3mas2lat4uau1yav3maw3tay4uaz2lbk2sbl3t'fof'6obo2lbp3rbr1tbs2lbu2lbv3mbz3mck4s202k3mcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3rek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3m3u2l17s4s19m3m}'kerning'{cl{4qt5ks5ot5qy5rw17sv5tv}201t{cks4lscmscnscoscpscls4wv}2k{201ts}2w{4qu5ku7mu5os5qx5ru17su5tu}2x{17su5tu5ou5qs}2y{4qv5kv7mu5ot5qz5ru17su5tu}'fof'-6o7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qu}3v{17su5tu5os5qu}fu{17su5tu5ou5qu}7p{17su5tu5ou5qu}ck{4qt5ks5ot5qy5rw17sv5tv}4l{4qt5ks5ot5qy5rw17sv5tv}cm{4qt5ks5ot5qy5rw17sv5tv}cn{4qt5ks5ot5qy5rw17sv5tv}co{4qt5ks5ot5qy5rw17sv5tv}cp{4qt5ks5ot5qy5rw17sv5tv}6l{17st5tt5ou5qu}17s{ckuclucmucnucoucpu4lu4wu}5o{ckuclucmucnucoucpu4lu4wu}5q{ckzclzcmzcnzcozcpz4lz4wu}5r{ckxclxcmxcnxcoxcpx4lx4wu}5t{ckuclucmucnucoucpu4lu4wu}7q{ckuclucmucnucoucpu4lu}6p{17sw5tw5ou5qu}ek{17st5tt5qu}el{17st5tt5ou5qu}em{17st5tt5qu}en{17st5tt5qu}eo{17st5tt5qu}ep{17st5tt5ou5qu}es{17ss5ts5qu}et{17sw5tw5ou5qu}eu{17sw5tw5ou5qu}ev{17ss5ts5qu}6z{17sw5tw5ou5qu5rs}fm{17sw5tw5ou5qu5rs}fn{17sw5tw5ou5qu5rs}fo{17sw5tw5ou5qu5rs}fp{17sw5tw5ou5qu5rs}fq{17sw5tw5ou5qu5rs}7r{cktcltcmtcntcotcpt4lt5os}fs{17sw5tw5ou5qu5rs}ft{17su5tu5ou5qu}7m{5os}fv{17su5tu5ou5qu}fw{17su5tu5ou5qu}fz{cksclscmscnscoscps4ls}}}\"\n ),\n Symbol: uncompress(\n \"{'widths'{k3uaw4r19m3m2k1t2l2l202m2y2n3m2p5n202q6o3k3m2s2l2t2l2v3r2w1t3m3m2y1t2z1wbk2sbl3r'fof'6o3n3m3o3m3p3m3q3m3r3m3s3m3t3m3u1w3v1w3w3r3x3r3y3r3z2wbp3t3l3m5v2l5x2l5z3m2q4yfr3r7v3k7w1o7x3k}'kerning'{'fof'-6o}}\"\n ),\n Helvetica: uncompress(\n \"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\"\n ),\n \"Helvetica-BoldOblique\": uncompress(\n \"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"\n ),\n ZapfDingbats: uncompress(\"{'widths'{k4u2k1w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Courier-Bold\": uncompress(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Times-Italic\": uncompress(\n \"{'widths'{k3n2q4ycx2l201n3m201o5t201s2l201t2l201u2l201w3r201x3r201y3r2k1t2l2l202m2n2n3m2o3m2p5n202q5t2r1p2s2l2t2l2u3m2v4n2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w4n3x4n3y4n3z3m4k5w4l3x4m3x4n4m4o4s4p3x4q3x4r4s4s4s4t2l4u2w4v4m4w3r4x5n4y4m4z4s5k3x5l4s5m3x5n3m5o3r5p4s5q3x5r5n5s3x5t3r5u3r5v2r5w1w5x2r5y2u5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q1w6r3m6s3m6t1w6u1w6v2w6w1w6x4s6y3m6z3m7k3m7l3m7m2r7n2r7o1w7p3m7q2w7r4m7s2w7t2w7u2r7v2s7w1v7x2s7y3q202l3mcl3xal2ram3man3mao3map3mar3mas2lat4wau1vav3maw4nay4waz2lbk2sbl4n'fof'6obo2lbp3mbq3obr1tbs2lbu1zbv3mbz3mck3x202k3mcm3xcn3xco3xcp3xcq5tcr4mcs3xct3xcu3xcv3xcw2l2m2ucy2lcz2ldl4mdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr4nfs3mft3mfu3mfv3mfw3mfz2w203k6o212m6m2dw2l2cq2l3t3m3u2l17s3r19m3m}'kerning'{cl{5kt4qw}201s{201sw}201t{201tw2wy2yy6q-t}201x{2wy2yy}2k{201tw}2w{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}2x{17ss5ts5os}2y{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}'fof'-6o6t{17ss5ts5qs}7t{5os}3v{5qs}7p{17su5tu5qs}ck{5kt4qw}4l{5kt4qw}cm{5kt4qw}cn{5kt4qw}co{5kt4qw}cp{5kt4qw}6l{4qs5ks5ou5qw5ru17su5tu}17s{2ks}5q{ckvclvcmvcnvcovcpv4lv}5r{ckuclucmucnucoucpu4lu}5t{2ks}6p{4qs5ks5ou5qw5ru17su5tu}ek{4qs5ks5ou5qw5ru17su5tu}el{4qs5ks5ou5qw5ru17su5tu}em{4qs5ks5ou5qw5ru17su5tu}en{4qs5ks5ou5qw5ru17su5tu}eo{4qs5ks5ou5qw5ru17su5tu}ep{4qs5ks5ou5qw5ru17su5tu}es{5ks5qs4qs}et{4qs5ks5ou5qw5ru17su5tu}eu{4qs5ks5qw5ru17su5tu}ev{5ks5qs4qs}ex{17ss5ts5qs}6z{4qv5ks5ou5qw5ru17su5tu}fm{4qv5ks5ou5qw5ru17su5tu}fn{4qv5ks5ou5qw5ru17su5tu}fo{4qv5ks5ou5qw5ru17su5tu}fp{4qv5ks5ou5qw5ru17su5tu}fq{4qv5ks5ou5qw5ru17su5tu}7r{5os}fs{4qv5ks5ou5qw5ru17su5tu}ft{17su5tu5qs}fu{17su5tu5qs}fv{17su5tu5qs}fw{17su5tu5qs}}}\"\n ),\n \"Times-Roman\": uncompress(\n \"{'widths'{k3n2q4ycx2l201n3m201o6o201s2l201t2l201u2l201w2w201x2w201y2w2k1t2l2l202m2n2n3m2o3m2p5n202q6o2r1m2s2l2t2l2u3m2v3s2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v1w3w3s3x3s3y3s3z2w4k5w4l4s4m4m4n4m4o4s4p3x4q3r4r4s4s4s4t2l4u2r4v4s4w3x4x5t4y4s4z4s5k3r5l4s5m4m5n3r5o3x5p4s5q4s5r5y5s4s5t4s5u3x5v2l5w1w5x2l5y2z5z3m6k2l6l2w6m3m6n2w6o3m6p2w6q2l6r3m6s3m6t1w6u1w6v3m6w1w6x4y6y3m6z3m7k3m7l3m7m2l7n2r7o1w7p3m7q3m7r4s7s3m7t3m7u2w7v3k7w1o7x3k7y3q202l3mcl4sal2lam3man3mao3map3mar3mas2lat4wau1vav3maw3say4waz2lbk2sbl3s'fof'6obo2lbp3mbq2xbr1tbs2lbu1zbv3mbz2wck4s202k3mcm4scn4sco4scp4scq5tcr4mcs3xct3xcu3xcv3xcw2l2m2tcy2lcz2ldl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek2wel2wem2wen2weo2wep2weq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr3sfs3mft3mfu3mfv3mfw3mfz3m203k6o212m6m2dw2l2cq2l3t3m3u1w17s4s19m3m}'kerning'{cl{4qs5ku17sw5ou5qy5rw201ss5tw201ws}201s{201ss}201t{ckw4lwcmwcnwcowcpwclw4wu201ts}2k{201ts}2w{4qs5kw5os5qx5ru17sx5tx}2x{17sw5tw5ou5qu}2y{4qs5kw5os5qx5ru17sx5tx}'fof'-6o7t{ckuclucmucnucoucpu4lu5os5rs}3u{17su5tu5qs}3v{17su5tu5qs}7p{17sw5tw5qs}ck{4qs5ku17sw5ou5qy5rw201ss5tw201ws}4l{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cm{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cn{4qs5ku17sw5ou5qy5rw201ss5tw201ws}co{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cp{4qs5ku17sw5ou5qy5rw201ss5tw201ws}6l{17su5tu5os5qw5rs}17s{2ktclvcmvcnvcovcpv4lv4wuckv}5o{ckwclwcmwcnwcowcpw4lw4wu}5q{ckyclycmycnycoycpy4ly4wu5ms}5r{cktcltcmtcntcotcpt4lt4ws}5t{2ktclvcmvcnvcovcpv4lv4wuckv}7q{cksclscmscnscoscps4ls}6p{17su5tu5qw5rs}ek{5qs5rs}el{17su5tu5os5qw5rs}em{17su5tu5os5qs5rs}en{17su5qs5rs}eo{5qs5rs}ep{17su5tu5os5qw5rs}es{5qs}et{17su5tu5qw5rs}eu{17su5tu5qs5rs}ev{5qs}6z{17sv5tv5os5qx5rs}fm{5os5qt5rs}fn{17sv5tv5os5qx5rs}fo{17sv5tv5os5qx5rs}fp{5os5qt5rs}fq{5os5qt5rs}7r{ckuclucmucnucoucpu4lu5os}fs{17sv5tv5os5qx5rs}ft{17ss5ts5qs}fu{17sw5tw5qs}fv{17sw5tw5qs}fw{17ss5ts5qs}fz{ckuclucmucnucoucpu4lu5os5rs}}}\"\n ),\n \"Helvetica-Oblique\": uncompress(\n \"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\"\n )\n }\n };\n\n /*\n\tThis event handler is fired when a new jsPDF object is initialized\n\tThis event handler appends metrics data to standard fonts within\n\tthat jsPDF instance. The metrics are mapped over Unicode character\n\tcodes, NOT CIDs or other codes matching the StandardEncoding table of the\n\tstandard PDF fonts.\n\tFuture:\n\tAlso included is the encoding maping table, converting Unicode (UCS-2, UTF-16)\n\tchar codes to StandardEncoding character codes. The encoding table is to be used\n\tsomewhere around \"pdfEscape\" call.\n\t*/\n API.events.push([\n \"addFont\",\n function(data) {\n var font = data.font;\n\n var metrics = fontMetrics[\"Unicode\"][font.postScriptName];\n if (metrics) {\n font.metadata[\"Unicode\"] = {};\n font.metadata[\"Unicode\"].widths = metrics.widths;\n font.metadata[\"Unicode\"].kerning = metrics.kerning;\n }\n\n var encodingBlock = encodings[\"Unicode\"][font.postScriptName];\n if (encodingBlock) {\n font.metadata[\"Unicode\"].encoding = encodingBlock;\n font.encoding = encodingBlock.codePages[0];\n }\n }\n ]); // end of adding event handler\n})(jsPDF.API);\n","/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { atob } from \"../libs/AtobBtoa.js\";\n\n/**\n * @name ttfsupport\n * @module\n */\n(function(jsPDF) {\n \"use strict\";\n\n var binaryStringToUint8Array = function(binary_string) {\n var len = binary_string.length;\n var bytes = new Uint8Array(len);\n for (var i = 0; i < len; i++) {\n bytes[i] = binary_string.charCodeAt(i);\n }\n return bytes;\n };\n\n var addFont = function(font, file) {\n // eslint-disable-next-line no-control-regex\n if (/^\\x00\\x01\\x00\\x00/.test(file)) {\n file = binaryStringToUint8Array(file);\n } else {\n file = binaryStringToUint8Array(atob(file));\n }\n font.metadata = jsPDF.API.TTFFont.open(file);\n font.metadata.Unicode = font.metadata.Unicode || {\n encoding: {},\n kerning: {},\n widths: []\n };\n font.metadata.glyIdsUsed = [0];\n };\n\n jsPDF.API.events.push([\n \"addFont\",\n function(data) {\n var file = undefined;\n var font = data.font;\n var instance = data.instance;\n if (font.isStandardFont) {\n return;\n }\n if (typeof instance !== \"undefined\") {\n if (instance.existsFileInVFS(font.postScriptName) === false) {\n file = instance.loadFile(font.postScriptName);\n } else {\n file = instance.getFileFromVFS(font.postScriptName);\n }\n if (typeof file !== \"string\") {\n throw new Error(\n \"Font is not stored as string-data in vFS, import fonts or remove declaration doc.addFont('\" +\n font.postScriptName +\n \"').\"\n );\n }\n addFont(font, file);\n } else {\n throw new Error(\n \"Font does not exist in vFS, import fonts or remove declaration doc.addFont('\" +\n font.postScriptName +\n \"').\"\n );\n }\n }\n ]); // end of adding event handler\n})(jsPDF);\n","/** @license\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { console } from \"../libs/console.js\";\nimport { globalObject } from \"../libs/globalObject.js\";\n\n/**\n * jsPDF SVG plugin\n *\n * @name svg\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n function loadCanvg() {\n return (function() {\n if (globalObject[\"canvg\"]) {\n return Promise.resolve(globalObject[\"canvg\"]);\n }\n\n return import(\"canvg\");\n\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load canvg: \" + e));\n })\n .then(function(canvg) {\n return canvg.default ? canvg.default : canvg;\n });\n }\n\n /**\n * Parses SVG XML and saves it as image into the PDF.\n *\n * Depends on canvas-element and canvg\n *\n * @name addSvgAsImage\n * @public\n * @function\n * @param {string} SVG-Data as Text\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\n * @param {number} width of SVG-Image (in units declared at inception of PDF document)\n * @param {number} height of SVG-Image (in units declared at inception of PDF document)\n * @param {string} alias of SVG-Image (if used multiple times)\n * @param {string} compression of the generated JPEG, can have the values 'NONE', 'FAST', 'MEDIUM' and 'SLOW'\n * @param {number} rotation of the image in degrees (0-359)\n *\n * @returns jsPDF jsPDF-instance\n */\n jsPDFAPI.addSvgAsImage = function(\n svg,\n x,\n y,\n w,\n h,\n alias,\n compression,\n rotation\n ) {\n if (isNaN(x) || isNaN(y)) {\n console.error(\"jsPDF.addSvgAsImage: Invalid coordinates\", arguments);\n throw new Error(\"Invalid coordinates passed to jsPDF.addSvgAsImage\");\n }\n\n if (isNaN(w) || isNaN(h)) {\n console.error(\"jsPDF.addSvgAsImage: Invalid measurements\", arguments);\n throw new Error(\n \"Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage\"\n );\n }\n\n var canvas = document.createElement(\"canvas\");\n canvas.width = w;\n canvas.height = h;\n var ctx = canvas.getContext(\"2d\");\n ctx.fillStyle = \"#fff\"; /// set white fill style\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n\n var options = {\n ignoreMouse: true,\n ignoreAnimation: true,\n ignoreDimensions: true\n };\n var doc = this;\n return loadCanvg()\n .then(\n function(canvg) {\n return canvg.fromString(ctx, svg, options);\n },\n function() {\n return Promise.reject(new Error(\"Could not load canvg.\"));\n }\n )\n .then(function(instance) {\n return instance.render(options);\n })\n .then(function() {\n doc.addImage(\n canvas.toDataURL(\"image/jpeg\", 1.0),\n x,\n y,\n w,\n h,\n compression,\n rotation\n );\n });\n };\n})(jsPDF.API);\n","/**\n * @license\n * ====================================================================\n * Copyright (c) 2013 Eduardo Menezes de Morais, eduardo.morais@usp.br\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF total_pages plugin\n * @name total_pages\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n /**\n * @name putTotalPages\n * @function\n * @param {string} pageExpression Regular Expression\n * @returns {jsPDF} jsPDF-instance\n */\n\n jsPDFAPI.putTotalPages = function(pageExpression) {\n \"use strict\";\n\n var replaceExpression;\n var totalNumberOfPages = 0;\n if (parseInt(this.internal.getFont().id.substr(1), 10) < 15) {\n replaceExpression = new RegExp(pageExpression, \"g\");\n totalNumberOfPages = this.internal.getNumberOfPages();\n } else {\n replaceExpression = new RegExp(\n this.pdfEscape16(pageExpression, this.internal.getFont()),\n \"g\"\n );\n totalNumberOfPages = this.pdfEscape16(\n this.internal.getNumberOfPages() + \"\",\n this.internal.getFont()\n );\n }\n\n for (var n = 1; n <= this.internal.getNumberOfPages(); n++) {\n for (var i = 0; i < this.internal.pages[n].length; i++) {\n this.internal.pages[n][i] = this.internal.pages[n][i].replace(\n replaceExpression,\n totalNumberOfPages\n );\n }\n }\n\n return this;\n };\n})(jsPDF.API);\n","/**\n * @license\n * jsPDF viewerPreferences Plugin\n * @author Aras Abbasi (github.com/arasabbasi)\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * Adds the ability to set ViewerPreferences and by thus\n * controlling the way the document is to be presented on the\n * screen or in print.\n * @name viewerpreferences\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n /**\n * Set the ViewerPreferences of the generated PDF\n *\n * @name viewerPreferences\n * @function\n * @public\n * @param {Object} options Array with the ViewerPreferences
    \n * Example: doc.viewerPreferences({\"FitWindow\":true});
    \n *
    \n * You can set following preferences:
    \n *
    \n * HideToolbar (boolean)
    \n * Default value: false
    \n *
    \n * HideMenubar (boolean)
    \n * Default value: false.
    \n *
    \n * HideWindowUI (boolean)
    \n * Default value: false.
    \n *
    \n * FitWindow (boolean)
    \n * Default value: false.
    \n *
    \n * CenterWindow (boolean)
    \n * Default value: false
    \n *
    \n * DisplayDocTitle (boolean)
    \n * Default value: false.
    \n *
    \n * NonFullScreenPageMode (string)
    \n * Possible values: UseNone, UseOutlines, UseThumbs, UseOC
    \n * Default value: UseNone
    \n *
    \n * Direction (string)
    \n * Possible values: L2R, R2L
    \n * Default value: L2R.
    \n *
    \n * ViewArea (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox.
    \n *
    \n * ViewClip (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox
    \n *
    \n * PrintArea (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox
    \n *
    \n * PrintClip (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox.
    \n *
    \n * PrintScaling (string)
    \n * Possible values: AppDefault, None
    \n * Default value: AppDefault.
    \n *
    \n * Duplex (string)
    \n * Possible values: Simplex, DuplexFlipLongEdge, DuplexFlipShortEdge\n * Default value: none
    \n *
    \n * PickTrayByPDFSize (boolean)
    \n * Default value: false
    \n *
    \n * PrintPageRange (Array)
    \n * Example: [[1,5], [7,9]]
    \n * Default value: as defined by PDF viewer application
    \n *
    \n * NumCopies (Number)
    \n * Possible values: 1, 2, 3, 4, 5
    \n * Default value: 1
    \n *
    \n * For more information see the PDF Reference, sixth edition on Page 577\n * @param {boolean} doReset True to reset the settings\n * @function\n * @returns jsPDF jsPDF-instance\n * @example\n * var doc = new jsPDF()\n * doc.text('This is a test', 10, 10)\n * doc.viewerPreferences({'FitWindow': true}, true)\n * doc.save(\"viewerPreferences.pdf\")\n *\n * // Example printing 10 copies, using cropbox, and hiding UI.\n * doc.viewerPreferences({\n * 'HideWindowUI': true,\n * 'PrintArea': 'CropBox',\n * 'NumCopies': 10\n * })\n */\n jsPDFAPI.viewerPreferences = function(options, doReset) {\n options = options || {};\n doReset = doReset || false;\n\n var configuration;\n var configurationTemplate = {\n HideToolbar: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n HideMenubar: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n HideWindowUI: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n FitWindow: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n CenterWindow: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n DisplayDocTitle: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.4\n },\n NonFullScreenPageMode: {\n defaultValue: \"UseNone\",\n value: \"UseNone\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"UseNone\", \"UseOutlines\", \"UseThumbs\", \"UseOC\"],\n pdfVersion: 1.3\n },\n Direction: {\n defaultValue: \"L2R\",\n value: \"L2R\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"L2R\", \"R2L\"],\n pdfVersion: 1.3\n },\n ViewArea: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n ViewClip: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintArea: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintClip: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintScaling: {\n defaultValue: \"AppDefault\",\n value: \"AppDefault\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"AppDefault\", \"None\"],\n pdfVersion: 1.6\n },\n Duplex: {\n defaultValue: \"\",\n value: \"none\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\n \"Simplex\",\n \"DuplexFlipShortEdge\",\n \"DuplexFlipLongEdge\",\n \"none\"\n ],\n pdfVersion: 1.7\n },\n PickTrayByPDFSize: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.7\n },\n PrintPageRange: {\n defaultValue: \"\",\n value: \"\",\n type: \"array\",\n explicitSet: false,\n valueSet: null,\n pdfVersion: 1.7\n },\n NumCopies: {\n defaultValue: 1,\n value: 1,\n type: \"integer\",\n explicitSet: false,\n valueSet: null,\n pdfVersion: 1.7\n }\n };\n\n var configurationKeys = Object.keys(configurationTemplate);\n\n var rangeArray = [];\n var i = 0;\n var j = 0;\n var k = 0;\n var isValid;\n\n var method;\n var value;\n\n function arrayContainsElement(array, element) {\n var iterator;\n var result = false;\n\n for (iterator = 0; iterator < array.length; iterator += 1) {\n if (array[iterator] === element) {\n result = true;\n }\n }\n return result;\n }\n\n if (this.internal.viewerpreferences === undefined) {\n this.internal.viewerpreferences = {};\n this.internal.viewerpreferences.configuration = JSON.parse(\n JSON.stringify(configurationTemplate)\n );\n this.internal.viewerpreferences.isSubscribed = false;\n }\n configuration = this.internal.viewerpreferences.configuration;\n\n if (options === \"reset\" || doReset === true) {\n var len = configurationKeys.length;\n\n for (k = 0; k < len; k += 1) {\n configuration[configurationKeys[k]].value =\n configuration[configurationKeys[k]].defaultValue;\n configuration[configurationKeys[k]].explicitSet = false;\n }\n }\n\n if (typeof options === \"object\") {\n for (method in options) {\n value = options[method];\n if (\n arrayContainsElement(configurationKeys, method) &&\n value !== undefined\n ) {\n if (\n configuration[method].type === \"boolean\" &&\n typeof value === \"boolean\"\n ) {\n configuration[method].value = value;\n } else if (\n configuration[method].type === \"name\" &&\n arrayContainsElement(configuration[method].valueSet, value)\n ) {\n configuration[method].value = value;\n } else if (\n configuration[method].type === \"integer\" &&\n Number.isInteger(value)\n ) {\n configuration[method].value = value;\n } else if (configuration[method].type === \"array\") {\n for (i = 0; i < value.length; i += 1) {\n isValid = true;\n if (value[i].length === 1 && typeof value[i][0] === \"number\") {\n rangeArray.push(String(value[i] - 1));\n } else if (value[i].length > 1) {\n for (j = 0; j < value[i].length; j += 1) {\n if (typeof value[i][j] !== \"number\") {\n isValid = false;\n }\n }\n if (isValid === true) {\n rangeArray.push([value[i][0] - 1, value[i][1] - 1].join(\" \"));\n }\n }\n }\n configuration[method].value = \"[\" + rangeArray.join(\" \") + \"]\";\n } else {\n configuration[method].value = configuration[method].defaultValue;\n }\n\n configuration[method].explicitSet = true;\n }\n }\n }\n\n if (this.internal.viewerpreferences.isSubscribed === false) {\n this.internal.events.subscribe(\"putCatalog\", function() {\n var pdfDict = [];\n var vPref;\n for (vPref in configuration) {\n if (configuration[vPref].explicitSet === true) {\n if (configuration[vPref].type === \"name\") {\n pdfDict.push(\"/\" + vPref + \" /\" + configuration[vPref].value);\n } else {\n pdfDict.push(\"/\" + vPref + \" \" + configuration[vPref].value);\n }\n }\n }\n if (pdfDict.length !== 0) {\n this.internal.write(\n \"/ViewerPreferences\\n<<\\n\" + pdfDict.join(\"\\n\") + \"\\n>>\"\n );\n }\n });\n this.internal.viewerpreferences.isSubscribed = true;\n }\n\n this.internal.viewerpreferences.configuration = configuration;\n return this;\n };\n})(jsPDF.API);\n","/** ====================================================================\n * @license\n * jsPDF XMP metadata plugin\n * Copyright (c) 2016 Jussi Utunen, u-jussi@suomi24.fi\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name xmp_metadata\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var postPutResources = function() {\n var xmpmeta_beginning = '';\n var rdf_beginning =\n '';\n var rdf_ending = \"\";\n var xmpmeta_ending = \"\";\n var utf8_xmpmeta_beginning = unescape(\n encodeURIComponent(xmpmeta_beginning)\n );\n var utf8_rdf_beginning = unescape(encodeURIComponent(rdf_beginning));\n var utf8_metadata = unescape(\n encodeURIComponent(this.internal.__metadata__.metadata)\n );\n var utf8_rdf_ending = unescape(encodeURIComponent(rdf_ending));\n var utf8_xmpmeta_ending = unescape(encodeURIComponent(xmpmeta_ending));\n\n var total_len =\n utf8_rdf_beginning.length +\n utf8_metadata.length +\n utf8_rdf_ending.length +\n utf8_xmpmeta_beginning.length +\n utf8_xmpmeta_ending.length;\n\n this.internal.__metadata__.metadata_object_number = this.internal.newObject();\n this.internal.write(\n \"<< /Type /Metadata /Subtype /XML /Length \" + total_len + \" >>\"\n );\n this.internal.write(\"stream\");\n this.internal.write(\n utf8_xmpmeta_beginning +\n utf8_rdf_beginning +\n utf8_metadata +\n utf8_rdf_ending +\n utf8_xmpmeta_ending\n );\n this.internal.write(\"endstream\");\n this.internal.write(\"endobj\");\n };\n\n var putCatalog = function() {\n if (this.internal.__metadata__.metadata_object_number) {\n this.internal.write(\n \"/Metadata \" +\n this.internal.__metadata__.metadata_object_number +\n \" 0 R\"\n );\n }\n };\n\n /**\n * Adds XMP formatted metadata to PDF\n *\n * @name addMetadata\n * @function\n * @param {String} metadata The actual metadata to be added. The metadata shall be stored as XMP simple value. Note that if the metadata string contains XML markup characters \"<\", \">\" or \"&\", those characters should be written using XML entities.\n * @param {String} namespaceuri Sets the namespace URI for the metadata. Last character should be slash or hash.\n * @returns {jsPDF} jsPDF-instance\n */\n jsPDFAPI.addMetadata = function(metadata, namespaceuri) {\n if (typeof this.internal.__metadata__ === \"undefined\") {\n this.internal.__metadata__ = {\n metadata: metadata,\n namespaceuri: namespaceuri || \"http://jspdf.default.namespaceuri/\"\n };\n this.internal.events.subscribe(\"putCatalog\", putCatalog);\n\n this.internal.events.subscribe(\"postPutResources\", postPutResources);\n }\n return this;\n };\n})(jsPDF.API);\n","import { jsPDF } from \"../jspdf.js\";\nimport { toPDFName } from \"../libs/pdfname.js\";\n\n/**\n * @name utf8\n * @module\n */\n(function(jsPDF) {\n \"use strict\";\n var jsPDFAPI = jsPDF.API;\n\n /***************************************************************************************************/\n /* function : pdfEscape16 */\n /* comment : The character id of a 2-byte string is converted to a hexadecimal number by obtaining */\n /* the corresponding glyph id and width, and then adding padding to the string. */\n /***************************************************************************************************/\n var pdfEscape16 = (jsPDFAPI.pdfEscape16 = function(text, font) {\n var widths = font.metadata.Unicode.widths;\n var padz = [\"\", \"0\", \"00\", \"000\", \"0000\"];\n var ar = [\"\"];\n for (var i = 0, l = text.length, t; i < l; ++i) {\n t = font.metadata.characterToGlyph(text.charCodeAt(i));\n font.metadata.glyIdsUsed.push(t);\n font.metadata.toUnicode[t] = text.charCodeAt(i);\n if (widths.indexOf(t) == -1) {\n widths.push(t);\n widths.push([parseInt(font.metadata.widthOfGlyph(t), 10)]);\n }\n if (t == \"0\") {\n //Spaces are not allowed in cmap.\n return ar.join(\"\");\n } else {\n t = t.toString(16);\n ar.push(padz[4 - t.length], t);\n }\n }\n return ar.join(\"\");\n });\n\n var toUnicodeCmap = function(map) {\n var code, codes, range, unicode, unicodeMap, _i, _len;\n unicodeMap =\n \"/CIDInit /ProcSet findresource begin\\n12 dict begin\\nbegincmap\\n/CIDSystemInfo <<\\n /Registry (Adobe)\\n /Ordering (UCS)\\n /Supplement 0\\n>> def\\n/CMapName /Adobe-Identity-UCS def\\n/CMapType 2 def\\n1 begincodespacerange\\n<0000>\\nendcodespacerange\";\n codes = Object.keys(map).sort(function(a, b) {\n return a - b;\n });\n\n range = [];\n for (_i = 0, _len = codes.length; _i < _len; _i++) {\n code = codes[_i];\n if (range.length >= 100) {\n unicodeMap +=\n \"\\n\" +\n range.length +\n \" beginbfchar\\n\" +\n range.join(\"\\n\") +\n \"\\nendbfchar\";\n range = [];\n }\n\n if (\n map[code] !== undefined &&\n map[code] !== null &&\n typeof map[code].toString === \"function\"\n ) {\n unicode = (\"0000\" + map[code].toString(16)).slice(-4);\n code = (\"0000\" + (+code).toString(16)).slice(-4);\n range.push(\"<\" + code + \"><\" + unicode + \">\");\n }\n }\n\n if (range.length) {\n unicodeMap +=\n \"\\n\" +\n range.length +\n \" beginbfchar\\n\" +\n range.join(\"\\n\") +\n \"\\nendbfchar\\n\";\n }\n unicodeMap +=\n \"endcmap\\nCMapName currentdict /CMap defineresource pop\\nend\\nend\";\n return unicodeMap;\n };\n\n var identityHFunction = function(options) {\n var font = options.font;\n var out = options.out;\n var newObject = options.newObject;\n var putStream = options.putStream;\n\n if (\n font.metadata instanceof jsPDF.API.TTFFont &&\n font.encoding === \"Identity-H\"\n ) {\n //Tag with Identity-H\n var widths = font.metadata.Unicode.widths;\n var data = font.metadata.subset.encode(font.metadata.glyIdsUsed, 1);\n var pdfOutput = data;\n var pdfOutput2 = \"\";\n for (var i = 0; i < pdfOutput.length; i++) {\n pdfOutput2 += String.fromCharCode(pdfOutput[i]);\n }\n var fontTable = newObject();\n putStream({ data: pdfOutput2, addLength1: true, objectId: fontTable });\n out(\"endobj\");\n\n var cmap = newObject();\n var cmapData = toUnicodeCmap(font.metadata.toUnicode);\n putStream({ data: cmapData, addLength1: true, objectId: cmap });\n out(\"endobj\");\n\n var fontDescriptor = newObject();\n out(\"<<\");\n out(\"/Type /FontDescriptor\");\n out(\"/FontName /\" + toPDFName(font.fontName));\n out(\"/FontFile2 \" + fontTable + \" 0 R\");\n out(\"/FontBBox \" + jsPDF.API.PDFObject.convert(font.metadata.bbox));\n out(\"/Flags \" + font.metadata.flags);\n out(\"/StemV \" + font.metadata.stemV);\n out(\"/ItalicAngle \" + font.metadata.italicAngle);\n out(\"/Ascent \" + font.metadata.ascender);\n out(\"/Descent \" + font.metadata.decender);\n out(\"/CapHeight \" + font.metadata.capHeight);\n out(\">>\");\n out(\"endobj\");\n\n var DescendantFont = newObject();\n out(\"<<\");\n out(\"/Type /Font\");\n out(\"/BaseFont /\" + toPDFName(font.fontName));\n out(\"/FontDescriptor \" + fontDescriptor + \" 0 R\");\n out(\"/W \" + jsPDF.API.PDFObject.convert(widths));\n out(\"/CIDToGIDMap /Identity\");\n out(\"/DW 1000\");\n out(\"/Subtype /CIDFontType2\");\n out(\"/CIDSystemInfo\");\n out(\"<<\");\n out(\"/Supplement 0\");\n out(\"/Registry (Adobe)\");\n out(\"/Ordering (\" + font.encoding + \")\");\n out(\">>\");\n out(\">>\");\n out(\"endobj\");\n\n font.objectNumber = newObject();\n out(\"<<\");\n out(\"/Type /Font\");\n out(\"/Subtype /Type0\");\n out(\"/ToUnicode \" + cmap + \" 0 R\");\n out(\"/BaseFont /\" + toPDFName(font.fontName));\n out(\"/Encoding /\" + font.encoding);\n out(\"/DescendantFonts [\" + DescendantFont + \" 0 R]\");\n out(\">>\");\n out(\"endobj\");\n\n font.isAlreadyPutted = true;\n }\n };\n\n jsPDFAPI.events.push([\n \"putFont\",\n function(args) {\n identityHFunction(args);\n }\n ]);\n\n var winAnsiEncodingFunction = function(options) {\n var font = options.font;\n var out = options.out;\n var newObject = options.newObject;\n var putStream = options.putStream;\n\n if (\n font.metadata instanceof jsPDF.API.TTFFont &&\n font.encoding === \"WinAnsiEncoding\"\n ) {\n //Tag with WinAnsi encoding\n var data = font.metadata.rawData;\n var pdfOutput = data;\n var pdfOutput2 = \"\";\n for (var i = 0; i < pdfOutput.length; i++) {\n pdfOutput2 += String.fromCharCode(pdfOutput[i]);\n }\n var fontTable = newObject();\n putStream({ data: pdfOutput2, addLength1: true, objectId: fontTable });\n out(\"endobj\");\n\n var cmap = newObject();\n var cmapData = toUnicodeCmap(font.metadata.toUnicode);\n putStream({ data: cmapData, addLength1: true, objectId: cmap });\n out(\"endobj\");\n\n var fontDescriptor = newObject();\n out(\"<<\");\n out(\"/Descent \" + font.metadata.decender);\n out(\"/CapHeight \" + font.metadata.capHeight);\n out(\"/StemV \" + font.metadata.stemV);\n out(\"/Type /FontDescriptor\");\n out(\"/FontFile2 \" + fontTable + \" 0 R\");\n out(\"/Flags 96\");\n out(\"/FontBBox \" + jsPDF.API.PDFObject.convert(font.metadata.bbox));\n out(\"/FontName /\" + toPDFName(font.fontName));\n out(\"/ItalicAngle \" + font.metadata.italicAngle);\n out(\"/Ascent \" + font.metadata.ascender);\n out(\">>\");\n out(\"endobj\");\n font.objectNumber = newObject();\n for (var j = 0; j < font.metadata.hmtx.widths.length; j++) {\n font.metadata.hmtx.widths[j] = parseInt(\n font.metadata.hmtx.widths[j] * (1000 / font.metadata.head.unitsPerEm)\n ); //Change the width of Em units to Point units.\n }\n out(\n \"<>\"\n );\n out(\"endobj\");\n font.isAlreadyPutted = true;\n }\n };\n\n jsPDFAPI.events.push([\n \"putFont\",\n function(args) {\n winAnsiEncodingFunction(args);\n }\n ]);\n\n var utf8TextFunction = function(args) {\n var text = args.text || \"\";\n var x = args.x;\n var y = args.y;\n var options = args.options || {};\n var mutex = args.mutex || {};\n\n var pdfEscape = mutex.pdfEscape;\n var activeFontKey = mutex.activeFontKey;\n var fonts = mutex.fonts;\n var key = activeFontKey;\n\n var str = \"\",\n s = 0,\n cmapConfirm;\n var strText = \"\";\n var encoding = fonts[key].encoding;\n\n if (fonts[key].encoding !== \"Identity-H\") {\n return {\n text: text,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n }\n strText = text;\n\n key = activeFontKey;\n if (Array.isArray(text)) {\n strText = text[0];\n }\n for (s = 0; s < strText.length; s += 1) {\n if (fonts[key].metadata.hasOwnProperty(\"cmap\")) {\n cmapConfirm =\n fonts[key].metadata.cmap.unicode.codeMap[strText[s].charCodeAt(0)];\n /*\n if (Object.prototype.toString.call(text) === '[object Array]') {\n var i = 0;\n // for (i = 0; i < text.length; i += 1) {\n if (Object.prototype.toString.call(text[s]) === '[object Array]') {\n cmapConfirm = fonts[key].metadata.cmap.unicode.codeMap[strText[s][0].charCodeAt(0)]; //Make sure the cmap has the corresponding glyph id\n } else {\n\n }\n //}\n\n } else {\n cmapConfirm = fonts[key].metadata.cmap.unicode.codeMap[strText[s].charCodeAt(0)]; //Make sure the cmap has the corresponding glyph id\n }*/\n }\n if (!cmapConfirm) {\n if (\n strText[s].charCodeAt(0) < 256 &&\n fonts[key].metadata.hasOwnProperty(\"Unicode\")\n ) {\n str += strText[s];\n } else {\n str += \"\";\n }\n } else {\n str += strText[s];\n }\n }\n var result = \"\";\n if (parseInt(key.slice(1)) < 14 || encoding === \"WinAnsiEncoding\") {\n //For the default 13 font\n result = pdfEscape(str, key)\n .split(\"\")\n .map(function(cv) {\n return cv.charCodeAt(0).toString(16);\n })\n .join(\"\");\n } else if (encoding === \"Identity-H\") {\n result = pdfEscape16(str, fonts[key]);\n }\n mutex.isHex = true;\n\n return {\n text: result,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n };\n\n var utf8EscapeFunction = function(parms) {\n var text = parms.text || \"\",\n x = parms.x,\n y = parms.y,\n options = parms.options,\n mutex = parms.mutex;\n var tmpText = [];\n var args = {\n text: text,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n\n if (Array.isArray(text)) {\n var i = 0;\n for (i = 0; i < text.length; i += 1) {\n if (Array.isArray(text[i])) {\n if (text[i].length === 3) {\n tmpText.push([\n utf8TextFunction(Object.assign({}, args, { text: text[i][0] }))\n .text,\n text[i][1],\n text[i][2]\n ]);\n } else {\n tmpText.push(\n utf8TextFunction(Object.assign({}, args, { text: text[i] })).text\n );\n }\n } else {\n tmpText.push(\n utf8TextFunction(Object.assign({}, args, { text: text[i] })).text\n );\n }\n }\n parms.text = tmpText;\n } else {\n parms.text = utf8TextFunction(\n Object.assign({}, args, { text: text })\n ).text;\n }\n };\n\n jsPDFAPI.events.push([\"postProcessText\", utf8EscapeFunction]);\n})(jsPDF);\n","/**\n * @license\n * jsPDF virtual FileSystem functionality\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * Use the vFS to handle files\n *\n * @name vFS\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var _initializeVFS = function() {\n if (typeof this.internal.vFS === \"undefined\") {\n this.internal.vFS = {};\n }\n return true;\n };\n\n /**\n * Check if the file exists in the vFS\n *\n * @name existsFileInVFS\n * @function\n * @param {string} Possible filename in the vFS.\n * @returns {boolean}\n * @example\n * doc.existsFileInVFS(\"someFile.txt\");\n */\n jsPDFAPI.existsFileInVFS = function(filename) {\n _initializeVFS.call(this);\n return typeof this.internal.vFS[filename] !== \"undefined\";\n };\n\n /**\n * Add a file to the vFS\n *\n * @name addFileToVFS\n * @function\n * @param {string} filename The name of the file which should be added.\n * @param {string} filecontent The content of the file.\n * @returns {jsPDF}\n * @example\n * doc.addFileToVFS(\"someFile.txt\", \"BADFACE1\");\n */\n jsPDFAPI.addFileToVFS = function(filename, filecontent) {\n _initializeVFS.call(this);\n this.internal.vFS[filename] = filecontent;\n return this;\n };\n\n /**\n * Get the file from the vFS\n *\n * @name getFileFromVFS\n * @function\n * @param {string} The name of the file which gets requested.\n * @returns {string}\n * @example\n * doc.getFileFromVFS(\"someFile.txt\");\n */\n jsPDFAPI.getFileFromVFS = function(filename) {\n _initializeVFS.call(this);\n\n if (typeof this.internal.vFS[filename] !== \"undefined\") {\n return this.internal.vFS[filename];\n }\n return null;\n };\n})(jsPDF.API);\n","/**\n * @license\n * Unicode Bidi Engine based on the work of Alex Shensis (@asthensis)\n * MIT License\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n(function(jsPDF) {\n \"use strict\";\n /**\n * Table of Unicode types.\n *\n * Generated by:\n *\n * var bidi = require(\"./bidi/index\");\n * var bidi_accumulate = bidi.slice(0, 256).concat(bidi.slice(0x0500, 0x0500 + 256 * 3)).\n * concat(bidi.slice(0x2000, 0x2000 + 256)).concat(bidi.slice(0xFB00, 0xFB00 + 256)).\n * concat(bidi.slice(0xFE00, 0xFE00 + 2 * 256));\n *\n * for( var i = 0; i < bidi_accumulate.length; i++) {\n * \tif(bidi_accumulate[i] === undefined || bidi_accumulate[i] === 'ON')\n * \t\tbidi_accumulate[i] = 'N'; //mark as neutral to conserve space and substitute undefined\n * }\n * var bidiAccumulateStr = 'return [ \"' + bidi_accumulate.toString().replace(/,/g, '\", \"') + '\" ];';\n * require(\"fs\").writeFile('unicode-types.js', bidiAccumulateStr);\n *\n * Based on:\n * https://github.com/mathiasbynens/unicode-8.0.0\n */\n var bidiUnicodeTypes = [\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"S\",\n \"B\",\n \"S\",\n \"WS\",\n \"B\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"B\",\n \"B\",\n \"B\",\n \"S\",\n \"WS\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ES\",\n \"CS\",\n \"ES\",\n \"CS\",\n \"CS\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"B\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"CS\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"BN\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"EN\",\n \"EN\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"EN\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"N\",\n \"N\",\n \"AL\",\n \"ET\",\n \"ET\",\n \"AL\",\n \"CS\",\n \"AL\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"ET\",\n \"AN\",\n \"AN\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AN\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"L\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"B\",\n \"LRE\",\n \"RLE\",\n \"PDF\",\n \"LRO\",\n \"RLO\",\n \"CS\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"N\",\n \"LRI\",\n \"RLI\",\n \"FSI\",\n \"PDI\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"EN\",\n \"L\",\n \"N\",\n \"N\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"NSM\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"ES\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"N\",\n \"N\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"N\",\n \"BN\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ES\",\n \"CS\",\n \"ES\",\n \"CS\",\n \"CS\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\"\n ];\n\n /**\n * Unicode Bidi algorithm compliant Bidi engine.\n * For reference see http://unicode.org/reports/tr9/\n */\n\n /**\n * constructor ( options )\n *\n * Initializes Bidi engine\n *\n * @param {Object} See 'setOptions' below for detailed description.\n * options are cashed between invocation of 'doBidiReorder' method\n *\n * sample usage pattern of BidiEngine:\n * var opt = {\n * \tisInputVisual: true,\n * \tisInputRtl: false,\n * \tisOutputVisual: false,\n * \tisOutputRtl: false,\n * \tisSymmetricSwapping: true\n * }\n * var sourceToTarget = [], levels = [];\n * var bidiEng = Globalize.bidiEngine(opt);\n * var src = \"text string to be reordered\";\n * var ret = bidiEng.doBidiReorder(src, sourceToTarget, levels);\n */\n\n jsPDF.__bidiEngine__ = jsPDF.prototype.__bidiEngine__ = function(options) {\n var _UNICODE_TYPES = _bidiUnicodeTypes;\n\n var _STATE_TABLE_LTR = [\n [0, 3, 0, 1, 0, 0, 0],\n [0, 3, 0, 1, 2, 2, 0],\n [0, 3, 0, 0x11, 2, 0, 1],\n [0, 3, 5, 5, 4, 1, 0],\n [0, 3, 0x15, 0x15, 4, 0, 1],\n [0, 3, 5, 5, 4, 2, 0]\n ];\n\n var _STATE_TABLE_RTL = [\n [2, 0, 1, 1, 0, 1, 0],\n [2, 0, 1, 1, 0, 2, 0],\n [2, 0, 2, 1, 3, 2, 0],\n [2, 0, 2, 0x21, 3, 1, 1]\n ];\n\n var _TYPE_NAMES_MAP = { L: 0, R: 1, EN: 2, AN: 3, N: 4, B: 5, S: 6 };\n\n var _UNICODE_RANGES_MAP = {\n 0: 0,\n 5: 1,\n 6: 2,\n 7: 3,\n 0x20: 4,\n 0xfb: 5,\n 0xfe: 6,\n 0xff: 7\n };\n\n var _SWAP_TABLE = [\n \"\\u0028\",\n \"\\u0029\",\n \"\\u0028\",\n \"\\u003C\",\n \"\\u003E\",\n \"\\u003C\",\n \"\\u005B\",\n \"\\u005D\",\n \"\\u005B\",\n \"\\u007B\",\n \"\\u007D\",\n \"\\u007B\",\n \"\\u00AB\",\n \"\\u00BB\",\n \"\\u00AB\",\n \"\\u2039\",\n \"\\u203A\",\n \"\\u2039\",\n \"\\u2045\",\n \"\\u2046\",\n \"\\u2045\",\n \"\\u207D\",\n \"\\u207E\",\n \"\\u207D\",\n \"\\u208D\",\n \"\\u208E\",\n \"\\u208D\",\n \"\\u2264\",\n \"\\u2265\",\n \"\\u2264\",\n \"\\u2329\",\n \"\\u232A\",\n \"\\u2329\",\n \"\\uFE59\",\n \"\\uFE5A\",\n \"\\uFE59\",\n \"\\uFE5B\",\n \"\\uFE5C\",\n \"\\uFE5B\",\n \"\\uFE5D\",\n \"\\uFE5E\",\n \"\\uFE5D\",\n \"\\uFE64\",\n \"\\uFE65\",\n \"\\uFE64\"\n ];\n\n var _LTR_RANGES_REG_EXPR = new RegExp(\n /^([1-4|9]|1[0-9]|2[0-9]|3[0168]|4[04589]|5[012]|7[78]|159|16[0-9]|17[0-2]|21[569]|22[03489]|250)$/\n );\n\n var _lastArabic = false,\n _hasUbatAl,\n _hasUbatB,\n _hasUbatS,\n DIR_LTR = 0,\n DIR_RTL = 1,\n _isInVisual,\n _isInRtl,\n _isOutVisual,\n _isOutRtl,\n _isSymmetricSwapping,\n _dir = DIR_LTR;\n\n this.__bidiEngine__ = {};\n\n var _init = function(text, sourceToTargetMap) {\n if (sourceToTargetMap) {\n for (var i = 0; i < text.length; i++) {\n sourceToTargetMap[i] = i;\n }\n }\n if (_isInRtl === undefined) {\n _isInRtl = _isContextualDirRtl(text);\n }\n if (_isOutRtl === undefined) {\n _isOutRtl = _isContextualDirRtl(text);\n }\n };\n\n // for reference see 3.2 in http://unicode.org/reports/tr9/\n //\n var _getCharType = function(ch) {\n var charCode = ch.charCodeAt(),\n range = charCode >> 8,\n rangeIdx = _UNICODE_RANGES_MAP[range];\n\n if (rangeIdx !== undefined) {\n return _UNICODE_TYPES[rangeIdx * 256 + (charCode & 0xff)];\n } else if (range === 0xfc || range === 0xfd) {\n return \"AL\";\n } else if (_LTR_RANGES_REG_EXPR.test(range)) {\n //unlikely case\n return \"L\";\n } else if (range === 8) {\n // even less likely\n return \"R\";\n }\n return \"N\"; //undefined type, mark as neutral\n };\n\n var _isContextualDirRtl = function(text) {\n for (var i = 0, charType; i < text.length; i++) {\n charType = _getCharType(text.charAt(i));\n if (charType === \"L\") {\n return false;\n } else if (charType === \"R\") {\n return true;\n }\n }\n return false;\n };\n\n // for reference see 3.3.4 & 3.3.5 in http://unicode.org/reports/tr9/\n //\n var _resolveCharType = function(chars, types, resolvedTypes, index) {\n var cType = types[index],\n wType,\n nType,\n i,\n len;\n switch (cType) {\n case \"L\":\n case \"R\":\n _lastArabic = false;\n break;\n case \"N\":\n case \"AN\":\n break;\n\n case \"EN\":\n if (_lastArabic) {\n cType = \"AN\";\n }\n break;\n\n case \"AL\":\n _lastArabic = true;\n _hasUbatAl = true;\n cType = \"R\";\n break;\n\n case \"WS\":\n cType = \"N\";\n break;\n\n case \"CS\":\n if (\n index < 1 ||\n index + 1 >= types.length ||\n ((wType = resolvedTypes[index - 1]) !== \"EN\" && wType !== \"AN\") ||\n ((nType = types[index + 1]) !== \"EN\" && nType !== \"AN\")\n ) {\n cType = \"N\";\n } else if (_lastArabic) {\n nType = \"AN\";\n }\n cType = nType === wType ? nType : \"N\";\n break;\n\n case \"ES\":\n wType = index > 0 ? resolvedTypes[index - 1] : \"B\";\n cType =\n wType === \"EN\" &&\n index + 1 < types.length &&\n types[index + 1] === \"EN\"\n ? \"EN\"\n : \"N\";\n break;\n\n case \"ET\":\n if (index > 0 && resolvedTypes[index - 1] === \"EN\") {\n cType = \"EN\";\n break;\n } else if (_lastArabic) {\n cType = \"N\";\n break;\n }\n i = index + 1;\n len = types.length;\n while (i < len && types[i] === \"ET\") {\n i++;\n }\n if (i < len && types[i] === \"EN\") {\n cType = \"EN\";\n } else {\n cType = \"N\";\n }\n break;\n\n case \"NSM\":\n if (_isInVisual && !_isInRtl) {\n //V->L\n len = types.length;\n i = index + 1;\n while (i < len && types[i] === \"NSM\") {\n i++;\n }\n if (i < len) {\n var c = chars[index];\n var rtlCandidate = (c >= 0x0591 && c <= 0x08ff) || c === 0xfb1e;\n wType = types[i];\n if (rtlCandidate && (wType === \"R\" || wType === \"AL\")) {\n cType = \"R\";\n break;\n }\n }\n }\n if (index < 1 || (wType = types[index - 1]) === \"B\") {\n cType = \"N\";\n } else {\n cType = resolvedTypes[index - 1];\n }\n break;\n\n case \"B\":\n _lastArabic = false;\n _hasUbatB = true;\n cType = _dir;\n break;\n\n case \"S\":\n _hasUbatS = true;\n cType = \"N\";\n break;\n\n case \"LRE\":\n case \"RLE\":\n case \"LRO\":\n case \"RLO\":\n case \"PDF\":\n _lastArabic = false;\n break;\n case \"BN\":\n cType = \"N\";\n break;\n }\n return cType;\n };\n\n var _handleUbatS = function(types, levels, length) {\n for (var i = 0; i < length; i++) {\n if (types[i] === \"S\") {\n levels[i] = _dir;\n for (var j = i - 1; j >= 0; j--) {\n if (types[j] === \"WS\") {\n levels[j] = _dir;\n } else {\n break;\n }\n }\n }\n }\n };\n\n var _invertString = function(text, sourceToTargetMap, levels) {\n var charArray = text.split(\"\");\n if (levels) {\n _computeLevels(charArray, levels, { hiLevel: _dir });\n }\n charArray.reverse();\n sourceToTargetMap && sourceToTargetMap.reverse();\n return charArray.join(\"\");\n };\n\n // For reference see 3.3 in http://unicode.org/reports/tr9/\n //\n var _computeLevels = function(chars, levels, params) {\n var action,\n condition,\n i,\n index,\n newLevel,\n prevState,\n condPos = -1,\n len = chars.length,\n newState = 0,\n resolvedTypes = [],\n stateTable = _dir ? _STATE_TABLE_RTL : _STATE_TABLE_LTR,\n types = [];\n\n _lastArabic = false;\n _hasUbatAl = false;\n _hasUbatB = false;\n _hasUbatS = false;\n for (i = 0; i < len; i++) {\n types[i] = _getCharType(chars[i]);\n }\n for (index = 0; index < len; index++) {\n prevState = newState;\n resolvedTypes[index] = _resolveCharType(\n chars,\n types,\n resolvedTypes,\n index\n );\n newState = stateTable[prevState][_TYPE_NAMES_MAP[resolvedTypes[index]]];\n action = newState & 0xf0;\n newState &= 0x0f;\n levels[index] = newLevel = stateTable[newState][5];\n if (action > 0) {\n if (action === 0x10) {\n for (i = condPos; i < index; i++) {\n levels[i] = 1;\n }\n condPos = -1;\n } else {\n condPos = -1;\n }\n }\n condition = stateTable[newState][6];\n if (condition) {\n if (condPos === -1) {\n condPos = index;\n }\n } else {\n if (condPos > -1) {\n for (i = condPos; i < index; i++) {\n levels[i] = newLevel;\n }\n condPos = -1;\n }\n }\n if (types[index] === \"B\") {\n levels[index] = 0;\n }\n params.hiLevel |= newLevel;\n }\n if (_hasUbatS) {\n _handleUbatS(types, levels, len);\n }\n };\n\n // for reference see 3.4 in http://unicode.org/reports/tr9/\n //\n var _invertByLevel = function(\n level,\n charArray,\n sourceToTargetMap,\n levels,\n params\n ) {\n if (params.hiLevel < level) {\n return;\n }\n if (level === 1 && _dir === DIR_RTL && !_hasUbatB) {\n charArray.reverse();\n sourceToTargetMap && sourceToTargetMap.reverse();\n return;\n }\n var ch,\n high,\n end,\n low,\n len = charArray.length,\n start = 0;\n\n while (start < len) {\n if (levels[start] >= level) {\n end = start + 1;\n while (end < len && levels[end] >= level) {\n end++;\n }\n for (low = start, high = end - 1; low < high; low++, high--) {\n ch = charArray[low];\n charArray[low] = charArray[high];\n charArray[high] = ch;\n if (sourceToTargetMap) {\n ch = sourceToTargetMap[low];\n sourceToTargetMap[low] = sourceToTargetMap[high];\n sourceToTargetMap[high] = ch;\n }\n }\n start = end;\n }\n start++;\n }\n };\n\n // for reference see 7 & BD16 in http://unicode.org/reports/tr9/\n //\n var _symmetricSwap = function(charArray, levels, params) {\n if (params.hiLevel !== 0 && _isSymmetricSwapping) {\n for (var i = 0, index; i < charArray.length; i++) {\n if (levels[i] === 1) {\n index = _SWAP_TABLE.indexOf(charArray[i]);\n if (index >= 0) {\n charArray[i] = _SWAP_TABLE[index + 1];\n }\n }\n }\n }\n };\n\n var _reorder = function(text, sourceToTargetMap, levels) {\n var charArray = text.split(\"\"),\n params = { hiLevel: _dir };\n\n if (!levels) {\n levels = [];\n }\n _computeLevels(charArray, levels, params);\n _symmetricSwap(charArray, levels, params);\n _invertByLevel(DIR_RTL + 1, charArray, sourceToTargetMap, levels, params);\n _invertByLevel(DIR_RTL, charArray, sourceToTargetMap, levels, params);\n return charArray.join(\"\");\n };\n\n // doBidiReorder( text, sourceToTargetMap, levels )\n // Performs Bidi reordering by implementing Unicode Bidi algorithm.\n // Returns reordered string\n // @text [String]:\n // - input string to be reordered, this is input parameter\n // $sourceToTargetMap [Array] (optional)\n // - resultant mapping between input and output strings, this is output parameter\n // $levels [Array] (optional)\n // - array of calculated Bidi levels, , this is output parameter\n this.__bidiEngine__.doBidiReorder = function(\n text,\n sourceToTargetMap,\n levels\n ) {\n _init(text, sourceToTargetMap);\n if (!_isInVisual && _isOutVisual && !_isOutRtl) {\n // LLTR->VLTR, LRTL->VLTR\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else if (_isInVisual && _isOutVisual && _isInRtl ^ _isOutRtl) {\n // VRTL->VLTR, VLTR->VRTL\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _invertString(text, sourceToTargetMap, levels);\n } else if (!_isInVisual && _isOutVisual && _isOutRtl) {\n // LLTR->VRTL, LRTL->VRTL\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n } else if (_isInVisual && !_isInRtl && !_isOutVisual && !_isOutRtl) {\n // VLTR->LLTR\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else if (_isInVisual && !_isOutVisual && _isInRtl ^ _isOutRtl) {\n // VLTR->LRTL, VRTL->LLTR\n text = _invertString(text, sourceToTargetMap);\n if (_isInRtl) {\n //LLTR -> VLTR\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else {\n //LRTL -> VRTL\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n }\n } else if (_isInVisual && _isInRtl && !_isOutVisual && _isOutRtl) {\n // VRTL->LRTL\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n } else if (!_isInVisual && !_isOutVisual && _isInRtl ^ _isOutRtl) {\n // LRTL->LLTR, LLTR->LRTL\n var isSymmetricSwappingOrig = _isSymmetricSwapping;\n if (_isInRtl) {\n //LRTL->LLTR\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n _dir = DIR_LTR;\n _isSymmetricSwapping = false;\n text = _reorder(text, sourceToTargetMap, levels);\n _isSymmetricSwapping = isSymmetricSwappingOrig;\n } else {\n //LLTR->LRTL\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n _dir = DIR_RTL;\n _isSymmetricSwapping = false;\n text = _reorder(text, sourceToTargetMap, levels);\n _isSymmetricSwapping = isSymmetricSwappingOrig;\n text = _invertString(text, sourceToTargetMap);\n }\n }\n return text;\n };\n\n /**\n * @name setOptions( options )\n * @function\n * Sets options for Bidi conversion\n * @param {Object}:\n * - isInputVisual {boolean} (defaults to false): allowed values: true(Visual mode), false(Logical mode)\n * - isInputRtl {boolean}: allowed values true(Right-to-left direction), false (Left-to-right directiion), undefined(Contectual direction, i.e.direction defined by first strong character of input string)\n * - isOutputVisual {boolean} (defaults to false): allowed values: true(Visual mode), false(Logical mode)\n * - isOutputRtl {boolean}: allowed values true(Right-to-left direction), false (Left-to-right directiion), undefined(Contectual direction, i.e.direction defined by first strong characterof input string)\n * - isSymmetricSwapping {boolean} (defaults to false): allowed values true(needs symmetric swapping), false (no need in symmetric swapping),\n */\n this.__bidiEngine__.setOptions = function(options) {\n if (options) {\n _isInVisual = options.isInputVisual;\n _isOutVisual = options.isOutputVisual;\n _isInRtl = options.isInputRtl;\n _isOutRtl = options.isOutputRtl;\n _isSymmetricSwapping = options.isSymmetricSwapping;\n }\n };\n\n this.__bidiEngine__.setOptions(options);\n return this.__bidiEngine__;\n };\n\n var _bidiUnicodeTypes = bidiUnicodeTypes;\n\n var bidiEngine = new jsPDF.__bidiEngine__({ isInputVisual: true });\n\n var bidiEngineFunction = function(args) {\n var text = args.text;\n var x = args.x;\n var y = args.y;\n var options = args.options || {};\n var mutex = args.mutex || {};\n var lang = options.lang;\n var tmpText = [];\n\n options.isInputVisual =\n typeof options.isInputVisual === \"boolean\" ? options.isInputVisual : true;\n bidiEngine.setOptions(options);\n\n if (Object.prototype.toString.call(text) === \"[object Array]\") {\n var i = 0;\n tmpText = [];\n for (i = 0; i < text.length; i += 1) {\n if (Object.prototype.toString.call(text[i]) === \"[object Array]\") {\n tmpText.push([\n bidiEngine.doBidiReorder(text[i][0]),\n text[i][1],\n text[i][2]\n ]);\n } else {\n tmpText.push([bidiEngine.doBidiReorder(text[i])]);\n }\n }\n args.text = tmpText;\n } else {\n args.text = bidiEngine.doBidiReorder(text);\n }\n bidiEngine.setOptions({ isInputVisual: true });\n };\n\n jsPDF.API.events.push([\"postProcessText\", bidiEngineFunction]);\n})(jsPDF);\n","/* eslint-disable no-control-regex */\n/************************************************\n * Title : custom font *\n * Start Data : 2017. 01. 22. *\n * Comment : TEXT API *\n ************************************************/\n\n/******************************\n * jsPDF extension API Design *\n * ****************************/\n\nimport { jsPDF } from \"../jspdf.js\";\n\njsPDF.API.TTFFont = (function() {\n /************************************************************************/\n /* function : open */\n /* comment : Decode the encoded ttf content and create a TTFFont object. */\n /************************************************************************/\n TTFFont.open = function(file) {\n return new TTFFont(file);\n };\n /***************************************************************/\n /* function : TTFFont gernerator */\n /* comment : Decode TTF contents are parsed, Data, */\n /* Subset object is created, and registerTTF function is called.*/\n /***************************************************************/\n function TTFFont(rawData) {\n var data;\n this.rawData = rawData;\n data = this.contents = new Data(rawData);\n this.contents.pos = 4;\n if (data.readString(4) === \"ttcf\") {\n throw new Error(\"TTCF not supported.\");\n } else {\n data.pos = 0;\n this.parse();\n this.subset = new Subset(this);\n this.registerTTF();\n }\n }\n /********************************************************/\n /* function : parse */\n /* comment : TTF Parses the file contents by each table.*/\n /********************************************************/\n TTFFont.prototype.parse = function() {\n this.directory = new Directory(this.contents);\n this.head = new HeadTable(this);\n this.name = new NameTable(this);\n this.cmap = new CmapTable(this);\n this.toUnicode = {};\n this.hhea = new HheaTable(this);\n this.maxp = new MaxpTable(this);\n this.hmtx = new HmtxTable(this);\n this.post = new PostTable(this);\n this.os2 = new OS2Table(this);\n this.loca = new LocaTable(this);\n this.glyf = new GlyfTable(this);\n this.ascender =\n (this.os2.exists && this.os2.ascender) || this.hhea.ascender;\n this.decender =\n (this.os2.exists && this.os2.decender) || this.hhea.decender;\n this.lineGap = (this.os2.exists && this.os2.lineGap) || this.hhea.lineGap;\n return (this.bbox = [\n this.head.xMin,\n this.head.yMin,\n this.head.xMax,\n this.head.yMax\n ]);\n };\n /***************************************************************/\n /* function : registerTTF */\n /* comment : Get the value to assign pdf font descriptors. */\n /***************************************************************/\n TTFFont.prototype.registerTTF = function() {\n var e, hi, low, raw, _ref;\n this.scaleFactor = 1000.0 / this.head.unitsPerEm;\n this.bbox = function() {\n var _i, _len, _ref, _results;\n _ref = this.bbox;\n _results = [];\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n e = _ref[_i];\n _results.push(Math.round(e * this.scaleFactor));\n }\n return _results;\n }.call(this);\n this.stemV = 0;\n if (this.post.exists) {\n raw = this.post.italic_angle;\n hi = raw >> 16;\n low = raw & 0xff;\n if ((hi & 0x8000) !== 0) {\n hi = -((hi ^ 0xffff) + 1);\n }\n this.italicAngle = +(\"\" + hi + \".\" + low);\n } else {\n this.italicAngle = 0;\n }\n this.ascender = Math.round(this.ascender * this.scaleFactor);\n this.decender = Math.round(this.decender * this.scaleFactor);\n this.lineGap = Math.round(this.lineGap * this.scaleFactor);\n this.capHeight = (this.os2.exists && this.os2.capHeight) || this.ascender;\n this.xHeight = (this.os2.exists && this.os2.xHeight) || 0;\n this.familyClass = ((this.os2.exists && this.os2.familyClass) || 0) >> 8;\n this.isSerif =\n (_ref = this.familyClass) === 1 ||\n _ref === 2 ||\n _ref === 3 ||\n _ref === 4 ||\n _ref === 5 ||\n _ref === 7;\n this.isScript = this.familyClass === 10;\n this.flags = 0;\n if (this.post.isFixedPitch) {\n this.flags |= 1 << 0;\n }\n if (this.isSerif) {\n this.flags |= 1 << 1;\n }\n if (this.isScript) {\n this.flags |= 1 << 3;\n }\n if (this.italicAngle !== 0) {\n this.flags |= 1 << 6;\n }\n this.flags |= 1 << 5;\n if (!this.cmap.unicode) {\n throw new Error(\"No unicode cmap for font\");\n }\n };\n TTFFont.prototype.characterToGlyph = function(character) {\n var _ref;\n return (\n ((_ref = this.cmap.unicode) != null ? _ref.codeMap[character] : void 0) ||\n 0\n );\n };\n TTFFont.prototype.widthOfGlyph = function(glyph) {\n var scale;\n scale = 1000.0 / this.head.unitsPerEm;\n return this.hmtx.forGlyph(glyph).advance * scale;\n };\n TTFFont.prototype.widthOfString = function(string, size, charSpace) {\n var charCode, i, scale, width, _ref;\n string = \"\" + string;\n width = 0;\n for (\n i = 0, _ref = string.length;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n charCode = string.charCodeAt(i);\n width +=\n this.widthOfGlyph(this.characterToGlyph(charCode)) +\n charSpace * (1000 / size) || 0;\n }\n scale = size / 1000;\n return width * scale;\n };\n TTFFont.prototype.lineHeight = function(size, includeGap) {\n var gap;\n if (includeGap == null) {\n includeGap = false;\n }\n gap = includeGap ? this.lineGap : 0;\n return ((this.ascender + gap - this.decender) / 1000) * size;\n };\n return TTFFont;\n})();\n\n/************************************************************************************************/\n/* function : Data */\n/* comment : The ttf data decoded and stored in an array is read and written to the Data object.*/\n/************************************************************************************************/\nvar Data = (function() {\n function Data(data) {\n this.data = data != null ? data : [];\n this.pos = 0;\n this.length = this.data.length;\n }\n Data.prototype.readByte = function() {\n return this.data[this.pos++];\n };\n Data.prototype.writeByte = function(byte) {\n return (this.data[this.pos++] = byte);\n };\n Data.prototype.readUInt32 = function() {\n var b1, b2, b3, b4;\n b1 = this.readByte() * 0x1000000;\n b2 = this.readByte() << 16;\n b3 = this.readByte() << 8;\n b4 = this.readByte();\n return b1 + b2 + b3 + b4;\n };\n Data.prototype.writeUInt32 = function(val) {\n this.writeByte((val >>> 24) & 0xff);\n this.writeByte((val >> 16) & 0xff);\n this.writeByte((val >> 8) & 0xff);\n return this.writeByte(val & 0xff);\n };\n Data.prototype.readInt32 = function() {\n var int;\n int = this.readUInt32();\n if (int >= 0x80000000) {\n return int - 0x100000000;\n } else {\n return int;\n }\n };\n Data.prototype.writeInt32 = function(val) {\n if (val < 0) {\n val += 0x100000000;\n }\n return this.writeUInt32(val);\n };\n Data.prototype.readUInt16 = function() {\n var b1, b2;\n b1 = this.readByte() << 8;\n b2 = this.readByte();\n return b1 | b2;\n };\n Data.prototype.writeUInt16 = function(val) {\n this.writeByte((val >> 8) & 0xff);\n return this.writeByte(val & 0xff);\n };\n Data.prototype.readInt16 = function() {\n var int;\n int = this.readUInt16();\n if (int >= 0x8000) {\n return int - 0x10000;\n } else {\n return int;\n }\n };\n Data.prototype.writeInt16 = function(val) {\n if (val < 0) {\n val += 0x10000;\n }\n return this.writeUInt16(val);\n };\n Data.prototype.readString = function(length) {\n var i, ret;\n ret = [];\n for (\n i = 0;\n 0 <= length ? i < length : i > length;\n i = 0 <= length ? ++i : --i\n ) {\n ret[i] = String.fromCharCode(this.readByte());\n }\n return ret.join(\"\");\n };\n Data.prototype.writeString = function(val) {\n var i, _ref, _results;\n _results = [];\n for (\n i = 0, _ref = val.length;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n _results.push(this.writeByte(val.charCodeAt(i)));\n }\n return _results;\n };\n /*Data.prototype.stringAt = function (pos, length) {\n this.pos = pos;\n return this.readString(length);\n };*/\n Data.prototype.readShort = function() {\n return this.readInt16();\n };\n Data.prototype.writeShort = function(val) {\n return this.writeInt16(val);\n };\n Data.prototype.readLongLong = function() {\n var b1, b2, b3, b4, b5, b6, b7, b8;\n b1 = this.readByte();\n b2 = this.readByte();\n b3 = this.readByte();\n b4 = this.readByte();\n b5 = this.readByte();\n b6 = this.readByte();\n b7 = this.readByte();\n b8 = this.readByte();\n if (b1 & 0x80) {\n return (\n ((b1 ^ 0xff) * 0x100000000000000 +\n (b2 ^ 0xff) * 0x1000000000000 +\n (b3 ^ 0xff) * 0x10000000000 +\n (b4 ^ 0xff) * 0x100000000 +\n (b5 ^ 0xff) * 0x1000000 +\n (b6 ^ 0xff) * 0x10000 +\n (b7 ^ 0xff) * 0x100 +\n (b8 ^ 0xff) +\n 1) *\n -1\n );\n }\n return (\n b1 * 0x100000000000000 +\n b2 * 0x1000000000000 +\n b3 * 0x10000000000 +\n b4 * 0x100000000 +\n b5 * 0x1000000 +\n b6 * 0x10000 +\n b7 * 0x100 +\n b8\n );\n };\n Data.prototype.writeLongLong = function(val) {\n var high, low;\n high = Math.floor(val / 0x100000000);\n low = val & 0xffffffff;\n this.writeByte((high >> 24) & 0xff);\n this.writeByte((high >> 16) & 0xff);\n this.writeByte((high >> 8) & 0xff);\n this.writeByte(high & 0xff);\n this.writeByte((low >> 24) & 0xff);\n this.writeByte((low >> 16) & 0xff);\n this.writeByte((low >> 8) & 0xff);\n return this.writeByte(low & 0xff);\n };\n Data.prototype.readInt = function() {\n return this.readInt32();\n };\n Data.prototype.writeInt = function(val) {\n return this.writeInt32(val);\n };\n /*Data.prototype.slice = function (start, end) {\n return this.data.slice(start, end);\n };*/\n Data.prototype.read = function(bytes) {\n var buf, i;\n buf = [];\n for (\n i = 0;\n 0 <= bytes ? i < bytes : i > bytes;\n i = 0 <= bytes ? ++i : --i\n ) {\n buf.push(this.readByte());\n }\n return buf;\n };\n Data.prototype.write = function(bytes) {\n var byte, i, _len, _results;\n _results = [];\n for (i = 0, _len = bytes.length; i < _len; i++) {\n byte = bytes[i];\n _results.push(this.writeByte(byte));\n }\n return _results;\n };\n return Data;\n})();\n\nvar Directory = (function() {\n var checksum;\n\n /*****************************************************************************************************/\n /* function : Directory generator */\n /* comment : Initialize the offset, tag, length, and checksum for each table for the font to be used.*/\n /*****************************************************************************************************/\n function Directory(data) {\n var entry, i, _ref;\n this.scalarType = data.readInt();\n this.tableCount = data.readShort();\n this.searchRange = data.readShort();\n this.entrySelector = data.readShort();\n this.rangeShift = data.readShort();\n this.tables = {};\n for (\n i = 0, _ref = this.tableCount;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n entry = {\n tag: data.readString(4),\n checksum: data.readInt(),\n offset: data.readInt(),\n length: data.readInt()\n };\n this.tables[entry.tag] = entry;\n }\n }\n /********************************************************************************************************/\n /* function : encode */\n /* comment : It encodes and stores the font table object and information used for the directory object. */\n /********************************************************************************************************/\n Directory.prototype.encode = function(tables) {\n var adjustment,\n directory,\n directoryLength,\n entrySelector,\n headOffset,\n log2,\n offset,\n rangeShift,\n searchRange,\n sum,\n table,\n tableCount,\n tableData,\n tag;\n tableCount = Object.keys(tables).length;\n log2 = Math.log(2);\n searchRange = Math.floor(Math.log(tableCount) / log2) * 16;\n entrySelector = Math.floor(searchRange / log2);\n rangeShift = tableCount * 16 - searchRange;\n directory = new Data();\n directory.writeInt(this.scalarType);\n directory.writeShort(tableCount);\n directory.writeShort(searchRange);\n directory.writeShort(entrySelector);\n directory.writeShort(rangeShift);\n directoryLength = tableCount * 16;\n offset = directory.pos + directoryLength;\n headOffset = null;\n tableData = [];\n for (tag in tables) {\n table = tables[tag];\n directory.writeString(tag);\n directory.writeInt(checksum(table));\n directory.writeInt(offset);\n directory.writeInt(table.length);\n tableData = tableData.concat(table);\n if (tag === \"head\") {\n headOffset = offset;\n }\n offset += table.length;\n while (offset % 4) {\n tableData.push(0);\n offset++;\n }\n }\n directory.write(tableData);\n sum = checksum(directory.data);\n adjustment = 0xb1b0afba - sum;\n directory.pos = headOffset + 8;\n directory.writeUInt32(adjustment);\n return directory.data;\n };\n /***************************************************************/\n /* function : checksum */\n /* comment : Duplicate the table for the tag. */\n /***************************************************************/\n checksum = function(data) {\n var i, sum, tmp, _ref;\n data = __slice.call(data);\n while (data.length % 4) {\n data.push(0);\n }\n tmp = new Data(data);\n sum = 0;\n for (i = 0, _ref = data.length; i < _ref; i = i += 4) {\n sum += tmp.readUInt32();\n }\n return sum & 0xffffffff;\n };\n return Directory;\n})();\n\nvar Table,\n __hasProp = {}.hasOwnProperty,\n __extends = function(child, parent) {\n for (var key in parent) {\n if (__hasProp.call(parent, key)) child[key] = parent[key];\n }\n\n function ctor() {\n this.constructor = child;\n }\n ctor.prototype = parent.prototype;\n child.prototype = new ctor();\n child.__super__ = parent.prototype;\n return child;\n };\n\n/***************************************************************/\n/* function : Table */\n/* comment : Save info for each table, and parse the table. */\n/***************************************************************/\nTable = (function() {\n function Table(file) {\n var info;\n this.file = file;\n info = this.file.directory.tables[this.tag];\n this.exists = !!info;\n if (info) {\n (this.offset = info.offset), (this.length = info.length);\n this.parse(this.file.contents);\n }\n }\n Table.prototype.parse = function() {};\n Table.prototype.encode = function() {};\n Table.prototype.raw = function() {\n if (!this.exists) {\n return null;\n }\n this.file.contents.pos = this.offset;\n return this.file.contents.read(this.length);\n };\n return Table;\n})();\n\nvar HeadTable = (function(_super) {\n __extends(HeadTable, _super);\n\n function HeadTable() {\n return HeadTable.__super__.constructor.apply(this, arguments);\n }\n HeadTable.prototype.tag = \"head\";\n HeadTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.revision = data.readInt();\n this.checkSumAdjustment = data.readInt();\n this.magicNumber = data.readInt();\n this.flags = data.readShort();\n this.unitsPerEm = data.readShort();\n this.created = data.readLongLong();\n this.modified = data.readLongLong();\n this.xMin = data.readShort();\n this.yMin = data.readShort();\n this.xMax = data.readShort();\n this.yMax = data.readShort();\n this.macStyle = data.readShort();\n this.lowestRecPPEM = data.readShort();\n this.fontDirectionHint = data.readShort();\n this.indexToLocFormat = data.readShort();\n return (this.glyphDataFormat = data.readShort());\n };\n HeadTable.prototype.encode = function(indexToLocFormat) {\n var table;\n table = new Data();\n table.writeInt(this.version);\n table.writeInt(this.revision);\n table.writeInt(this.checkSumAdjustment);\n table.writeInt(this.magicNumber);\n table.writeShort(this.flags);\n table.writeShort(this.unitsPerEm);\n table.writeLongLong(this.created);\n table.writeLongLong(this.modified);\n table.writeShort(this.xMin);\n table.writeShort(this.yMin);\n table.writeShort(this.xMax);\n table.writeShort(this.yMax);\n table.writeShort(this.macStyle);\n table.writeShort(this.lowestRecPPEM);\n table.writeShort(this.fontDirectionHint);\n table.writeShort(indexToLocFormat);\n table.writeShort(this.glyphDataFormat);\n return table.data;\n };\n return HeadTable;\n})(Table);\n\n/************************************************************************************/\n/* function : CmapEntry */\n/* comment : Cmap Initializes and encodes object information (required by pdf spec).*/\n/************************************************************************************/\nvar CmapEntry = (function() {\n function CmapEntry(data, offset) {\n var code,\n count,\n endCode,\n glyphId,\n glyphIds,\n i,\n idDelta,\n idRangeOffset,\n index,\n saveOffset,\n segCount,\n segCountX2,\n start,\n startCode,\n tail,\n _j,\n _k,\n _len;\n this.platformID = data.readUInt16();\n this.encodingID = data.readShort();\n this.offset = offset + data.readInt();\n saveOffset = data.pos;\n data.pos = this.offset;\n this.format = data.readUInt16();\n this.length = data.readUInt16();\n this.language = data.readUInt16();\n this.isUnicode =\n (this.platformID === 3 && this.encodingID === 1 && this.format === 4) ||\n (this.platformID === 0 && this.format === 4);\n this.codeMap = {};\n switch (this.format) {\n case 0:\n for (i = 0; i < 256; ++i) {\n this.codeMap[i] = data.readByte();\n }\n break;\n case 4:\n segCountX2 = data.readUInt16();\n segCount = segCountX2 / 2;\n data.pos += 6;\n endCode = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n data.pos += 2;\n startCode = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n idDelta = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n idRangeOffset = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n count = (this.length - data.pos + this.offset) / 2;\n glyphIds = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= count ? _j < count : _j > count;\n i = 0 <= count ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n for (i = _j = 0, _len = endCode.length; _j < _len; i = ++_j) {\n tail = endCode[i];\n start = startCode[i];\n for (\n code = _k = start;\n start <= tail ? _k <= tail : _k >= tail;\n code = start <= tail ? ++_k : --_k\n ) {\n if (idRangeOffset[i] === 0) {\n glyphId = code + idDelta[i];\n } else {\n index = idRangeOffset[i] / 2 + (code - start) - (segCount - i);\n glyphId = glyphIds[index] || 0;\n if (glyphId !== 0) {\n glyphId += idDelta[i];\n }\n }\n this.codeMap[code] = glyphId & 0xffff;\n }\n }\n }\n data.pos = saveOffset;\n }\n CmapEntry.encode = function(charmap, encoding) {\n var charMap,\n code,\n codeMap,\n codes,\n delta,\n deltas,\n diff,\n endCode,\n endCodes,\n entrySelector,\n glyphIDs,\n i,\n id,\n indexes,\n last,\n map,\n nextID,\n offset,\n old,\n rangeOffsets,\n rangeShift,\n searchRange,\n segCount,\n segCountX2,\n startCode,\n startCodes,\n startGlyph,\n subtable,\n _i,\n _j,\n _k,\n _l,\n _len,\n _len1,\n _len2,\n _len3,\n _len4,\n _len5,\n _len6,\n _len7,\n _m,\n _n,\n _name,\n _o,\n _p,\n _q;\n subtable = new Data();\n codes = Object.keys(charmap).sort(function(a, b) {\n return a - b;\n });\n switch (encoding) {\n case \"macroman\":\n id = 0;\n indexes = (function() {\n var _results = [];\n for (i = 0; i < 256; ++i) {\n _results.push(0);\n }\n return _results;\n })();\n map = {\n 0: 0\n };\n codeMap = {};\n for (_i = 0, _len = codes.length; _i < _len; _i++) {\n code = codes[_i];\n if (map[(_name = charmap[code])] == null) {\n map[_name] = ++id;\n }\n codeMap[code] = {\n old: charmap[code],\n new: map[charmap[code]]\n };\n indexes[code] = map[charmap[code]];\n }\n subtable.writeUInt16(1);\n subtable.writeUInt16(0);\n subtable.writeUInt32(12);\n subtable.writeUInt16(0);\n subtable.writeUInt16(262);\n subtable.writeUInt16(0);\n subtable.write(indexes);\n return {\n charMap: codeMap,\n subtable: subtable.data,\n maxGlyphID: id + 1\n };\n case \"unicode\":\n startCodes = [];\n endCodes = [];\n nextID = 0;\n map = {};\n charMap = {};\n last = diff = null;\n for (_j = 0, _len1 = codes.length; _j < _len1; _j++) {\n code = codes[_j];\n old = charmap[code];\n if (map[old] == null) {\n map[old] = ++nextID;\n }\n charMap[code] = {\n old: old,\n new: map[old]\n };\n delta = map[old] - code;\n if (last == null || delta !== diff) {\n if (last) {\n endCodes.push(last);\n }\n startCodes.push(code);\n diff = delta;\n }\n last = code;\n }\n if (last) {\n endCodes.push(last);\n }\n endCodes.push(0xffff);\n startCodes.push(0xffff);\n segCount = startCodes.length;\n segCountX2 = segCount * 2;\n searchRange = 2 * Math.pow(Math.log(segCount) / Math.LN2, 2);\n entrySelector = Math.log(searchRange / 2) / Math.LN2;\n rangeShift = 2 * segCount - searchRange;\n deltas = [];\n rangeOffsets = [];\n glyphIDs = [];\n for (i = _k = 0, _len2 = startCodes.length; _k < _len2; i = ++_k) {\n startCode = startCodes[i];\n endCode = endCodes[i];\n if (startCode === 0xffff) {\n deltas.push(0);\n rangeOffsets.push(0);\n break;\n }\n startGlyph = charMap[startCode][\"new\"];\n if (startCode - startGlyph >= 0x8000) {\n deltas.push(0);\n rangeOffsets.push(2 * (glyphIDs.length + segCount - i));\n for (\n code = _l = startCode;\n startCode <= endCode ? _l <= endCode : _l >= endCode;\n code = startCode <= endCode ? ++_l : --_l\n ) {\n glyphIDs.push(charMap[code][\"new\"]);\n }\n } else {\n deltas.push(startGlyph - startCode);\n rangeOffsets.push(0);\n }\n }\n subtable.writeUInt16(3);\n subtable.writeUInt16(1);\n subtable.writeUInt32(12);\n subtable.writeUInt16(4);\n subtable.writeUInt16(16 + segCount * 8 + glyphIDs.length * 2);\n subtable.writeUInt16(0);\n subtable.writeUInt16(segCountX2);\n subtable.writeUInt16(searchRange);\n subtable.writeUInt16(entrySelector);\n subtable.writeUInt16(rangeShift);\n for (_m = 0, _len3 = endCodes.length; _m < _len3; _m++) {\n code = endCodes[_m];\n subtable.writeUInt16(code);\n }\n subtable.writeUInt16(0);\n for (_n = 0, _len4 = startCodes.length; _n < _len4; _n++) {\n code = startCodes[_n];\n subtable.writeUInt16(code);\n }\n for (_o = 0, _len5 = deltas.length; _o < _len5; _o++) {\n delta = deltas[_o];\n subtable.writeUInt16(delta);\n }\n for (_p = 0, _len6 = rangeOffsets.length; _p < _len6; _p++) {\n offset = rangeOffsets[_p];\n subtable.writeUInt16(offset);\n }\n for (_q = 0, _len7 = glyphIDs.length; _q < _len7; _q++) {\n id = glyphIDs[_q];\n subtable.writeUInt16(id);\n }\n return {\n charMap: charMap,\n subtable: subtable.data,\n maxGlyphID: nextID + 1\n };\n }\n };\n return CmapEntry;\n})();\n\nvar CmapTable = (function(_super) {\n __extends(CmapTable, _super);\n\n function CmapTable() {\n return CmapTable.__super__.constructor.apply(this, arguments);\n }\n CmapTable.prototype.tag = \"cmap\";\n CmapTable.prototype.parse = function(data) {\n var entry, i, tableCount;\n data.pos = this.offset;\n this.version = data.readUInt16();\n tableCount = data.readUInt16();\n this.tables = [];\n this.unicode = null;\n for (\n i = 0;\n 0 <= tableCount ? i < tableCount : i > tableCount;\n i = 0 <= tableCount ? ++i : --i\n ) {\n entry = new CmapEntry(data, this.offset);\n this.tables.push(entry);\n if (entry.isUnicode) {\n if (this.unicode == null) {\n this.unicode = entry;\n }\n }\n }\n return true;\n };\n /*************************************************************************/\n /* function : encode */\n /* comment : Encode the cmap table corresponding to the input character. */\n /*************************************************************************/\n CmapTable.encode = function(charmap, encoding) {\n var result, table;\n if (encoding == null) {\n encoding = \"macroman\";\n }\n result = CmapEntry.encode(charmap, encoding);\n table = new Data();\n table.writeUInt16(0);\n table.writeUInt16(1);\n result.table = table.data.concat(result.subtable);\n return result;\n };\n return CmapTable;\n})(Table);\n\nvar HheaTable = (function(_super) {\n __extends(HheaTable, _super);\n\n function HheaTable() {\n return HheaTable.__super__.constructor.apply(this, arguments);\n }\n HheaTable.prototype.tag = \"hhea\";\n HheaTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.ascender = data.readShort();\n this.decender = data.readShort();\n this.lineGap = data.readShort();\n this.advanceWidthMax = data.readShort();\n this.minLeftSideBearing = data.readShort();\n this.minRightSideBearing = data.readShort();\n this.xMaxExtent = data.readShort();\n this.caretSlopeRise = data.readShort();\n this.caretSlopeRun = data.readShort();\n this.caretOffset = data.readShort();\n data.pos += 4 * 2;\n this.metricDataFormat = data.readShort();\n return (this.numberOfMetrics = data.readUInt16());\n };\n /*HheaTable.prototype.encode = function (ids) {\n var i, table, _i, _ref;\n table = new Data;\n table.writeInt(this.version);\n table.writeShort(this.ascender);\n table.writeShort(this.decender);\n table.writeShort(this.lineGap);\n table.writeShort(this.advanceWidthMax);\n table.writeShort(this.minLeftSideBearing);\n table.writeShort(this.minRightSideBearing);\n table.writeShort(this.xMaxExtent);\n table.writeShort(this.caretSlopeRise);\n table.writeShort(this.caretSlopeRun);\n table.writeShort(this.caretOffset);\n for (i = _i = 0, _ref = 4 * 2; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n table.writeByte(0);\n }\n table.writeShort(this.metricDataFormat);\n table.writeUInt16(ids.length);\n return table.data;\n };*/\n return HheaTable;\n})(Table);\n\nvar OS2Table = (function(_super) {\n __extends(OS2Table, _super);\n\n function OS2Table() {\n return OS2Table.__super__.constructor.apply(this, arguments);\n }\n OS2Table.prototype.tag = \"OS/2\";\n OS2Table.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readUInt16();\n this.averageCharWidth = data.readShort();\n this.weightClass = data.readUInt16();\n this.widthClass = data.readUInt16();\n this.type = data.readShort();\n this.ySubscriptXSize = data.readShort();\n this.ySubscriptYSize = data.readShort();\n this.ySubscriptXOffset = data.readShort();\n this.ySubscriptYOffset = data.readShort();\n this.ySuperscriptXSize = data.readShort();\n this.ySuperscriptYSize = data.readShort();\n this.ySuperscriptXOffset = data.readShort();\n this.ySuperscriptYOffset = data.readShort();\n this.yStrikeoutSize = data.readShort();\n this.yStrikeoutPosition = data.readShort();\n this.familyClass = data.readShort();\n this.panose = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 10; ++i) {\n _results.push(data.readByte());\n }\n return _results;\n })();\n this.charRange = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 4; ++i) {\n _results.push(data.readInt());\n }\n return _results;\n })();\n this.vendorID = data.readString(4);\n this.selection = data.readShort();\n this.firstCharIndex = data.readShort();\n this.lastCharIndex = data.readShort();\n if (this.version > 0) {\n this.ascent = data.readShort();\n this.descent = data.readShort();\n this.lineGap = data.readShort();\n this.winAscent = data.readShort();\n this.winDescent = data.readShort();\n this.codePageRange = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 2; i = ++i) {\n _results.push(data.readInt());\n }\n return _results;\n })();\n if (this.version > 1) {\n this.xHeight = data.readShort();\n this.capHeight = data.readShort();\n this.defaultChar = data.readShort();\n this.breakChar = data.readShort();\n return (this.maxContext = data.readShort());\n }\n }\n };\n /*OS2Table.prototype.encode = function () {\n return this.raw();\n };*/\n return OS2Table;\n})(Table);\n\nvar PostTable = (function(_super) {\n var POSTSCRIPT_GLYPHS;\n __extends(PostTable, _super);\n\n function PostTable() {\n return PostTable.__super__.constructor.apply(this, arguments);\n }\n PostTable.prototype.tag = \"post\";\n PostTable.prototype.parse = function(data) {\n var length, numberOfGlyphs, _results;\n data.pos = this.offset;\n this.format = data.readInt();\n this.italicAngle = data.readInt();\n this.underlinePosition = data.readShort();\n this.underlineThickness = data.readShort();\n this.isFixedPitch = data.readInt();\n this.minMemType42 = data.readInt();\n this.maxMemType42 = data.readInt();\n this.minMemType1 = data.readInt();\n this.maxMemType1 = data.readInt();\n switch (this.format) {\n case 0x00010000:\n break;\n case 0x00020000:\n numberOfGlyphs = data.readUInt16();\n this.glyphNameIndex = [];\n var i;\n for (\n i = 0;\n 0 <= numberOfGlyphs ? i < numberOfGlyphs : i > numberOfGlyphs;\n i = 0 <= numberOfGlyphs ? ++i : --i\n ) {\n this.glyphNameIndex.push(data.readUInt16());\n }\n this.names = [];\n _results = [];\n while (data.pos < this.offset + this.length) {\n length = data.readByte();\n _results.push(this.names.push(data.readString(length)));\n }\n return _results;\n case 0x00025000:\n numberOfGlyphs = data.readUInt16();\n return (this.offsets = data.read(numberOfGlyphs));\n case 0x00030000:\n break;\n case 0x00040000:\n return (this.map = function() {\n var _j, _ref, _results1;\n _results1 = [];\n for (\n i = _j = 0, _ref = this.file.maxp.numGlyphs;\n 0 <= _ref ? _j < _ref : _j > _ref;\n i = 0 <= _ref ? ++_j : --_j\n ) {\n _results1.push(data.readUInt32());\n }\n return _results1;\n }.call(this));\n }\n };\n /*PostTable.prototype.glyphFor = function (code) {\n var index;\n switch (this.format) {\n case 0x00010000:\n return POSTSCRIPT_GLYPHS[code] || '.notdef';\n case 0x00020000:\n index = this.glyphNameIndex[code];\n if (index <= 257) {\n return POSTSCRIPT_GLYPHS[index];\n }\n else {\n return this.names[index - 258] || '.notdef';\n }\n break;\n case 0x00025000:\n return POSTSCRIPT_GLYPHS[code + this.offsets[code]] || '.notdef';\n case 0x00030000:\n return '.notdef';\n case 0x00040000:\n return this.map[code] || 0xFFFF;\n }\n };*/\n /*PostTable.prototype.encode = function (mapping) {\n var id, index, indexes, position, post, raw, string, strings, table, _i, _j, _k, _len, _len1, _len2;\n if (!this.exists) {\n return null;\n }\n raw = this.raw();\n if (this.format === 0x00030000) {\n return raw;\n }\n table = new Data(raw.slice(0, 32));\n table.writeUInt32(0x00020000);\n table.pos = 32;\n indexes = [];\n strings = [];\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n post = this.glyphFor(id);\n position = POSTSCRIPT_GLYPHS.indexOf(post);\n if (position !== -1) {\n indexes.push(position);\n }\n else {\n indexes.push(257 + strings.length);\n strings.push(post);\n }\n }\n table.writeUInt16(Object.keys(mapping).length);\n for (_j = 0, _len1 = indexes.length; _j < _len1; _j++) {\n index = indexes[_j];\n table.writeUInt16(index);\n }\n for (_k = 0, _len2 = strings.length; _k < _len2; _k++) {\n string = strings[_k];\n table.writeByte(string.length);\n table.writeString(string);\n }\n return table.data;\n };*/\n POSTSCRIPT_GLYPHS = \".notdef .null nonmarkingreturn space exclam quotedbl numbersign dollar percent\\nampersand quotesingle parenleft parenright asterisk plus comma hyphen period slash\\nzero one two three four five six seven eight nine colon semicolon less equal greater\\nquestion at A B C D E F G H I J K L M N O P Q R S T U V W X Y Z\\nbracketleft backslash bracketright asciicircum underscore grave\\na b c d e f g h i j k l m n o p q r s t u v w x y z\\nbraceleft bar braceright asciitilde Adieresis Aring Ccedilla Eacute Ntilde Odieresis\\nUdieresis aacute agrave acircumflex adieresis atilde aring ccedilla eacute egrave\\necircumflex edieresis iacute igrave icircumflex idieresis ntilde oacute ograve\\nocircumflex odieresis otilde uacute ugrave ucircumflex udieresis dagger degree cent\\nsterling section bullet paragraph germandbls registered copyright trademark acute\\ndieresis notequal AE Oslash infinity plusminus lessequal greaterequal yen mu\\npartialdiff summation product pi integral ordfeminine ordmasculine Omega ae oslash\\nquestiondown exclamdown logicalnot radical florin approxequal Delta guillemotleft\\nguillemotright ellipsis nonbreakingspace Agrave Atilde Otilde OE oe endash emdash\\nquotedblleft quotedblright quoteleft quoteright divide lozenge ydieresis Ydieresis\\nfraction currency guilsinglleft guilsinglright fi fl daggerdbl periodcentered\\nquotesinglbase quotedblbase perthousand Acircumflex Ecircumflex Aacute Edieresis\\nEgrave Iacute Icircumflex Idieresis Igrave Oacute Ocircumflex apple Ograve Uacute\\nUcircumflex Ugrave dotlessi circumflex tilde macron breve dotaccent ring cedilla\\nhungarumlaut ogonek caron Lslash lslash Scaron scaron Zcaron zcaron brokenbar Eth\\neth Yacute yacute Thorn thorn minus multiply onesuperior twosuperior threesuperior\\nonehalf onequarter threequarters franc Gbreve gbreve Idotaccent Scedilla scedilla\\nCacute cacute Ccaron ccaron dcroat\".split(\n /\\s+/g\n );\n return PostTable;\n})(Table);\n\n/*********************************************************************************************************/\n/* function : NameEntry */\n/* comment : Store copyright information, platformID, encodingID, and languageID in the NameEntry object.*/\n/*********************************************************************************************************/\nvar NameEntry = (function() {\n function NameEntry(raw, entry) {\n this.raw = raw;\n this.length = raw.length;\n this.platformID = entry.platformID;\n this.encodingID = entry.encodingID;\n this.languageID = entry.languageID;\n }\n return NameEntry;\n})();\n\nvar NameTable = (function(_super) {\n var subsetTag;\n __extends(NameTable, _super);\n\n function NameTable() {\n return NameTable.__super__.constructor.apply(this, arguments);\n }\n NameTable.prototype.tag = \"name\";\n NameTable.prototype.parse = function(data) {\n var count,\n entries,\n entry,\n i,\n name,\n stringOffset,\n strings,\n text,\n _j,\n _len,\n _name;\n data.pos = this.offset;\n data.readShort(); //format\n count = data.readShort();\n stringOffset = data.readShort();\n entries = [];\n for (\n i = 0;\n 0 <= count ? i < count : i > count;\n i = 0 <= count ? ++i : --i\n ) {\n entries.push({\n platformID: data.readShort(),\n encodingID: data.readShort(),\n languageID: data.readShort(),\n nameID: data.readShort(),\n length: data.readShort(),\n offset: this.offset + stringOffset + data.readShort()\n });\n }\n strings = {};\n for (i = _j = 0, _len = entries.length; _j < _len; i = ++_j) {\n entry = entries[i];\n data.pos = entry.offset;\n text = data.readString(entry.length);\n name = new NameEntry(text, entry);\n if (strings[(_name = entry.nameID)] == null) {\n strings[_name] = [];\n }\n strings[entry.nameID].push(name);\n }\n this.strings = strings;\n this.copyright = strings[0];\n this.fontFamily = strings[1];\n this.fontSubfamily = strings[2];\n this.uniqueSubfamily = strings[3];\n this.fontName = strings[4];\n this.version = strings[5];\n try {\n this.postscriptName = strings[6][0].raw.replace(\n /[\\x00-\\x19\\x80-\\xff]/g,\n \"\"\n );\n } catch (e) {\n this.postscriptName = strings[4][0].raw.replace(\n /[\\x00-\\x19\\x80-\\xff]/g,\n \"\"\n );\n }\n this.trademark = strings[7];\n this.manufacturer = strings[8];\n this.designer = strings[9];\n this.description = strings[10];\n this.vendorUrl = strings[11];\n this.designerUrl = strings[12];\n this.license = strings[13];\n this.licenseUrl = strings[14];\n this.preferredFamily = strings[15];\n this.preferredSubfamily = strings[17];\n this.compatibleFull = strings[18];\n return (this.sampleText = strings[19]);\n };\n subsetTag = \"AAAAAA\";\n /*NameTable.prototype.encode = function () {\n var id, list, nameID, nameTable, postscriptName, strCount, strTable, string, strings, table, val, _i, _len, _ref;\n strings = {};\n _ref = this.strings;\n for (id in _ref) {\n val = _ref[id];\n strings[id] = val;\n }\n postscriptName = new NameEntry(\"\" + subsetTag + \"+\" + this.postscriptName, {\n platformID: 1\n , encodingID: 0\n , languageID: 0\n });\n strings[6] = [postscriptName];\n subsetTag = successorOf(subsetTag);\n strCount = 0;\n for (id in strings) {\n list = strings[id];\n if (list != null) {\n strCount += list.length;\n }\n }\n table = new Data;\n strTable = new Data;\n table.writeShort(0);\n table.writeShort(strCount);\n table.writeShort(6 + 12 * strCount);\n for (nameID in strings) {\n list = strings[nameID];\n if (list != null) {\n for (_i = 0, _len = list.length; _i < _len; _i++) {\n string = list[_i];\n table.writeShort(string.platformID);\n table.writeShort(string.encodingID);\n table.writeShort(string.languageID);\n table.writeShort(nameID);\n table.writeShort(string.length);\n table.writeShort(strTable.pos);\n strTable.writeString(string.raw);\n }\n }\n }\n return nameTable = {\n postscriptName: postscriptName.raw\n , table: table.data.concat(strTable.data)\n };\n };*/\n return NameTable;\n})(Table);\n\nvar MaxpTable = (function(_super) {\n __extends(MaxpTable, _super);\n\n function MaxpTable() {\n return MaxpTable.__super__.constructor.apply(this, arguments);\n }\n MaxpTable.prototype.tag = \"maxp\";\n MaxpTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.numGlyphs = data.readUInt16();\n this.maxPoints = data.readUInt16();\n this.maxContours = data.readUInt16();\n this.maxCompositePoints = data.readUInt16();\n this.maxComponentContours = data.readUInt16();\n this.maxZones = data.readUInt16();\n this.maxTwilightPoints = data.readUInt16();\n this.maxStorage = data.readUInt16();\n this.maxFunctionDefs = data.readUInt16();\n this.maxInstructionDefs = data.readUInt16();\n this.maxStackElements = data.readUInt16();\n this.maxSizeOfInstructions = data.readUInt16();\n this.maxComponentElements = data.readUInt16();\n return (this.maxComponentDepth = data.readUInt16());\n };\n /*MaxpTable.prototype.encode = function (ids) {\n var table;\n table = new Data;\n table.writeInt(this.version);\n table.writeUInt16(ids.length);\n table.writeUInt16(this.maxPoints);\n table.writeUInt16(this.maxContours);\n table.writeUInt16(this.maxCompositePoints);\n table.writeUInt16(this.maxComponentContours);\n table.writeUInt16(this.maxZones);\n table.writeUInt16(this.maxTwilightPoints);\n table.writeUInt16(this.maxStorage);\n table.writeUInt16(this.maxFunctionDefs);\n table.writeUInt16(this.maxInstructionDefs);\n table.writeUInt16(this.maxStackElements);\n table.writeUInt16(this.maxSizeOfInstructions);\n table.writeUInt16(this.maxComponentElements);\n table.writeUInt16(this.maxComponentDepth);\n return table.data;\n };*/\n return MaxpTable;\n})(Table);\n\nvar HmtxTable = (function(_super) {\n __extends(HmtxTable, _super);\n\n function HmtxTable() {\n return HmtxTable.__super__.constructor.apply(this, arguments);\n }\n HmtxTable.prototype.tag = \"hmtx\";\n HmtxTable.prototype.parse = function(data) {\n var i, last, lsbCount, m, _j, _ref, _results;\n data.pos = this.offset;\n this.metrics = [];\n for (\n i = 0, _ref = this.file.hhea.numberOfMetrics;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n this.metrics.push({\n advance: data.readUInt16(),\n lsb: data.readInt16()\n });\n }\n lsbCount = this.file.maxp.numGlyphs - this.file.hhea.numberOfMetrics;\n this.leftSideBearings = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= lsbCount ? _j < lsbCount : _j > lsbCount;\n i = 0 <= lsbCount ? ++_j : --_j\n ) {\n _results.push(data.readInt16());\n }\n return _results;\n })();\n this.widths = function() {\n var _j, _len, _ref1, _results;\n _ref1 = this.metrics;\n _results = [];\n for (_j = 0, _len = _ref1.length; _j < _len; _j++) {\n m = _ref1[_j];\n _results.push(m.advance);\n }\n return _results;\n }.call(this);\n last = this.widths[this.widths.length - 1];\n _results = [];\n for (\n i = _j = 0;\n 0 <= lsbCount ? _j < lsbCount : _j > lsbCount;\n i = 0 <= lsbCount ? ++_j : --_j\n ) {\n _results.push(this.widths.push(last));\n }\n return _results;\n };\n /***************************************************************/\n /* function : forGlyph */\n /* comment : Returns the advance width and lsb for this glyph. */\n /***************************************************************/\n HmtxTable.prototype.forGlyph = function(id) {\n if (id in this.metrics) {\n return this.metrics[id];\n }\n return {\n advance: this.metrics[this.metrics.length - 1].advance,\n lsb: this.leftSideBearings[id - this.metrics.length]\n };\n };\n /*HmtxTable.prototype.encode = function (mapping) {\n var id, metric, table, _i, _len;\n table = new Data;\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n metric = this.forGlyph(id);\n table.writeUInt16(metric.advance);\n table.writeUInt16(metric.lsb);\n }\n return table.data;\n };*/\n return HmtxTable;\n})(Table);\n\nvar __slice = [].slice;\n\nvar GlyfTable = (function(_super) {\n __extends(GlyfTable, _super);\n\n function GlyfTable() {\n return GlyfTable.__super__.constructor.apply(this, arguments);\n }\n GlyfTable.prototype.tag = \"glyf\";\n GlyfTable.prototype.parse = function() {\n return (this.cache = {});\n };\n GlyfTable.prototype.glyphFor = function(id) {\n var data,\n index,\n length,\n loca,\n numberOfContours,\n raw,\n xMax,\n xMin,\n yMax,\n yMin;\n if (id in this.cache) {\n return this.cache[id];\n }\n loca = this.file.loca;\n data = this.file.contents;\n index = loca.indexOf(id);\n length = loca.lengthOf(id);\n if (length === 0) {\n return (this.cache[id] = null);\n }\n data.pos = this.offset + index;\n raw = new Data(data.read(length));\n numberOfContours = raw.readShort();\n xMin = raw.readShort();\n yMin = raw.readShort();\n xMax = raw.readShort();\n yMax = raw.readShort();\n if (numberOfContours === -1) {\n this.cache[id] = new CompoundGlyph(raw, xMin, yMin, xMax, yMax);\n } else {\n this.cache[id] = new SimpleGlyph(\n raw,\n numberOfContours,\n xMin,\n yMin,\n xMax,\n yMax\n );\n }\n return this.cache[id];\n };\n GlyfTable.prototype.encode = function(glyphs, mapping, old2new) {\n var glyph, id, offsets, table, _i, _len;\n table = [];\n offsets = [];\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n glyph = glyphs[id];\n offsets.push(table.length);\n if (glyph) {\n table = table.concat(glyph.encode(old2new));\n }\n }\n offsets.push(table.length);\n return {\n table: table,\n offsets: offsets\n };\n };\n return GlyfTable;\n})(Table);\n\nvar SimpleGlyph = (function() {\n /**************************************************************************/\n /* function : SimpleGlyph */\n /* comment : Stores raw, xMin, yMin, xMax, and yMax values for this glyph.*/\n /**************************************************************************/\n function SimpleGlyph(raw, numberOfContours, xMin, yMin, xMax, yMax) {\n this.raw = raw;\n this.numberOfContours = numberOfContours;\n this.xMin = xMin;\n this.yMin = yMin;\n this.xMax = xMax;\n this.yMax = yMax;\n this.compound = false;\n }\n SimpleGlyph.prototype.encode = function() {\n return this.raw.data;\n };\n return SimpleGlyph;\n})();\n\nvar CompoundGlyph = (function() {\n var ARG_1_AND_2_ARE_WORDS,\n MORE_COMPONENTS,\n WE_HAVE_AN_X_AND_Y_SCALE,\n WE_HAVE_A_SCALE,\n WE_HAVE_A_TWO_BY_TWO,\n WE_HAVE_INSTRUCTIONS;\n ARG_1_AND_2_ARE_WORDS = 0x0001;\n WE_HAVE_A_SCALE = 0x0008;\n MORE_COMPONENTS = 0x0020;\n WE_HAVE_AN_X_AND_Y_SCALE = 0x0040;\n WE_HAVE_A_TWO_BY_TWO = 0x0080;\n WE_HAVE_INSTRUCTIONS = 0x0100;\n\n /********************************************************************************************************************/\n /* function : CompoundGlypg generator */\n /* comment : It stores raw, xMin, yMin, xMax, yMax, glyph id, and glyph offset for the corresponding compound glyph.*/\n /********************************************************************************************************************/\n function CompoundGlyph(raw, xMin, yMin, xMax, yMax) {\n var data, flags;\n this.raw = raw;\n this.xMin = xMin;\n this.yMin = yMin;\n this.xMax = xMax;\n this.yMax = yMax;\n this.compound = true;\n this.glyphIDs = [];\n this.glyphOffsets = [];\n data = this.raw;\n while (true) {\n flags = data.readShort();\n this.glyphOffsets.push(data.pos);\n this.glyphIDs.push(data.readUInt16());\n if (!(flags & MORE_COMPONENTS)) {\n break;\n }\n if (flags & ARG_1_AND_2_ARE_WORDS) {\n data.pos += 4;\n } else {\n data.pos += 2;\n }\n if (flags & WE_HAVE_A_TWO_BY_TWO) {\n data.pos += 8;\n } else if (flags & WE_HAVE_AN_X_AND_Y_SCALE) {\n data.pos += 4;\n } else if (flags & WE_HAVE_A_SCALE) {\n data.pos += 2;\n }\n }\n }\n /****************************************************************************************************************/\n /* function : CompoundGlypg encode */\n /* comment : After creating a table for the characters you typed, you call directory.encode to encode the table.*/\n /****************************************************************************************************************/\n CompoundGlyph.prototype.encode = function() {\n var i, result, _len, _ref;\n result = new Data(__slice.call(this.raw.data));\n _ref = this.glyphIDs;\n for (i = 0, _len = _ref.length; i < _len; ++i) {\n result.pos = this.glyphOffsets[i];\n }\n return result.data;\n };\n return CompoundGlyph;\n})();\n\nvar LocaTable = (function(_super) {\n __extends(LocaTable, _super);\n\n function LocaTable() {\n return LocaTable.__super__.constructor.apply(this, arguments);\n }\n LocaTable.prototype.tag = \"loca\";\n LocaTable.prototype.parse = function(data) {\n var format, i;\n data.pos = this.offset;\n format = this.file.head.indexToLocFormat;\n if (format === 0) {\n return (this.offsets = function() {\n var _ref, _results;\n _results = [];\n for (i = 0, _ref = this.length; i < _ref; i += 2) {\n _results.push(data.readUInt16() * 2);\n }\n return _results;\n }.call(this));\n } else {\n return (this.offsets = function() {\n var _ref, _results;\n _results = [];\n for (i = 0, _ref = this.length; i < _ref; i += 4) {\n _results.push(data.readUInt32());\n }\n return _results;\n }.call(this));\n }\n };\n LocaTable.prototype.indexOf = function(id) {\n return this.offsets[id];\n };\n LocaTable.prototype.lengthOf = function(id) {\n return this.offsets[id + 1] - this.offsets[id];\n };\n LocaTable.prototype.encode = function(offsets, activeGlyphs) {\n var LocaTable = new Uint32Array(this.offsets.length);\n var glyfPtr = 0;\n var listGlyf = 0;\n for (var k = 0; k < LocaTable.length; ++k) {\n LocaTable[k] = glyfPtr;\n if (listGlyf < activeGlyphs.length && activeGlyphs[listGlyf] == k) {\n ++listGlyf;\n LocaTable[k] = glyfPtr;\n var start = this.offsets[k];\n var len = this.offsets[k + 1] - start;\n if (len > 0) {\n glyfPtr += len;\n }\n }\n }\n var newLocaTable = new Array(LocaTable.length * 4);\n for (var j = 0; j < LocaTable.length; ++j) {\n newLocaTable[4 * j + 3] = LocaTable[j] & 0x000000ff;\n newLocaTable[4 * j + 2] = (LocaTable[j] & 0x0000ff00) >> 8;\n newLocaTable[4 * j + 1] = (LocaTable[j] & 0x00ff0000) >> 16;\n newLocaTable[4 * j] = (LocaTable[j] & 0xff000000) >> 24;\n }\n return newLocaTable;\n };\n return LocaTable;\n})(Table);\n\n/************************************************************************************/\n/* function : invert */\n/* comment : Change the object's (key: value) to create an object with (value: key).*/\n/************************************************************************************/\nvar invert = function(object) {\n var key, ret, val;\n ret = {};\n for (key in object) {\n val = object[key];\n ret[val] = key;\n }\n return ret;\n};\n\n/*var successorOf = function (input) {\n var added, alphabet, carry, i, index, isUpperCase, last, length, next, result;\n alphabet = 'abcdefghijklmnopqrstuvwxyz';\n length = alphabet.length;\n result = input;\n i = input.length;\n while (i >= 0) {\n last = input.charAt(--i);\n if (isNaN(last)) {\n index = alphabet.indexOf(last.toLowerCase());\n if (index === -1) {\n next = last;\n carry = true;\n }\n else {\n next = alphabet.charAt((index + 1) % length);\n isUpperCase = last === last.toUpperCase();\n if (isUpperCase) {\n next = next.toUpperCase();\n }\n carry = index + 1 >= length;\n if (carry && i === 0) {\n added = isUpperCase ? 'A' : 'a';\n result = added + next + result.slice(1);\n break;\n }\n }\n }\n else {\n next = +last + 1;\n carry = next > 9;\n if (carry) {\n next = 0;\n }\n if (carry && i === 0) {\n result = '1' + next + result.slice(1);\n break;\n }\n }\n result = result.slice(0, i) + next + result.slice(i + 1);\n if (!carry) {\n break;\n }\n }\n return result;\n };*/\n\nvar Subset = (function() {\n function Subset(font) {\n this.font = font;\n this.subset = {};\n this.unicodes = {};\n this.next = 33;\n }\n /*Subset.prototype.use = function (character) {\n var i, _i, _ref;\n if (typeof character === 'string') {\n for (i = _i = 0, _ref = character.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n this.use(character.charCodeAt(i));\n }\n return;\n }\n if (!this.unicodes[character]) {\n this.subset[this.next] = character;\n return this.unicodes[character] = this.next++;\n }\n };*/\n /*Subset.prototype.encodeText = function (text) {\n var char, i, string, _i, _ref;\n string = '';\n for (i = _i = 0, _ref = text.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n char = this.unicodes[text.charCodeAt(i)];\n string += String.fromCharCode(char);\n }\n return string;\n };*/\n /***************************************************************/\n /* function : generateCmap */\n /* comment : Returns the unicode cmap for this font. */\n /***************************************************************/\n Subset.prototype.generateCmap = function() {\n var mapping, roman, unicode, unicodeCmap, _ref;\n unicodeCmap = this.font.cmap.tables[0].codeMap;\n mapping = {};\n _ref = this.subset;\n for (roman in _ref) {\n unicode = _ref[roman];\n mapping[roman] = unicodeCmap[unicode];\n }\n return mapping;\n };\n /*Subset.prototype.glyphIDs = function () {\n var ret, roman, unicode, unicodeCmap, val, _ref;\n unicodeCmap = this.font.cmap.tables[0].codeMap;\n ret = [0];\n _ref = this.subset;\n for (roman in _ref) {\n unicode = _ref[roman];\n val = unicodeCmap[unicode];\n if ((val != null) && __indexOf.call(ret, val) < 0) {\n ret.push(val);\n }\n }\n return ret.sort();\n };*/\n /******************************************************************/\n /* function : glyphsFor */\n /* comment : Returns simple glyph objects for the input character.*/\n /******************************************************************/\n Subset.prototype.glyphsFor = function(glyphIDs) {\n var additionalIDs, glyph, glyphs, id, _i, _len, _ref;\n glyphs = {};\n for (_i = 0, _len = glyphIDs.length; _i < _len; _i++) {\n id = glyphIDs[_i];\n glyphs[id] = this.font.glyf.glyphFor(id);\n }\n additionalIDs = [];\n for (id in glyphs) {\n glyph = glyphs[id];\n if (glyph != null ? glyph.compound : void 0) {\n additionalIDs.push.apply(additionalIDs, glyph.glyphIDs);\n }\n }\n if (additionalIDs.length > 0) {\n _ref = this.glyphsFor(additionalIDs);\n for (id in _ref) {\n glyph = _ref[id];\n glyphs[id] = glyph;\n }\n }\n return glyphs;\n };\n /***************************************************************/\n /* function : encode */\n /* comment : Encode various tables for the characters you use. */\n /***************************************************************/\n Subset.prototype.encode = function(glyID, indexToLocFormat) {\n var cmap,\n code,\n glyf,\n glyphs,\n id,\n ids,\n loca,\n new2old,\n newIDs,\n nextGlyphID,\n old2new,\n oldID,\n oldIDs,\n tables,\n _ref;\n cmap = CmapTable.encode(this.generateCmap(), \"unicode\");\n glyphs = this.glyphsFor(glyID);\n old2new = {\n 0: 0\n };\n _ref = cmap.charMap;\n for (code in _ref) {\n ids = _ref[code];\n old2new[ids.old] = ids[\"new\"];\n }\n nextGlyphID = cmap.maxGlyphID;\n for (oldID in glyphs) {\n if (!(oldID in old2new)) {\n old2new[oldID] = nextGlyphID++;\n }\n }\n new2old = invert(old2new);\n newIDs = Object.keys(new2old).sort(function(a, b) {\n return a - b;\n });\n oldIDs = (function() {\n var _i, _len, _results;\n _results = [];\n for (_i = 0, _len = newIDs.length; _i < _len; _i++) {\n id = newIDs[_i];\n _results.push(new2old[id]);\n }\n return _results;\n })();\n glyf = this.font.glyf.encode(glyphs, oldIDs, old2new);\n loca = this.font.loca.encode(glyf.offsets, oldIDs);\n tables = {\n cmap: this.font.cmap.raw(),\n glyf: glyf.table,\n loca: loca,\n hmtx: this.font.hmtx.raw(),\n hhea: this.font.hhea.raw(),\n maxp: this.font.maxp.raw(),\n post: this.font.post.raw(),\n name: this.font.name.raw(),\n head: this.font.head.encode(indexToLocFormat)\n };\n if (this.font.os2.exists) {\n tables[\"OS/2\"] = this.font.os2.raw();\n }\n return this.font.directory.encode(tables);\n };\n return Subset;\n})();\n\njsPDF.API.PDFObject = (function() {\n var pad;\n\n function PDFObject() {}\n pad = function(str, length) {\n return (Array(length + 1).join(\"0\") + str).slice(-length);\n };\n /*****************************************************************************/\n /* function : convert */\n /* comment :Converts pdf tag's / FontBBox and array values in / W to strings */\n /*****************************************************************************/\n PDFObject.convert = function(object) {\n var e, items, key, out, val;\n if (Array.isArray(object)) {\n items = (function() {\n var _i, _len, _results;\n _results = [];\n for (_i = 0, _len = object.length; _i < _len; _i++) {\n e = object[_i];\n _results.push(PDFObject.convert(e));\n }\n return _results;\n })().join(\" \");\n return \"[\" + items + \"]\";\n } else if (typeof object === \"string\") {\n return \"/\" + object;\n } else if (object != null ? object.isString : void 0) {\n return \"(\" + object + \")\";\n } else if (object instanceof Date) {\n return (\n \"(D:\" +\n pad(object.getUTCFullYear(), 4) +\n pad(object.getUTCMonth(), 2) +\n pad(object.getUTCDate(), 2) +\n pad(object.getUTCHours(), 2) +\n pad(object.getUTCMinutes(), 2) +\n pad(object.getUTCSeconds(), 2) +\n \"Z)\"\n );\n } else if ({}.toString.call(object) === \"[object Object]\") {\n out = [\"<<\"];\n for (key in object) {\n val = object[key];\n out.push(\"/\" + key + \" \" + PDFObject.convert(val));\n }\n out.push(\">>\");\n return out.join(\"\\n\");\n } else {\n return \"\" + object;\n }\n };\n return PDFObject;\n})();\n","import React, { useEffect, useState } from 'react';\nimport axios from 'axios';\nimport sha1 from 'crypto-js/sha1';\n// import html2pdf from 'html2pdf.js';\nimport jsPDF from 'jspdf';\nimport html2canvas from 'html2canvas';\n\nconst OrderSummary = () => {\n\tconst [orderDetails, setOrderDetails] = useState(null);\n\tconst passPhrase = \"iPXG8T8emUsEk72mOU6y\";\n\tconst [loading, setLoading] = useState(true); // Add a loading state\n\n\n\t// const [ticketId, setTicketId] = useState(0); // Default value for ticket_id\n\t// const [apiKey, setKey] = useState(''); // Default value for key\n\n\t// Access URL parameters\n\tconst searchParams = new URLSearchParams(window.location.search);\n\tconst ticketId = searchParams.get('ticket_id');\n\tconst apiKey = searchParams.get('key');\n\n\tconsole.log('ticket_id:', ticketId, 'key:', apiKey)\n\n\n\t// const generatePdf = () => {\n\t// \tconst element = document.getElementById('ticket'); // ID of the element to convert to PDF\n\t// \thtml2pdf(element);\n\t// };\n\n\tconst generatePdf = async () => {\n\t\tconst element = document.getElementById('ticket');\n\t\tconst canvas = await html2canvas(element, { scale: 2 }); // Higher scale for better quality\n\t\tconst imgData = canvas.toDataURL('image/png');\n\n\t\tconst pdf = new jsPDF({\n\t\t\torientation: 'portrait',\n\t\t\tunit: 'px',\n\t\t\tformat: [canvas.width, canvas.height],\n\t\t});\n\n\t\tpdf.addImage(imgData, 'PNG', 0, 0, canvas.width, canvas.height);\n\t\tpdf.save('eTicket.pdf');\n\t};\n\n\n\tuseEffect(() => {\n\t\tconst fetchOrderDetails = async () => {\n\t\t\tconst systemGeneratedKey = sha1(passPhrase + ticketId).toString();\n\t\t\tconsole.log(`systemGeneratedKey=${systemGeneratedKey}`);\n\t\t\tconsole.log(`apiKey=${apiKey}`);\n\n\t\t\tif (systemGeneratedKey === apiKey) {\n\t\t\t\tconst url = `https://expressapi.transitos.io/api/v1/order/ticket/${apiKey}/${ticketId}`;\n\t\t\t\tconsole.log(`url=${url}`);\n\n\t\t\t\ttry {\n\t\t\t\t\tconst res = await axios.get(url);\n\t\t\t\t\tsetOrderDetails(res.data.details);\n\t\t\t\t} catch (err) {\n\t\t\t\t\tconsole.error('Error fetching order details:', err);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconsole.log('Invalid key');\n\t\t\t}\n\t\t\tsetLoading(false); // Set loading to false after the call is completed\n\t\t};\n\n\t\tfetchOrderDetails();\n\t}, [apiKey, passPhrase, ticketId]);\n\n\tif (loading) {\n\t\treturn
    Loading...
    ; // Show this while loading\n\t}\n\n\tif (!orderDetails) {\n\t\treturn
    No order details found.
    ;\n\t}\n\n\tconst { OrderNumber, PurchaseDate, BookingReference, DepartTripinfo, ReturnTripinfo } = orderDetails;\n\n\treturn (\n\t\t<>\n\n\t\t\t
    \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tReturnTripinfo && (\n\t\t\t\t\t\t\t\t<>\n\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\"Logo\"\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t{/* {type} */}\n\t\t\t\t\t\t\t\t\tOrder Summary\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\tDear {DepartTripinfo?.SeatDetails[0]?.PassengerName},
    \n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\tThank you for ordering from Causeway Link Express.
    \n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\tPlease be at the pick-up point and exchange your boarding pass at least 30 min before departure. The terminal fee may be requested as an\n\t\t\t\t\t\t\t\t\tadditional fee subject to the terminal terms and conditions.
    \n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\tBelow is your order details:\n\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\tBoarding Code: {OrderNumber}\n\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\tPurchase Date: {PurchaseDate}
    \n\t\t\t\t\t\t\t\tCart ID: {BookingReference}
    \n\t\t\t\t\t\t\t\tHotline: +607-360 2244\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t{DepartTripinfo?.BoardingCode && \"\"}\n\t\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t{renderSummary('Depart', OrderNumber, PurchaseDate, BookingReference, DepartTripinfo)}\n\t\t\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\tBoarding Code: {ReturnTripinfo?.BoardingCode}\n\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\tPurchase Date: {PurchaseDate}
    \n\t\t\t\t\t\t\t\t\t\t\tCart ID: {BookingReference}
    \n\t\t\t\t\t\t\t\t\t\t\tHotline: +607-360 2244\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t{ReturnTripinfo?.BoardingCode && \"\"}\n\t\t\t\t\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t{ReturnTripinfo && renderSummary('Return', OrderNumber, PurchaseDate, BookingReference, ReturnTripinfo)}\n\t\t\t\t\t\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\t\t\t\t
    \n\n\t\t\t\t\n\n\t\t\t
    \n\n\n\n\t\t\t{/* */}\n\t\t\n\t);\n\n\n\n\tfunction renderSummary(type, OrderNumber, PurchaseDate, BookingReference, tripInfo) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{renderTripDetails(tripInfo)}\n\t\t\t\n\t\t);\n\t}\n\n\tfunction renderTripDetails(tripInfo) {\n\t\tif (!tripInfo) return null;\n\t\tconst { SeatDetails, FromSubPlace, ToSubPlace, DepartDate, CompanyName, CoachNumber } = tripInfo;\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\tOrder Details\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\t\t\t{/* \n\t\t\t\t\t\t\t\t\t\t\t\t */}\n\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{SeatDetails.map((seat, index) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    Number of Pax:{SeatDetails.length}
    Depart:\n\t\t\t\t\t\t\t\t\t\t\t\t\t{FromSubPlace}\n\t\t\t\t\t\t\t\t\t\t\t\t
    Arrive:\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ToSubPlace}\n\t\t\t\t\t\t\t\t\t\t\t\t
    Departure Time:{DepartDate && DepartDate.replace(\"T\", \" \")}
    Company:\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\"Handal Indah Sdn Bhd \"}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tCoach Code:\n\t\t\t\t\t\t\t\t\t\t\t\t{CoachNumber}\n\t\t\t\t\t\t\t\t\t\t\t\t\tBus Operator:\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\tCompanyName === \"HANDAL\" ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{CompanyName}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\" (Causeway Link) \"}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{CompanyName}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\" (\" + CompanyName + \") \"}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t}
    Ticket ID:{seat.TicketId}
    Seat Number:{seat.SeatNumber}
    Passenger Name:{seat.PassengerName}Contact:{seat.PassengerContact}
    IC:{seat.PassengerNric}Passport:{seat.PassengerPassport}
    Gender:{seat.PasseengerGender === \"M\" ? \"Male\" : \"Female\"}Passport Expiry:{seat.PassengerPassportExpiryDate}
    Date of Birth:{seat.PassengerDateOfBirth?.slice(0, 10)}Nationality:{seat.PasseengerNationality}
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\n\t\t);\n\t}\n\n\tfunction TermsAndConditions() {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
     
    \n\t\t\t\t\t\t\t

    Terms and Conditions

    \n\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t
    1. All Customers must present their printed E-Bus Tickets together with their\n\t\t\t\t\t\t\t\t\tIdentification Card or Passport to the sales counter to exchange for a valid\n\t\t\t\t\t\t\t\t\tboarding pass.
    2. \n\t\t\t\t\t\t\t\t
    3. Please exchange the express bus ticket to a boarding pass at least 30\n\t\t\t\t\t\t\t\t\tminutes before bus departure time. Duplication of Boarding Pass will not be\n\t\t\t\t\t\t\t\t\tissued to replace any lost or stolen Express Bus Tickets in any\n\t\t\t\t\t\t\t\t\tcircumstances whatsoever.
    4. \n\t\t\t\t\t\t\t\t
    5. It is the passenger's responsibility to make sure that they have all the\n\t\t\t\t\t\t\t\t\trequired travel documents (eg. passport, visa, entry permit, online health\n\t\t\t\t\t\t\t\t\tdeclarations, etc) to enter the destination.
    6. \n\t\t\t\t\t\t\t\t
    7. Transport companies do not wait for customers to apply for visa upon arrival\n\t\t\t\t\t\t\t\t\t(VOA). Passengers have to apply in advance before they travel.
    8. \n\t\t\t\t\t\t\t\t
    9. All tickets sold are strictly non-refundable and non-changeable regardless\n\t\t\t\t\t\t\t\t\tof any duplicate bookings, loss of ticket, lateness or refusal of entry into\n\t\t\t\t\t\t\t\t\tthe country of destination.
    10. \n\t\t\t\t\t\t\t\t
    11. Each customer is only allowed to bring on board two (2) medium-sized luggage\n\t\t\t\t\t\t\t\t\tduring the journey, the weight of both luggage must not exceed fifteen (15)\n\t\t\t\t\t\t\t\t\tkilograms.
    12. \n\t\t\t\t\t\t\t\t
    13. Prohibited items including but not limited to drugs and flammable items are\n\t\t\t\t\t\t\t\t\tNOT allowed on board. Passenger will have to bear the responsibility for the\n\t\t\t\t\t\t\t\t\tpossession of prohibited items if discovered.
    14. \n\t\t\t\t\t\t\t\t
    15. Please ensure the necessary travelling requirements of the destination to\n\t\t\t\t\t\t\t\t\thave been fulfilled before any custom clearance. Please seek assistance from\n\t\t\t\t\t\t\t\t\tthe officer on the bus if the passenger requires any assistance.
    16. \n\t\t\t\t\t\t\t\t
    17. For all international travel, the bus will only wait for at most 30 minutes\n\t\t\t\t\t\t\t\t\tat the immigration checkpoint. Passenger is advised to check with the\n\t\t\t\t\t\t\t\t\ttransportation driver/officer available on the bus. The bus will depart and\n\t\t\t\t\t\t\t\t\tboard on time and it is the passenger's sole responsibility to arrange\n\t\t\t\t\t\t\t\t\this/her own transport to the destination should he/she failed to get on the\n\t\t\t\t\t\t\t\t\tboard.
    18. \n\t\t\t\t\t\t\t\t
    19. The Service Provider reserves the right to vary/delay/cancel the service\n\t\t\t\t\t\t\t\t\twithout advance notice. The Service Provider will not be responsible in any\n\t\t\t\t\t\t\t\t\tway whatsoever for any delay in arriving to destination.
    20. \n\t\t\t\t\t\t\t\t
    21. Other terms and conditions are published at the Causeway Link website
    22. \n\t\t\t\t\t\t\t\t
    23. For any enquiries, please call 07-3602244 or email to express@causewaylink.com.my\n\t\t\t\t\t\t\t\t
    24. \n\t\t\t\t\t\t\t\t
    25. You may request an e-invoice through website https://einvoice.handalindah.com.my/. Please note that once you request an e-invoice, you will not be able to reschedule the trip.\n\t\t\t\t\t\t\t\t
    26. \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t

    Exchange your boarding pass

    \n\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t
    1. For customer boarding at Terminal Bersepadu Selatan (TBS), Larkin Sentral,\n\t\t\t\t\t\t\t\t\tKlang Sentral, Taman Ungku Tun Aminah Bus Terminal (TUTA), Terminal Shah\n\t\t\t\t\t\t\t\t\tAlam Section 17 and Taman Universiti Bus Terminal, Senai International\n\t\t\t\t\t\t\t\t\tAirport, please present your E-ticket at counter to exchange for boarding\n\t\t\t\t\t\t\t\t\tpass.
    2. \n\t\t\t\t\t\t\t\t
    3. For customer boarding at Pengerang, Bukit Bintang, LEGOLAND & Puteri\n\t\t\t\t\t\t\t\t\tHarbour, Batu Pahat, Air Hitam, Yong Peng, Mersing Bus Terminal, Mersing\n\t\t\t\t\t\t\t\t\tJetty, please present your E-Ticket to driver upon bus boarding.
    4. \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t);\n\t}\n};\n\nexport default OrderSummary;","import React, { useState, useEffect } from 'react';\nimport Navbar from './components/Navbar';\nimport Footer from './components/Footer';\nimport { BrowserRouter as Router, Routes, Route } from 'react-router-dom';\nimport './App.css';\nimport {\n VoucherCodeContext,\n VoucherDiscountContext,\n OriginContext,\n LoyaltyIDContext,\n ChildAmountContext,\n ReturnDataContext,\n DepartDataContext,\n UserContext,\n SelectSeatDepartContext,\n SelectSeatReturnContext,\n TotalBusFareContext,\n BusFareDepartContext,\n BusFareReturnContext,\n BusFareAddOnContext,\n LoyaltyDiscountContext,\n VoucherCodeAirlineContext,\n InsuranceAddonContext,\n ValueMealAddonContext,\n HealthCareAddOnContext,\n} from './UserContext';\n// import 'bootstrap/dist/css/bootstrap.min.css';\n\nimport MainLayout from './components/MainLayout'; // Import the layout component\nimport Home from './components/pages/Home';\nimport BusSchedule from './components/pages/BusSchedule';\nimport ManageBooking from './components/pages/ManageBooking';\nimport Loyalty from './components/pages/loyalty';\nimport About from './components/pages/About';\nimport PaymentAck from './components/pages/PaymentAck';\n// import BookingEdit from './components/pages/BookingEdit.js_removed';\nimport PickDepart from './components/pages/PickDepart';\nimport ProceedComponent from './components/pages/SelectSeat';\nimport Checkout from './components/pages/Checkout';\nimport PickReturn from './components/pages/PickReturn';\nimport { BookingStatus } from './components/pages/BookingStatus';\nimport MyAccount from './components/pages/MyAccount';\nimport ScrollToTop from './components/ScrollToTop';\nimport BookingHistory from './components/pages/BookingHistory';\nimport ResetPassword from './components/pages/ResetPassword';\nimport OrderSummary from './components/pages/OrderSummary';\nimport './fonts/gotham-rounded-medium.otf';\nimport './fonts/gotham-rounded-bold.otf';\n\nimport {\n tokenIsValid,\n getToken,\n getUserTokenExpiry,\n checkWindowLocation,\n getLoginStatus,\n clearUserToken,\n clearUserTokenExpiry,\n} from './components/Function';\n\nfunction App() {\n const SERVER_URL = process.env.REACT_APP_SERVER_URL;\n let [selectedDepartSeat, setDepartSeat] = useState([]);\n let [selectedReturnSeat, setReturnSeat] = useState([]);\n let [BusFareDepart, setBusFareDepart] = useState(0);\n let [BusFareReturn, setBusFareReturn] = useState(0);\n let [BusFareAddOn, setBusFareAddOn] = useState([]);\n let [TotalBusFare, setTotalBusFare] = useState(0);\n let [TotalLoyalty, setLoyalty] = useState(0);\n let [LoyaltyID, setLoyaltyID] = useState(null);\n let [VoucherDiscount, setVoucherDiscount] = useState(0);\n let [VoucherCode, setVoucherCode] = useState(null);\n let [VoucherCodeAirlineNo, setVoucherCodeAirlineNo] = useState(null);\n let [departData, setDepartData] = useState({});\n let [returnData, setReturnData] = useState({});\n let [childAmount, setChildAmount] = useState(0);\n let [origin, setOrigin] = useState('Johor Bahru');\n const [subplace_data, setSubPlaceData] = useState(null);\n let [insuranceAddOn, setInsuranceAddOn] = useState({});\n let [valueMealAddOn, setValueMealAddOn] = useState({ meal: '', fee: 0 });\n let [healthCareAddOn, setHealthCareAddOn] = useState({});\n\n if (localStorage.getItem('currency') == null) {\n localStorage.setItem('currency', JSON.stringify('MYR'));\n }\n\n useEffect(() => {\n if (\n (getLoginStatus() == true && getUserTokenExpiry() == null) ||\n (getLoginStatus() == true && Date.now() > getUserTokenExpiry())\n ) {\n localStorage.removeItem('login');\n localStorage.removeItem('loginStatus');\n localStorage.removeItem('userData');\n localStorage.removeItem('primaryEmail');\n // localStorage.removeItem(\"primaryPassword\");\n localStorage.removeItem('userLoyaltyData');\n localStorage.removeItem('friendsAndFamilyData');\n\n clearUserToken();\n clearUserTokenExpiry();\n\n alert('Your session has expired, please Login again');\n sessionStorage.removeItem('rescheduleAmount');\n sessionStorage.removeItem('history_guid');\n sessionStorage.removeItem('addOn');\n sessionStorage.removeItem('oldcartguid');\n sessionStorage.removeItem('Origin_data');\n sessionStorage.removeItem('Destination_data');\n\n window.location.href = '/';\n }\n }, []);\n\n useEffect(() => {\n if (sessionStorage.getItem('Origin_data') != null) {\n const origin_data = JSON.parse(sessionStorage.getItem('Origin_data'));\n localStorage.setItem('currency', JSON.stringify('MYR'));\n }\n }, [sessionStorage.getItem('Origin_data')]);\n\n useEffect(() => {\n const getSubPlaceData = async () => {\n try {\n const response = await fetch(`${SERVER_URL}/me/get/subplaces`, {\n headers: {\n Authorization: getToken(),\n },\n });\n if (!response.ok) {\n throw new Error(\n `This is an HTTP error: The status is ${response.status}`\n );\n }\n let actualData = await response.json();\n setSubPlaceData(actualData);\n sessionStorage.setItem('subplace_data', JSON.stringify(actualData));\n } catch (err) {\n setSubPlaceData(null);\n }\n };\n tokenIsValid();\n if (getToken() != null) {\n getSubPlaceData();\n }\n }, [getToken()]);\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {/* Conditionally render Navbar and Footer */}\n {/* {window.location.pathname !== '/eticket' && !window.location.pathname.includes('/resetPassword') && } */}\n {/* {window.location.pathname.includes('/resetPassword') ? null : } */}\n\n \n {/* Routes without Navbar and Footer */}\n }\n />\n }\n />\n\n {/* Routes with Navbar and Footer */}\n }>\n \n }\n />\n {/* } /> */}\n }\n />\n }\n />\n }\n />\n }\n />\n {/* } /> */}\n\n \n }\n />\n \n }\n />\n }\n />\n }\n />\n }\n />\n\n }\n />\n }\n />\n }\n />\n \n \n {/* {window.location.pathname.includes('/resetPassword') ? null :