{"version":3,"file":"vendors-f12d65d3.47e839c4edc29ae0ca22.bundle.js","mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;AClGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACt3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;AClKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;AClRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACzIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACvFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["webpack://client-app/./node_modules/validator/lib/isSlug.js","webpack://client-app/./node_modules/validator/lib/isStrongPassword.js","webpack://client-app/./node_modules/validator/lib/isSurrogatePair.js","webpack://client-app/./node_modules/validator/lib/isTaxID.js","webpack://client-app/./node_modules/validator/lib/isTime.js","webpack://client-app/./node_modules/validator/lib/isURL.js","webpack://client-app/./node_modules/validator/lib/isUUID.js","webpack://client-app/./node_modules/validator/lib/isUppercase.js","webpack://client-app/./node_modules/validator/lib/isVAT.js","webpack://client-app/./node_modules/validator/lib/isVariableWidth.js","webpack://client-app/./node_modules/validator/lib/isWhitelisted.js","webpack://client-app/./node_modules/validator/lib/ltrim.js","webpack://client-app/./node_modules/validator/lib/matches.js","webpack://client-app/./node_modules/validator/lib/normalizeEmail.js","webpack://client-app/./node_modules/validator/lib/rtrim.js","webpack://client-app/./node_modules/validator/lib/stripLow.js","webpack://client-app/./node_modules/validator/lib/toBoolean.js","webpack://client-app/./node_modules/validator/lib/toDate.js","webpack://client-app/./node_modules/validator/lib/toFloat.js","webpack://client-app/./node_modules/validator/lib/toInt.js","webpack://client-app/./node_modules/validator/lib/trim.js","webpack://client-app/./node_modules/validator/lib/unescape.js","webpack://client-app/./node_modules/validator/lib/util/algorithms.js","webpack://client-app/./node_modules/validator/lib/util/assertString.js","webpack://client-app/./node_modules/validator/lib/util/includes.js","webpack://client-app/./node_modules/validator/lib/util/merge.js","webpack://client-app/./node_modules/validator/lib/util/multilineRegex.js","webpack://client-app/./node_modules/validator/lib/util/toString.js","webpack://client-app/./node_modules/validator/lib/whitelist.js"],"sourcesContent":["\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isSlug;\nvar _assertString = _interopRequireDefault(require(\"./util/assertString\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nvar charsetRegex = /^[^\\s-_](?!.*?[-_]{2,})[a-z0-9-\\\\][^\\s]*[^-_\\s]$/;\nfunction isSlug(str) {\n (0, _assertString.default)(str);\n return charsetRegex.test(str);\n}\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isStrongPassword;\nvar _merge = _interopRequireDefault(require(\"./util/merge\"));\nvar _assertString = _interopRequireDefault(require(\"./util/assertString\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nvar upperCaseRegex = /^[A-Z]$/;\nvar lowerCaseRegex = /^[a-z]$/;\nvar numberRegex = /^[0-9]$/;\nvar symbolRegex = /^[-#!$@£%^&*()_+|~=`{}\\[\\]:\";'<>?,.\\/\\\\ ]$/;\nvar defaultOptions = {\n minLength: 8,\n minLowercase: 1,\n minUppercase: 1,\n minNumbers: 1,\n minSymbols: 1,\n returnScore: false,\n pointsPerUnique: 1,\n pointsPerRepeat: 0.5,\n pointsForContainingLower: 10,\n pointsForContainingUpper: 10,\n pointsForContainingNumber: 10,\n pointsForContainingSymbol: 10\n};\n\n/* Counts number of occurrences of each char in a string\n * could be moved to util/ ?\n*/\nfunction countChars(str) {\n var result = {};\n Array.from(str).forEach(function (char) {\n var curVal = result[char];\n if (curVal) {\n result[char] += 1;\n } else {\n result[char] = 1;\n }\n });\n return result;\n}\n\n/* Return information about a password */\nfunction analyzePassword(password) {\n var charMap = countChars(password);\n var analysis = {\n length: password.length,\n uniqueChars: Object.keys(charMap).length,\n uppercaseCount: 0,\n lowercaseCount: 0,\n numberCount: 0,\n symbolCount: 0\n };\n Object.keys(charMap).forEach(function (char) {\n /* istanbul ignore else */\n if (upperCaseRegex.test(char)) {\n analysis.uppercaseCount += charMap[char];\n } else if (lowerCaseRegex.test(char)) {\n analysis.lowercaseCount += charMap[char];\n } else if (numberRegex.test(char)) {\n analysis.numberCount += charMap[char];\n } else if (symbolRegex.test(char)) {\n analysis.symbolCount += charMap[char];\n }\n });\n return analysis;\n}\nfunction scorePassword(analysis, scoringOptions) {\n var points = 0;\n points += analysis.uniqueChars * scoringOptions.pointsPerUnique;\n points += (analysis.length - analysis.uniqueChars) * scoringOptions.pointsPerRepeat;\n if (analysis.lowercaseCount > 0) {\n points += scoringOptions.pointsForContainingLower;\n }\n if (analysis.uppercaseCount > 0) {\n points += scoringOptions.pointsForContainingUpper;\n }\n if (analysis.numberCount > 0) {\n points += scoringOptions.pointsForContainingNumber;\n }\n if (analysis.symbolCount > 0) {\n points += scoringOptions.pointsForContainingSymbol;\n }\n return points;\n}\nfunction isStrongPassword(str) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n (0, _assertString.default)(str);\n var analysis = analyzePassword(str);\n options = (0, _merge.default)(options || {}, defaultOptions);\n if (options.returnScore) {\n return scorePassword(analysis, options);\n }\n return analysis.length >= options.minLength && analysis.lowercaseCount >= options.minLowercase && analysis.uppercaseCount >= options.minUppercase && analysis.numberCount >= options.minNumbers && analysis.symbolCount >= options.minSymbols;\n}\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isSurrogatePair;\nvar _assertString = _interopRequireDefault(require(\"./util/assertString\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nvar surrogatePair = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/;\nfunction isSurrogatePair(str) {\n (0, _assertString.default)(str);\n return surrogatePair.test(str);\n}\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;","\"use strict\";\n\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isTaxID;\nvar _assertString = _interopRequireDefault(require(\"./util/assertString\"));\nvar algorithms = _interopRequireWildcard(require(\"./util/algorithms\"));\nvar _isDate = _interopRequireDefault(require(\"./isDate\"));\nfunction _getRequireWildcardCache(e) { if (\"function\" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }\nfunction _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || \"object\" != _typeof(e) && \"function\" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if (\"default\" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\n/**\n * TIN Validation\n * Validates Tax Identification Numbers (TINs) from the US, EU member states and the United Kingdom.\n *\n * EU-UK:\n * National TIN validity is calculated using public algorithms as made available by DG TAXUD.\n *\n * See `https://ec.europa.eu/taxation_customs/tin/specs/FS-TIN%20Algorithms-Public.docx` for more information.\n *\n * US:\n * An Employer Identification Number (EIN), also known as a Federal Tax Identification Number,\n * is used to identify a business entity.\n *\n * NOTES:\n * - Prefix 47 is being reserved for future use\n * - Prefixes 26, 27, 45, 46 and 47 were previously assigned by the Philadelphia campus.\n *\n * See `http://www.irs.gov/Businesses/Small-Businesses-&-Self-Employed/How-EINs-are-Assigned-and-Valid-EIN-Prefixes`\n * for more information.\n */\n\n// Locale functions\n\n/*\n * bg-BG validation function\n * (Edinen graždanski nomer (EGN/ЕГН), persons only)\n * Checks if birth date (first six digits) is valid and calculates check (last) digit\n */\nfunction bgBgCheck(tin) {\n // Extract full year, normalize month and check birth date validity\n var century_year = tin.slice(0, 2);\n var month = parseInt(tin.slice(2, 4), 10);\n if (month > 40) {\n month -= 40;\n century_year = \"20\".concat(century_year);\n } else if (month > 20) {\n month -= 20;\n century_year = \"18\".concat(century_year);\n } else {\n century_year = \"19\".concat(century_year);\n }\n if (month < 10) {\n month = \"0\".concat(month);\n }\n var date = \"\".concat(century_year, \"/\").concat(month, \"/\").concat(tin.slice(4, 6));\n if (!(0, _isDate.default)(date, 'YYYY/MM/DD')) {\n return false;\n }\n\n // split digits into an array for further processing\n var digits = tin.split('').map(function (a) {\n return parseInt(a, 10);\n });\n\n // Calculate checksum by multiplying digits with fixed values\n var multip_lookup = [2, 4, 8, 5, 10, 9, 7, 3, 6];\n var checksum = 0;\n for (var i = 0; i < multip_lookup.length; i++) {\n checksum += digits[i] * multip_lookup[i];\n }\n checksum = checksum % 11 === 10 ? 0 : checksum % 11;\n return checksum === digits[9];\n}\n\n/**\n * Check if an input is a valid Canadian SIN (Social Insurance Number)\n *\n * The Social Insurance Number (SIN) is a 9 digit number that\n * you need to work in Canada or to have access to government programs and benefits.\n *\n * https://en.wikipedia.org/wiki/Social_Insurance_Number\n * https://www.canada.ca/en/employment-social-development/services/sin.html\n * https://www.codercrunch.com/challenge/819302488/sin-validator\n *\n * @param {string} input\n * @return {boolean}\n */\nfunction isCanadianSIN(input) {\n var digitsArray = input.split('');\n var even = digitsArray.filter(function (_, idx) {\n return idx % 2;\n }).map(function (i) {\n return Number(i) * 2;\n }).join('').split('');\n var total = digitsArray.filter(function (_, idx) {\n return !(idx % 2);\n }).concat(even).map(function (i) {\n return Number(i);\n }).reduce(function (acc, cur) {\n return acc + cur;\n });\n return total % 10 === 0;\n}\n\n/*\n * cs-CZ validation function\n * (Rodné číslo (RČ), persons only)\n * Checks if birth date (first six digits) is valid and divisibility by 11\n * Material not in DG TAXUD document sourced from:\n * -`https://lorenc.info/3MA381/overeni-spravnosti-rodneho-cisla.htm`\n * -`https://www.mvcr.cz/clanek/rady-a-sluzby-dokumenty-rodne-cislo.aspx`\n */\nfunction csCzCheck(tin) {\n tin = tin.replace(/\\W/, '');\n\n // Extract full year from TIN length\n var full_year = parseInt(tin.slice(0, 2), 10);\n if (tin.length === 10) {\n if (full_year < 54) {\n full_year = \"20\".concat(full_year);\n } else {\n full_year = \"19\".concat(full_year);\n }\n } else {\n if (tin.slice(6) === '000') {\n return false;\n } // Three-zero serial not assigned before 1954\n if (full_year < 54) {\n full_year = \"19\".concat(full_year);\n } else {\n return false; // No 18XX years seen in any of the resources\n }\n }\n // Add missing zero if needed\n if (full_year.length === 3) {\n full_year = [full_year.slice(0, 2), '0', full_year.slice(2)].join('');\n }\n\n // Extract month from TIN and normalize\n var month = parseInt(tin.slice(2, 4), 10);\n if (month > 50) {\n month -= 50;\n }\n if (month > 20) {\n // Month-plus-twenty was only introduced in 2004\n if (parseInt(full_year, 10) < 2004) {\n return false;\n }\n month -= 20;\n }\n if (month < 10) {\n month = \"0\".concat(month);\n }\n\n // Check date validity\n var date = \"\".concat(full_year, \"/\").concat(month, \"/\").concat(tin.slice(4, 6));\n if (!(0, _isDate.default)(date, 'YYYY/MM/DD')) {\n return false;\n }\n\n // Verify divisibility by 11\n if (tin.length === 10) {\n if (parseInt(tin, 10) % 11 !== 0) {\n // Some numbers up to and including 1985 are still valid if\n // check (last) digit equals 0 and modulo of first 9 digits equals 10\n var checkdigit = parseInt(tin.slice(0, 9), 10) % 11;\n if (parseInt(full_year, 10) < 1986 && checkdigit === 10) {\n if (parseInt(tin.slice(9), 10) !== 0) {\n return false;\n }\n } else {\n return false;\n }\n }\n }\n return true;\n}\n\n/*\n * de-AT validation function\n * (Abgabenkontonummer, persons/entities)\n * Verify TIN validity by calling luhnCheck()\n */\nfunction deAtCheck(tin) {\n return algorithms.luhnCheck(tin);\n}\n\n/*\n * de-DE validation function\n * (Steueridentifikationsnummer (Steuer-IdNr.), persons only)\n * Tests for single duplicate/triplicate value, then calculates ISO 7064 check (last) digit\n * Partial implementation of spec (same result with both algorithms always)\n */\nfunction deDeCheck(tin) {\n // Split digits into an array for further processing\n var digits = tin.split('').map(function (a) {\n return parseInt(a, 10);\n });\n\n // Fill array with strings of number positions\n var occurences = [];\n for (var i = 0; i < digits.length - 1; i++) {\n occurences.push('');\n for (var j = 0; j < digits.length - 1; j++) {\n if (digits[i] === digits[j]) {\n occurences[i] += j;\n }\n }\n }\n\n // Remove digits with one occurence and test for only one duplicate/triplicate\n occurences = occurences.filter(function (a) {\n return a.length > 1;\n });\n if (occurences.length !== 2 && occurences.length !== 3) {\n return false;\n }\n\n // In case of triplicate value only two digits are allowed next to each other\n if (occurences[0].length === 3) {\n var trip_locations = occurences[0].split('').map(function (a) {\n return parseInt(a, 10);\n });\n var recurrent = 0; // Amount of neighbour occurences\n for (var _i = 0; _i < trip_locations.length - 1; _i++) {\n if (trip_locations[_i] + 1 === trip_locations[_i + 1]) {\n recurrent += 1;\n }\n }\n if (recurrent === 2) {\n return false;\n }\n }\n return algorithms.iso7064Check(tin);\n}\n\n/*\n * dk-DK validation function\n * (CPR-nummer (personnummer), persons only)\n * Checks if birth date (first six digits) is valid and assigned to century (seventh) digit,\n * and calculates check (last) digit\n */\nfunction dkDkCheck(tin) {\n tin = tin.replace(/\\W/, '');\n\n // Extract year, check if valid for given century digit and add century\n var year = parseInt(tin.slice(4, 6), 10);\n var century_digit = tin.slice(6, 7);\n switch (century_digit) {\n case '0':\n case '1':\n case '2':\n case '3':\n year = \"19\".concat(year);\n break;\n case '4':\n case '9':\n if (year < 37) {\n year = \"20\".concat(year);\n } else {\n year = \"19\".concat(year);\n }\n break;\n default:\n if (year < 37) {\n year = \"20\".concat(year);\n } else if (year > 58) {\n year = \"18\".concat(year);\n } else {\n return false;\n }\n break;\n }\n // Add missing zero if needed\n if (year.length === 3) {\n year = [year.slice(0, 2), '0', year.slice(2)].join('');\n }\n // Check date validity\n var date = \"\".concat(year, \"/\").concat(tin.slice(2, 4), \"/\").concat(tin.slice(0, 2));\n if (!(0, _isDate.default)(date, 'YYYY/MM/DD')) {\n return false;\n }\n\n // Split digits into an array for further processing\n var digits = tin.split('').map(function (a) {\n return parseInt(a, 10);\n });\n var checksum = 0;\n var weight = 4;\n // Multiply by weight and add to checksum\n for (var i = 0; i < 9; i++) {\n checksum += digits[i] * weight;\n weight -= 1;\n if (weight === 1) {\n weight = 7;\n }\n }\n checksum %= 11;\n if (checksum === 1) {\n return false;\n }\n return checksum === 0 ? digits[9] === 0 : digits[9] === 11 - checksum;\n}\n\n/*\n * el-CY validation function\n * (Arithmos Forologikou Mitroou (AFM/ΑΦΜ), persons only)\n * Verify TIN validity by calculating ASCII value of check (last) character\n */\nfunction elCyCheck(tin) {\n // split digits into an array for further processing\n var digits = tin.slice(0, 8).split('').map(function (a) {\n return parseInt(a, 10);\n });\n var checksum = 0;\n // add digits in even places\n for (var i = 1; i < digits.length; i += 2) {\n checksum += digits[i];\n }\n\n // add digits in odd places\n for (var _i2 = 0; _i2 < digits.length; _i2 += 2) {\n if (digits[_i2] < 2) {\n checksum += 1 - digits[_i2];\n } else {\n checksum += 2 * (digits[_i2] - 2) + 5;\n if (digits[_i2] > 4) {\n checksum += 2;\n }\n }\n }\n return String.fromCharCode(checksum % 26 + 65) === tin.charAt(8);\n}\n\n/*\n * el-GR validation function\n * (Arithmos Forologikou Mitroou (AFM/ΑΦΜ), persons/entities)\n * Verify TIN validity by calculating check (last) digit\n * Algorithm not in DG TAXUD document- sourced from:\n * - `http://epixeirisi.gr/%CE%9A%CE%A1%CE%99%CE%A3%CE%99%CE%9C%CE%91-%CE%98%CE%95%CE%9C%CE%91%CE%A4%CE%91-%CE%A6%CE%9F%CE%A1%CE%9F%CE%9B%CE%9F%CE%93%CE%99%CE%91%CE%A3-%CE%9A%CE%91%CE%99-%CE%9B%CE%9F%CE%93%CE%99%CE%A3%CE%A4%CE%99%CE%9A%CE%97%CE%A3/23791/%CE%91%CF%81%CE%B9%CE%B8%CE%BC%CF%8C%CF%82-%CE%A6%CE%BF%CF%81%CE%BF%CE%BB%CE%BF%CE%B3%CE%B9%CE%BA%CE%BF%CF%8D-%CE%9C%CE%B7%CF%84%CF%81%CF%8E%CE%BF%CF%85`\n */\nfunction elGrCheck(tin) {\n // split digits into an array for further processing\n var digits = tin.split('').map(function (a) {\n return parseInt(a, 10);\n });\n var checksum = 0;\n for (var i = 0; i < 8; i++) {\n checksum += digits[i] * Math.pow(2, 8 - i);\n }\n return checksum % 11 % 10 === digits[8];\n}\n\n/*\n * en-GB validation function (should go here if needed)\n * (National Insurance Number (NINO) or Unique Taxpayer Reference (UTR),\n * persons/entities respectively)\n */\n\n/*\n * en-IE validation function\n * (Personal Public Service Number (PPS No), persons only)\n * Verify TIN validity by calculating check (second to last) character\n */\nfunction enIeCheck(tin) {\n var checksum = algorithms.reverseMultiplyAndSum(tin.split('').slice(0, 7).map(function (a) {\n return parseInt(a, 10);\n }), 8);\n if (tin.length === 9 && tin[8] !== 'W') {\n checksum += (tin[8].charCodeAt(0) - 64) * 9;\n }\n checksum %= 23;\n if (checksum === 0) {\n return tin[7].toUpperCase() === 'W';\n }\n return tin[7].toUpperCase() === String.fromCharCode(64 + checksum);\n}\n\n// Valid US IRS campus prefixes\nvar enUsCampusPrefix = {\n andover: ['10', '12'],\n atlanta: ['60', '67'],\n austin: ['50', '53'],\n brookhaven: ['01', '02', '03', '04', '05', '06', '11', '13', '14', '16', '21', '22', '23', '25', '34', '51', '52', '54', '55', '56', '57', '58', '59', '65'],\n cincinnati: ['30', '32', '35', '36', '37', '38', '61'],\n fresno: ['15', '24'],\n internet: ['20', '26', '27', '45', '46', '47'],\n kansas: ['40', '44'],\n memphis: ['94', '95'],\n ogden: ['80', '90'],\n philadelphia: ['33', '39', '41', '42', '43', '46', '48', '62', '63', '64', '66', '68', '71', '72', '73', '74', '75', '76', '77', '81', '82', '83', '84', '85', '86', '87', '88', '91', '92', '93', '98', '99'],\n sba: ['31']\n};\n\n// Return an array of all US IRS campus prefixes\nfunction enUsGetPrefixes() {\n var prefixes = [];\n for (var location in enUsCampusPrefix) {\n // https://github.com/gotwarlost/istanbul/blob/master/ignoring-code-for-coverage.md#ignoring-code-for-coverage-purposes\n // istanbul ignore else\n if (enUsCampusPrefix.hasOwnProperty(location)) {\n prefixes.push.apply(prefixes, _toConsumableArray(enUsCampusPrefix[location]));\n }\n }\n return prefixes;\n}\n\n/*\n * en-US validation function\n * Verify that the TIN starts with a valid IRS campus prefix\n */\nfunction enUsCheck(tin) {\n return enUsGetPrefixes().indexOf(tin.slice(0, 2)) !== -1;\n}\n\n/*\n * es-AR validation function\n * Clave Única de Identificación Tributaria (CUIT/CUIL)\n * Sourced from:\n * - https://servicioscf.afip.gob.ar/publico/abc/ABCpaso2.aspx?id_nivel1=3036&id_nivel2=3040&p=Conceptos%20b%C3%A1sicos\n * - https://es.wikipedia.org/wiki/Clave_%C3%9Anica_de_Identificaci%C3%B3n_Tributaria\n */\n\nfunction esArCheck(tin) {\n var accum = 0;\n var digits = tin.split('');\n var digit = parseInt(digits.pop(), 10);\n for (var i = 0; i < digits.length; i++) {\n accum += digits[9 - i] * (2 + i % 6);\n }\n var verif = 11 - accum % 11;\n if (verif === 11) {\n verif = 0;\n } else if (verif === 10) {\n verif = 9;\n }\n return digit === verif;\n}\n\n/*\n * es-ES validation function\n * (Documento Nacional de Identidad (DNI)\n * or Número de Identificación de Extranjero (NIE), persons only)\n * Verify TIN validity by calculating check (last) character\n */\nfunction esEsCheck(tin) {\n // Split characters into an array for further processing\n var chars = tin.toUpperCase().split('');\n\n // Replace initial letter if needed\n if (isNaN(parseInt(chars[0], 10)) && chars.length > 1) {\n var lead_replace = 0;\n switch (chars[0]) {\n case 'Y':\n lead_replace = 1;\n break;\n case 'Z':\n lead_replace = 2;\n break;\n default:\n }\n chars.splice(0, 1, lead_replace);\n // Fill with zeros if smaller than proper\n } else {\n while (chars.length < 9) {\n chars.unshift(0);\n }\n }\n\n // Calculate checksum and check according to lookup\n var lookup = ['T', 'R', 'W', 'A', 'G', 'M', 'Y', 'F', 'P', 'D', 'X', 'B', 'N', 'J', 'Z', 'S', 'Q', 'V', 'H', 'L', 'C', 'K', 'E'];\n chars = chars.join('');\n var checksum = parseInt(chars.slice(0, 8), 10) % 23;\n return chars[8] === lookup[checksum];\n}\n\n/*\n * et-EE validation function\n * (Isikukood (IK), persons only)\n * Checks if birth date (century digit and six following) is valid and calculates check (last) digit\n * Material not in DG TAXUD document sourced from:\n * - `https://www.oecd.org/tax/automatic-exchange/crs-implementation-and-assistance/tax-identification-numbers/Estonia-TIN.pdf`\n */\nfunction etEeCheck(tin) {\n // Extract year and add century\n var full_year = tin.slice(1, 3);\n var century_digit = tin.slice(0, 1);\n switch (century_digit) {\n case '1':\n case '2':\n full_year = \"18\".concat(full_year);\n break;\n case '3':\n case '4':\n full_year = \"19\".concat(full_year);\n break;\n default:\n full_year = \"20\".concat(full_year);\n break;\n }\n // Check date validity\n var date = \"\".concat(full_year, \"/\").concat(tin.slice(3, 5), \"/\").concat(tin.slice(5, 7));\n if (!(0, _isDate.default)(date, 'YYYY/MM/DD')) {\n return false;\n }\n\n // Split digits into an array for further processing\n var digits = tin.split('').map(function (a) {\n return parseInt(a, 10);\n });\n var checksum = 0;\n var weight = 1;\n // Multiply by weight and add to checksum\n for (var i = 0; i < 10; i++) {\n checksum += digits[i] * weight;\n weight += 1;\n if (weight === 10) {\n weight = 1;\n }\n }\n // Do again if modulo 11 of checksum is 10\n if (checksum % 11 === 10) {\n checksum = 0;\n weight = 3;\n for (var _i3 = 0; _i3 < 10; _i3++) {\n checksum += digits[_i3] * weight;\n weight += 1;\n if (weight === 10) {\n weight = 1;\n }\n }\n if (checksum % 11 === 10) {\n return digits[10] === 0;\n }\n }\n return checksum % 11 === digits[10];\n}\n\n/*\n * fi-FI validation function\n * (Henkilötunnus (HETU), persons only)\n * Checks if birth date (first six digits plus century symbol) is valid\n * and calculates check (last) digit\n */\nfunction fiFiCheck(tin) {\n // Extract year and add century\n var full_year = tin.slice(4, 6);\n var century_symbol = tin.slice(6, 7);\n switch (century_symbol) {\n case '+':\n full_year = \"18\".concat(full_year);\n break;\n case '-':\n full_year = \"19\".concat(full_year);\n break;\n default:\n full_year = \"20\".concat(full_year);\n break;\n }\n // Check date validity\n var date = \"\".concat(full_year, \"/\").concat(tin.slice(2, 4), \"/\").concat(tin.slice(0, 2));\n if (!(0, _isDate.default)(date, 'YYYY/MM/DD')) {\n return false;\n }\n\n // Calculate check character\n var checksum = parseInt(tin.slice(0, 6) + tin.slice(7, 10), 10) % 31;\n if (checksum < 10) {\n return checksum === parseInt(tin.slice(10), 10);\n }\n checksum -= 10;\n var letters_lookup = ['A', 'B', 'C', 'D', 'E', 'F', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y'];\n return letters_lookup[checksum] === tin.slice(10);\n}\n\n/*\n * fr/nl-BE validation function\n * (Numéro national (N.N.), persons only)\n * Checks if birth date (first six digits) is valid and calculates check (last two) digits\n */\nfunction frBeCheck(tin) {\n // Zero month/day value is acceptable\n if (tin.slice(2, 4) !== '00' || tin.slice(4, 6) !== '00') {\n // Extract date from first six digits of TIN\n var date = \"\".concat(tin.slice(0, 2), \"/\").concat(tin.slice(2, 4), \"/\").concat(tin.slice(4, 6));\n if (!(0, _isDate.default)(date, 'YY/MM/DD')) {\n return false;\n }\n }\n var checksum = 97 - parseInt(tin.slice(0, 9), 10) % 97;\n var checkdigits = parseInt(tin.slice(9, 11), 10);\n if (checksum !== checkdigits) {\n checksum = 97 - parseInt(\"2\".concat(tin.slice(0, 9)), 10) % 97;\n if (checksum !== checkdigits) {\n return false;\n }\n }\n return true;\n}\n\n/*\n * fr-FR validation function\n * (Numéro fiscal de référence (numéro SPI), persons only)\n * Verify TIN validity by calculating check (last three) digits\n */\nfunction frFrCheck(tin) {\n tin = tin.replace(/\\s/g, '');\n var checksum = parseInt(tin.slice(0, 10), 10) % 511;\n var checkdigits = parseInt(tin.slice(10, 13), 10);\n return checksum === checkdigits;\n}\n\n/*\n * fr/lb-LU validation function\n * (numéro d’identification personnelle, persons only)\n * Verify birth date validity and run Luhn and Verhoeff checks\n */\nfunction frLuCheck(tin) {\n // Extract date and check validity\n var date = \"\".concat(tin.slice(0, 4), \"/\").concat(tin.slice(4, 6), \"/\").concat(tin.slice(6, 8));\n if (!(0, _isDate.default)(date, 'YYYY/MM/DD')) {\n return false;\n }\n\n // Run Luhn check\n if (!algorithms.luhnCheck(tin.slice(0, 12))) {\n return false;\n }\n // Remove Luhn check digit and run Verhoeff check\n return algorithms.verhoeffCheck(\"\".concat(tin.slice(0, 11)).concat(tin[12]));\n}\n\n/*\n * hr-HR validation function\n * (Osobni identifikacijski broj (OIB), persons/entities)\n * Verify TIN validity by calling iso7064Check(digits)\n */\nfunction hrHrCheck(tin) {\n return algorithms.iso7064Check(tin);\n}\n\n/*\n * hu-HU validation function\n * (Adóazonosító jel, persons only)\n * Verify TIN validity by calculating check (last) digit\n */\nfunction huHuCheck(tin) {\n // split digits into an array for further processing\n var digits = tin.split('').map(function (a) {\n return parseInt(a, 10);\n });\n var checksum = 8;\n for (var i = 1; i < 9; i++) {\n checksum += digits[i] * (i + 1);\n }\n return checksum % 11 === digits[9];\n}\n\n/*\n * lt-LT validation function (should go here if needed)\n * (Asmens kodas, persons/entities respectively)\n * Current validation check is alias of etEeCheck- same format applies\n */\n\n/*\n * it-IT first/last name validity check\n * Accepts it-IT TIN-encoded names as a three-element character array and checks their validity\n * Due to lack of clarity between resources (\"Are only Italian consonants used?\n * What happens if a person has X in their name?\" etc.) only two test conditions\n * have been implemented:\n * Vowels may only be followed by other vowels or an X character\n * and X characters after vowels may only be followed by other X characters.\n */\nfunction itItNameCheck(name) {\n // true at the first occurence of a vowel\n var vowelflag = false;\n\n // true at the first occurence of an X AFTER vowel\n // (to properly handle last names with X as consonant)\n var xflag = false;\n for (var i = 0; i < 3; i++) {\n if (!vowelflag && /[AEIOU]/.test(name[i])) {\n vowelflag = true;\n } else if (!xflag && vowelflag && name[i] === 'X') {\n xflag = true;\n } else if (i > 0) {\n if (vowelflag && !xflag) {\n if (!/[AEIOU]/.test(name[i])) {\n return false;\n }\n }\n if (xflag) {\n if (!/X/.test(name[i])) {\n return false;\n }\n }\n }\n }\n return true;\n}\n\n/*\n * it-IT validation function\n * (Codice fiscale (TIN-IT), persons only)\n * Verify name, birth date and codice catastale validity\n * and calculate check character.\n * Material not in DG-TAXUD document sourced from:\n * `https://en.wikipedia.org/wiki/Italian_fiscal_code`\n */\nfunction itItCheck(tin) {\n // Capitalize and split characters into an array for further processing\n var chars = tin.toUpperCase().split('');\n\n // Check first and last name validity calling itItNameCheck()\n if (!itItNameCheck(chars.slice(0, 3))) {\n return false;\n }\n if (!itItNameCheck(chars.slice(3, 6))) {\n return false;\n }\n\n // Convert letters in number spaces back to numbers if any\n var number_locations = [6, 7, 9, 10, 12, 13, 14];\n var number_replace = {\n L: '0',\n M: '1',\n N: '2',\n P: '3',\n Q: '4',\n R: '5',\n S: '6',\n T: '7',\n U: '8',\n V: '9'\n };\n for (var _i4 = 0, _number_locations = number_locations; _i4 < _number_locations.length; _i4++) {\n var i = _number_locations[_i4];\n if (chars[i] in number_replace) {\n chars.splice(i, 1, number_replace[chars[i]]);\n }\n }\n\n // Extract month and day, and check date validity\n var month_replace = {\n A: '01',\n B: '02',\n C: '03',\n D: '04',\n E: '05',\n H: '06',\n L: '07',\n M: '08',\n P: '09',\n R: '10',\n S: '11',\n T: '12'\n };\n var month = month_replace[chars[8]];\n var day = parseInt(chars[9] + chars[10], 10);\n if (day > 40) {\n day -= 40;\n }\n if (day < 10) {\n day = \"0\".concat(day);\n }\n var date = \"\".concat(chars[6]).concat(chars[7], \"/\").concat(month, \"/\").concat(day);\n if (!(0, _isDate.default)(date, 'YY/MM/DD')) {\n return false;\n }\n\n // Calculate check character by adding up even and odd characters as numbers\n var checksum = 0;\n for (var _i5 = 1; _i5 < chars.length - 1; _i5 += 2) {\n var char_to_int = parseInt(chars[_i5], 10);\n if (isNaN(char_to_int)) {\n char_to_int = chars[_i5].charCodeAt(0) - 65;\n }\n checksum += char_to_int;\n }\n var odd_convert = {\n // Maps of characters at odd places\n A: 1,\n B: 0,\n C: 5,\n D: 7,\n E: 9,\n F: 13,\n G: 15,\n H: 17,\n I: 19,\n J: 21,\n K: 2,\n L: 4,\n M: 18,\n N: 20,\n O: 11,\n P: 3,\n Q: 6,\n R: 8,\n S: 12,\n T: 14,\n U: 16,\n V: 10,\n W: 22,\n X: 25,\n Y: 24,\n Z: 23,\n 0: 1,\n 1: 0\n };\n for (var _i6 = 0; _i6 < chars.length - 1; _i6 += 2) {\n var _char_to_int = 0;\n if (chars[_i6] in odd_convert) {\n _char_to_int = odd_convert[chars[_i6]];\n } else {\n var multiplier = parseInt(chars[_i6], 10);\n _char_to_int = 2 * multiplier + 1;\n if (multiplier > 4) {\n _char_to_int += 2;\n }\n }\n checksum += _char_to_int;\n }\n if (String.fromCharCode(65 + checksum % 26) !== chars[15]) {\n return false;\n }\n return true;\n}\n\n/*\n * lv-LV validation function\n * (Personas kods (PK), persons only)\n * Check validity of birth date and calculate check (last) digit\n * Support only for old format numbers (not starting with '32', issued before 2017/07/01)\n * Material not in DG TAXUD document sourced from:\n * `https://boot.ritakafija.lv/forums/index.php?/topic/88314-personas-koda-algoritms-%C4%8Deksumma/`\n */\nfunction lvLvCheck(tin) {\n tin = tin.replace(/\\W/, '');\n // Extract date from TIN\n var day = tin.slice(0, 2);\n if (day !== '32') {\n // No date/checksum check if new format\n var month = tin.slice(2, 4);\n if (month !== '00') {\n // No date check if unknown month\n var full_year = tin.slice(4, 6);\n switch (tin[6]) {\n case '0':\n full_year = \"18\".concat(full_year);\n break;\n case '1':\n full_year = \"19\".concat(full_year);\n break;\n default:\n full_year = \"20\".concat(full_year);\n break;\n }\n // Check date validity\n var date = \"\".concat(full_year, \"/\").concat(tin.slice(2, 4), \"/\").concat(day);\n if (!(0, _isDate.default)(date, 'YYYY/MM/DD')) {\n return false;\n }\n }\n\n // Calculate check digit\n var checksum = 1101;\n var multip_lookup = [1, 6, 3, 7, 9, 10, 5, 8, 4, 2];\n for (var i = 0; i < tin.length - 1; i++) {\n checksum -= parseInt(tin[i], 10) * multip_lookup[i];\n }\n return parseInt(tin[10], 10) === checksum % 11;\n }\n return true;\n}\n\n/*\n * mt-MT validation function\n * (Identity Card Number or Unique Taxpayer Reference, persons/entities)\n * Verify Identity Card Number structure (no other tests found)\n */\nfunction mtMtCheck(tin) {\n if (tin.length !== 9) {\n // No tests for UTR\n var chars = tin.toUpperCase().split('');\n // Fill with zeros if smaller than proper\n while (chars.length < 8) {\n chars.unshift(0);\n }\n // Validate format according to last character\n switch (tin[7]) {\n case 'A':\n case 'P':\n if (parseInt(chars[6], 10) === 0) {\n return false;\n }\n break;\n default:\n {\n var first_part = parseInt(chars.join('').slice(0, 5), 10);\n if (first_part > 32000) {\n return false;\n }\n var second_part = parseInt(chars.join('').slice(5, 7), 10);\n if (first_part === second_part) {\n return false;\n }\n }\n }\n }\n return true;\n}\n\n/*\n * nl-NL validation function\n * (Burgerservicenummer (BSN) or Rechtspersonen Samenwerkingsverbanden Informatie Nummer (RSIN),\n * persons/entities respectively)\n * Verify TIN validity by calculating check (last) digit (variant of MOD 11)\n */\nfunction nlNlCheck(tin) {\n return algorithms.reverseMultiplyAndSum(tin.split('').slice(0, 8).map(function (a) {\n return parseInt(a, 10);\n }), 9) % 11 === parseInt(tin[8], 10);\n}\n\n/*\n * pl-PL validation function\n * (Powszechny Elektroniczny System Ewidencji Ludności (PESEL)\n * or Numer identyfikacji podatkowej (NIP), persons/entities)\n * Verify TIN validity by validating birth date (PESEL) and calculating check (last) digit\n */\nfunction plPlCheck(tin) {\n // NIP\n if (tin.length === 10) {\n // Calculate last digit by multiplying with lookup\n var lookup = [6, 5, 7, 2, 3, 4, 5, 6, 7];\n var _checksum = 0;\n for (var i = 0; i < lookup.length; i++) {\n _checksum += parseInt(tin[i], 10) * lookup[i];\n }\n _checksum %= 11;\n if (_checksum === 10) {\n return false;\n }\n return _checksum === parseInt(tin[9], 10);\n }\n\n // PESEL\n // Extract full year using month\n var full_year = tin.slice(0, 2);\n var month = parseInt(tin.slice(2, 4), 10);\n if (month > 80) {\n full_year = \"18\".concat(full_year);\n month -= 80;\n } else if (month > 60) {\n full_year = \"22\".concat(full_year);\n month -= 60;\n } else if (month > 40) {\n full_year = \"21\".concat(full_year);\n month -= 40;\n } else if (month > 20) {\n full_year = \"20\".concat(full_year);\n month -= 20;\n } else {\n full_year = \"19\".concat(full_year);\n }\n // Add leading zero to month if needed\n if (month < 10) {\n month = \"0\".concat(month);\n }\n // Check date validity\n var date = \"\".concat(full_year, \"/\").concat(month, \"/\").concat(tin.slice(4, 6));\n if (!(0, _isDate.default)(date, 'YYYY/MM/DD')) {\n return false;\n }\n\n // Calculate last digit by mulitplying with odd one-digit numbers except 5\n var checksum = 0;\n var multiplier = 1;\n for (var _i7 = 0; _i7 < tin.length - 1; _i7++) {\n checksum += parseInt(tin[_i7], 10) * multiplier % 10;\n multiplier += 2;\n if (multiplier > 10) {\n multiplier = 1;\n } else if (multiplier === 5) {\n multiplier += 2;\n }\n }\n checksum = 10 - checksum % 10;\n return checksum === parseInt(tin[10], 10);\n}\n\n/*\n* pt-BR validation function\n* (Cadastro de Pessoas Físicas (CPF, persons)\n* Cadastro Nacional de Pessoas Jurídicas (CNPJ, entities)\n* Both inputs will be validated\n*/\n\nfunction ptBrCheck(tin) {\n if (tin.length === 11) {\n var _sum;\n var remainder;\n _sum = 0;\n if (\n // Reject known invalid CPFs\n tin === '11111111111' || tin === '22222222222' || tin === '33333333333' || tin === '44444444444' || tin === '55555555555' || tin === '66666666666' || tin === '77777777777' || tin === '88888888888' || tin === '99999999999' || tin === '00000000000') return false;\n for (var i = 1; i <= 9; i++) _sum += parseInt(tin.substring(i - 1, i), 10) * (11 - i);\n remainder = _sum * 10 % 11;\n if (remainder === 10) remainder = 0;\n if (remainder !== parseInt(tin.substring(9, 10), 10)) return false;\n _sum = 0;\n for (var _i8 = 1; _i8 <= 10; _i8++) _sum += parseInt(tin.substring(_i8 - 1, _i8), 10) * (12 - _i8);\n remainder = _sum * 10 % 11;\n if (remainder === 10) remainder = 0;\n if (remainder !== parseInt(tin.substring(10, 11), 10)) return false;\n return true;\n }\n if (\n // Reject know invalid CNPJs\n tin === '00000000000000' || tin === '11111111111111' || tin === '22222222222222' || tin === '33333333333333' || tin === '44444444444444' || tin === '55555555555555' || tin === '66666666666666' || tin === '77777777777777' || tin === '88888888888888' || tin === '99999999999999') {\n return false;\n }\n var length = tin.length - 2;\n var identifiers = tin.substring(0, length);\n var verificators = tin.substring(length);\n var sum = 0;\n var pos = length - 7;\n for (var _i9 = length; _i9 >= 1; _i9--) {\n sum += identifiers.charAt(length - _i9) * pos;\n pos -= 1;\n if (pos < 2) {\n pos = 9;\n }\n }\n var result = sum % 11 < 2 ? 0 : 11 - sum % 11;\n if (result !== parseInt(verificators.charAt(0), 10)) {\n return false;\n }\n length += 1;\n identifiers = tin.substring(0, length);\n sum = 0;\n pos = length - 7;\n for (var _i10 = length; _i10 >= 1; _i10--) {\n sum += identifiers.charAt(length - _i10) * pos;\n pos -= 1;\n if (pos < 2) {\n pos = 9;\n }\n }\n result = sum % 11 < 2 ? 0 : 11 - sum % 11;\n if (result !== parseInt(verificators.charAt(1), 10)) {\n return false;\n }\n return true;\n}\n\n/*\n * pt-PT validation function\n * (Número de identificação fiscal (NIF), persons/entities)\n * Verify TIN validity by calculating check (last) digit (variant of MOD 11)\n */\nfunction ptPtCheck(tin) {\n var checksum = 11 - algorithms.reverseMultiplyAndSum(tin.split('').slice(0, 8).map(function (a) {\n return parseInt(a, 10);\n }), 9) % 11;\n if (checksum > 9) {\n return parseInt(tin[8], 10) === 0;\n }\n return checksum === parseInt(tin[8], 10);\n}\n\n/*\n * ro-RO validation function\n * (Cod Numeric Personal (CNP) or Cod de înregistrare fiscală (CIF),\n * persons only)\n * Verify CNP validity by calculating check (last) digit (test not found for CIF)\n * Material not in DG TAXUD document sourced from:\n * `https://en.wikipedia.org/wiki/National_identification_number#Romania`\n */\nfunction roRoCheck(tin) {\n if (tin.slice(0, 4) !== '9000') {\n // No test found for this format\n // Extract full year using century digit if possible\n var full_year = tin.slice(1, 3);\n switch (tin[0]) {\n case '1':\n case '2':\n full_year = \"19\".concat(full_year);\n break;\n case '3':\n case '4':\n full_year = \"18\".concat(full_year);\n break;\n case '5':\n case '6':\n full_year = \"20\".concat(full_year);\n break;\n default:\n }\n\n // Check date validity\n var date = \"\".concat(full_year, \"/\").concat(tin.slice(3, 5), \"/\").concat(tin.slice(5, 7));\n if (date.length === 8) {\n if (!(0, _isDate.default)(date, 'YY/MM/DD')) {\n return false;\n }\n } else if (!(0, _isDate.default)(date, 'YYYY/MM/DD')) {\n return false;\n }\n\n // Calculate check digit\n var digits = tin.split('').map(function (a) {\n return parseInt(a, 10);\n });\n var multipliers = [2, 7, 9, 1, 4, 6, 3, 5, 8, 2, 7, 9];\n var checksum = 0;\n for (var i = 0; i < multipliers.length; i++) {\n checksum += digits[i] * multipliers[i];\n }\n if (checksum % 11 === 10) {\n return digits[12] === 1;\n }\n return digits[12] === checksum % 11;\n }\n return true;\n}\n\n/*\n * sk-SK validation function\n * (Rodné číslo (RČ) or bezvýznamové identifikačné číslo (BIČ), persons only)\n * Checks validity of pre-1954 birth numbers (rodné číslo) only\n * Due to the introduction of the pseudo-random BIČ it is not possible to test\n * post-1954 birth numbers without knowing whether they are BIČ or RČ beforehand\n */\nfunction skSkCheck(tin) {\n if (tin.length === 9) {\n tin = tin.replace(/\\W/, '');\n if (tin.slice(6) === '000') {\n return false;\n } // Three-zero serial not assigned before 1954\n\n // Extract full year from TIN length\n var full_year = parseInt(tin.slice(0, 2), 10);\n if (full_year > 53) {\n return false;\n }\n if (full_year < 10) {\n full_year = \"190\".concat(full_year);\n } else {\n full_year = \"19\".concat(full_year);\n }\n\n // Extract month from TIN and normalize\n var month = parseInt(tin.slice(2, 4), 10);\n if (month > 50) {\n month -= 50;\n }\n if (month < 10) {\n month = \"0\".concat(month);\n }\n\n // Check date validity\n var date = \"\".concat(full_year, \"/\").concat(month, \"/\").concat(tin.slice(4, 6));\n if (!(0, _isDate.default)(date, 'YYYY/MM/DD')) {\n return false;\n }\n }\n return true;\n}\n\n/*\n * sl-SI validation function\n * (Davčna številka, persons/entities)\n * Verify TIN validity by calculating check (last) digit (variant of MOD 11)\n */\nfunction slSiCheck(tin) {\n var checksum = 11 - algorithms.reverseMultiplyAndSum(tin.split('').slice(0, 7).map(function (a) {\n return parseInt(a, 10);\n }), 8) % 11;\n if (checksum === 10) {\n return parseInt(tin[7], 10) === 0;\n }\n return checksum === parseInt(tin[7], 10);\n}\n\n/*\n * sv-SE validation function\n * (Personnummer or samordningsnummer, persons only)\n * Checks validity of birth date and calls luhnCheck() to validate check (last) digit\n */\nfunction svSeCheck(tin) {\n // Make copy of TIN and normalize to two-digit year form\n var tin_copy = tin.slice(0);\n if (tin.length > 11) {\n tin_copy = tin_copy.slice(2);\n }\n\n // Extract date of birth\n var full_year = '';\n var month = tin_copy.slice(2, 4);\n var day = parseInt(tin_copy.slice(4, 6), 10);\n if (tin.length > 11) {\n full_year = tin.slice(0, 4);\n } else {\n full_year = tin.slice(0, 2);\n if (tin.length === 11 && day < 60) {\n // Extract full year from centenarian symbol\n // Should work just fine until year 10000 or so\n var current_year = new Date().getFullYear().toString();\n var current_century = parseInt(current_year.slice(0, 2), 10);\n current_year = parseInt(current_year, 10);\n if (tin[6] === '-') {\n if (parseInt(\"\".concat(current_century).concat(full_year), 10) > current_year) {\n full_year = \"\".concat(current_century - 1).concat(full_year);\n } else {\n full_year = \"\".concat(current_century).concat(full_year);\n }\n } else {\n full_year = \"\".concat(current_century - 1).concat(full_year);\n if (current_year - parseInt(full_year, 10) < 100) {\n return false;\n }\n }\n }\n }\n\n // Normalize day and check date validity\n if (day > 60) {\n day -= 60;\n }\n if (day < 10) {\n day = \"0\".concat(day);\n }\n var date = \"\".concat(full_year, \"/\").concat(month, \"/\").concat(day);\n if (date.length === 8) {\n if (!(0, _isDate.default)(date, 'YY/MM/DD')) {\n return false;\n }\n } else if (!(0, _isDate.default)(date, 'YYYY/MM/DD')) {\n return false;\n }\n return algorithms.luhnCheck(tin.replace(/\\W/, ''));\n}\n\n/**\n * uk-UA validation function\n * Verify TIN validity by calculating check (last) digit (variant of MOD 11)\n */\nfunction ukUaCheck(tin) {\n // Calculate check digit\n var digits = tin.split('').map(function (a) {\n return parseInt(a, 10);\n });\n var multipliers = [-1, 5, 7, 9, 4, 6, 10, 5, 7];\n var checksum = 0;\n for (var i = 0; i < multipliers.length; i++) {\n checksum += digits[i] * multipliers[i];\n }\n return checksum % 11 === 10 ? digits[9] === 0 : digits[9] === checksum % 11;\n}\n\n// Locale lookup objects\n\n/*\n * Tax id regex formats for various locales\n *\n * Where not explicitly specified in DG-TAXUD document both\n * uppercase and lowercase letters are acceptable.\n */\nvar taxIdFormat = {\n 'bg-BG': /^\\d{10}$/,\n 'cs-CZ': /^\\d{6}\\/{0,1}\\d{3,4}$/,\n 'de-AT': /^\\d{9}$/,\n 'de-DE': /^[1-9]\\d{10}$/,\n 'dk-DK': /^\\d{6}-{0,1}\\d{4}$/,\n 'el-CY': /^[09]\\d{7}[A-Z]$/,\n 'el-GR': /^([0-4]|[7-9])\\d{8}$/,\n 'en-CA': /^\\d{9}$/,\n 'en-GB': /^\\d{10}$|^(?!GB|NK|TN|ZZ)(?![DFIQUV])[A-Z](?![DFIQUVO])[A-Z]\\d{6}[ABCD ]$/i,\n 'en-IE': /^\\d{7}[A-W][A-IW]{0,1}$/i,\n 'en-US': /^\\d{2}[- ]{0,1}\\d{7}$/,\n 'es-AR': /(20|23|24|27|30|33|34)[0-9]{8}[0-9]/,\n 'es-ES': /^(\\d{0,8}|[XYZKLM]\\d{7})[A-HJ-NP-TV-Z]$/i,\n 'et-EE': /^[1-6]\\d{6}(00[1-9]|0[1-9][0-9]|[1-6][0-9]{2}|70[0-9]|710)\\d$/,\n 'fi-FI': /^\\d{6}[-+A]\\d{3}[0-9A-FHJ-NPR-Y]$/i,\n 'fr-BE': /^\\d{11}$/,\n 'fr-FR': /^[0-3]\\d{12}$|^[0-3]\\d\\s\\d{2}(\\s\\d{3}){3}$/,\n // Conforms both to official spec and provided example\n 'fr-LU': /^\\d{13}$/,\n 'hr-HR': /^\\d{11}$/,\n 'hu-HU': /^8\\d{9}$/,\n 'it-IT': /^[A-Z]{6}[L-NP-V0-9]{2}[A-EHLMPRST][L-NP-V0-9]{2}[A-ILMZ][L-NP-V0-9]{3}[A-Z]$/i,\n 'lv-LV': /^\\d{6}-{0,1}\\d{5}$/,\n // Conforms both to DG TAXUD spec and original research\n 'mt-MT': /^\\d{3,7}[APMGLHBZ]$|^([1-8])\\1\\d{7}$/i,\n 'nl-NL': /^\\d{9}$/,\n 'pl-PL': /^\\d{10,11}$/,\n 'pt-BR': /(?:^\\d{11}$)|(?:^\\d{14}$)/,\n 'pt-PT': /^\\d{9}$/,\n 'ro-RO': /^\\d{13}$/,\n 'sk-SK': /^\\d{6}\\/{0,1}\\d{3,4}$/,\n 'sl-SI': /^[1-9]\\d{7}$/,\n 'sv-SE': /^(\\d{6}[-+]{0,1}\\d{4}|(18|19|20)\\d{6}[-+]{0,1}\\d{4})$/,\n 'uk-UA': /^\\d{10}$/\n};\n// taxIdFormat locale aliases\ntaxIdFormat['lb-LU'] = taxIdFormat['fr-LU'];\ntaxIdFormat['lt-LT'] = taxIdFormat['et-EE'];\ntaxIdFormat['nl-BE'] = taxIdFormat['fr-BE'];\ntaxIdFormat['fr-CA'] = taxIdFormat['en-CA'];\n\n// Algorithmic tax id check functions for various locales\nvar taxIdCheck = {\n 'bg-BG': bgBgCheck,\n 'cs-CZ': csCzCheck,\n 'de-AT': deAtCheck,\n 'de-DE': deDeCheck,\n 'dk-DK': dkDkCheck,\n 'el-CY': elCyCheck,\n 'el-GR': elGrCheck,\n 'en-CA': isCanadianSIN,\n 'en-IE': enIeCheck,\n 'en-US': enUsCheck,\n 'es-AR': esArCheck,\n 'es-ES': esEsCheck,\n 'et-EE': etEeCheck,\n 'fi-FI': fiFiCheck,\n 'fr-BE': frBeCheck,\n 'fr-FR': frFrCheck,\n 'fr-LU': frLuCheck,\n 'hr-HR': hrHrCheck,\n 'hu-HU': huHuCheck,\n 'it-IT': itItCheck,\n 'lv-LV': lvLvCheck,\n 'mt-MT': mtMtCheck,\n 'nl-NL': nlNlCheck,\n 'pl-PL': plPlCheck,\n 'pt-BR': ptBrCheck,\n 'pt-PT': ptPtCheck,\n 'ro-RO': roRoCheck,\n 'sk-SK': skSkCheck,\n 'sl-SI': slSiCheck,\n 'sv-SE': svSeCheck,\n 'uk-UA': ukUaCheck\n};\n// taxIdCheck locale aliases\ntaxIdCheck['lb-LU'] = taxIdCheck['fr-LU'];\ntaxIdCheck['lt-LT'] = taxIdCheck['et-EE'];\ntaxIdCheck['nl-BE'] = taxIdCheck['fr-BE'];\ntaxIdCheck['fr-CA'] = taxIdCheck['en-CA'];\n\n// Regexes for locales where characters should be omitted before checking format\nvar allsymbols = /[-\\\\\\/!@#$%\\^&\\*\\(\\)\\+\\=\\[\\]]+/g;\nvar sanitizeRegexes = {\n 'de-AT': allsymbols,\n 'de-DE': /[\\/\\\\]/g,\n 'fr-BE': allsymbols\n};\n// sanitizeRegexes locale aliases\nsanitizeRegexes['nl-BE'] = sanitizeRegexes['fr-BE'];\n\n/*\n * Validator function\n * Return true if the passed string is a valid tax identification number\n * for the specified locale.\n * Throw an error exception if the locale is not supported.\n */\nfunction isTaxID(str) {\n var locale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'en-US';\n (0, _assertString.default)(str);\n // Copy TIN to avoid replacement if sanitized\n var strcopy = str.slice(0);\n if (locale in taxIdFormat) {\n if (locale in sanitizeRegexes) {\n strcopy = strcopy.replace(sanitizeRegexes[locale], '');\n }\n if (!taxIdFormat[locale].test(strcopy)) {\n return false;\n }\n if (locale in taxIdCheck) {\n return taxIdCheck[locale](strcopy);\n }\n // Fallthrough; not all locales have algorithmic checks\n return true;\n }\n throw new Error(\"Invalid locale '\".concat(locale, \"'\"));\n}\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isTime;\nvar _merge = _interopRequireDefault(require(\"./util/merge\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nvar default_time_options = {\n hourFormat: 'hour24',\n mode: 'default'\n};\nvar formats = {\n hour24: {\n default: /^([01]?[0-9]|2[0-3]):([0-5][0-9])$/,\n withSeconds: /^([01]?[0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])$/\n },\n hour12: {\n default: /^(0?[1-9]|1[0-2]):([0-5][0-9]) (A|P)M$/,\n withSeconds: /^(0?[1-9]|1[0-2]):([0-5][0-9]):([0-5][0-9]) (A|P)M$/\n }\n};\nfunction isTime(input, options) {\n options = (0, _merge.default)(options, default_time_options);\n if (typeof input !== 'string') return false;\n return formats[options.hourFormat][options.mode].test(input);\n}\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isURL;\nvar _assertString = _interopRequireDefault(require(\"./util/assertString\"));\nvar _isFQDN = _interopRequireDefault(require(\"./isFQDN\"));\nvar _isIP = _interopRequireDefault(require(\"./isIP\"));\nvar _merge = _interopRequireDefault(require(\"./util/merge\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n/*\noptions for isURL method\n\nrequire_protocol - if set as true isURL will return false if protocol is not present in the URL\nrequire_valid_protocol - isURL will check if the URL's protocol is present in the protocols option\nprotocols - valid protocols can be modified with this option\nrequire_host - if set as false isURL will not check if host is present in the URL\nrequire_port - if set as true isURL will check if port is present in the URL\nallow_protocol_relative_urls - if set as true protocol relative URLs will be allowed\nvalidate_length - if set as false isURL will skip string length validation (IE maximum is 2083)\n\n*/\n\nvar default_url_options = {\n protocols: ['http', 'https', 'ftp'],\n require_tld: true,\n require_protocol: false,\n require_host: true,\n require_port: false,\n require_valid_protocol: true,\n allow_underscores: false,\n allow_trailing_dot: false,\n allow_protocol_relative_urls: false,\n allow_fragments: true,\n allow_query_components: true,\n validate_length: true\n};\nvar wrapped_ipv6 = /^\\[([^\\]]+)\\](?::([0-9]+))?$/;\nfunction isRegExp(obj) {\n return Object.prototype.toString.call(obj) === '[object RegExp]';\n}\nfunction checkHost(host, matches) {\n for (var i = 0; i < matches.length; i++) {\n var match = matches[i];\n if (host === match || isRegExp(match) && match.test(host)) {\n return true;\n }\n }\n return false;\n}\nfunction isURL(url, options) {\n (0, _assertString.default)(url);\n if (!url || /[\\s<>]/.test(url)) {\n return false;\n }\n if (url.indexOf('mailto:') === 0) {\n return false;\n }\n options = (0, _merge.default)(options, default_url_options);\n if (options.validate_length && url.length >= 2083) {\n return false;\n }\n if (!options.allow_fragments && url.includes('#')) {\n return false;\n }\n if (!options.allow_query_components && (url.includes('?') || url.includes('&'))) {\n return false;\n }\n var protocol, auth, host, hostname, port, port_str, split, ipv6;\n split = url.split('#');\n url = split.shift();\n split = url.split('?');\n url = split.shift();\n split = url.split('://');\n if (split.length > 1) {\n protocol = split.shift().toLowerCase();\n if (options.require_valid_protocol && options.protocols.indexOf(protocol) === -1) {\n return false;\n }\n } else if (options.require_protocol) {\n return false;\n } else if (url.slice(0, 2) === '//') {\n if (!options.allow_protocol_relative_urls) {\n return false;\n }\n split[0] = url.slice(2);\n }\n url = split.join('://');\n if (url === '') {\n return false;\n }\n split = url.split('/');\n url = split.shift();\n if (url === '' && !options.require_host) {\n return true;\n }\n split = url.split('@');\n if (split.length > 1) {\n if (options.disallow_auth) {\n return false;\n }\n if (split[0] === '') {\n return false;\n }\n auth = split.shift();\n if (auth.indexOf(':') >= 0 && auth.split(':').length > 2) {\n return false;\n }\n var _auth$split = auth.split(':'),\n _auth$split2 = _slicedToArray(_auth$split, 2),\n user = _auth$split2[0],\n password = _auth$split2[1];\n if (user === '' && password === '') {\n return false;\n }\n }\n hostname = split.join('@');\n port_str = null;\n ipv6 = null;\n var ipv6_match = hostname.match(wrapped_ipv6);\n if (ipv6_match) {\n host = '';\n ipv6 = ipv6_match[1];\n port_str = ipv6_match[2] || null;\n } else {\n split = hostname.split(':');\n host = split.shift();\n if (split.length) {\n port_str = split.join(':');\n }\n }\n if (port_str !== null && port_str.length > 0) {\n port = parseInt(port_str, 10);\n if (!/^[0-9]+$/.test(port_str) || port <= 0 || port > 65535) {\n return false;\n }\n } else if (options.require_port) {\n return false;\n }\n if (options.host_whitelist) {\n return checkHost(host, options.host_whitelist);\n }\n if (host === '' && !options.require_host) {\n return true;\n }\n if (!(0, _isIP.default)(host) && !(0, _isFQDN.default)(host, options) && (!ipv6 || !(0, _isIP.default)(ipv6, 6))) {\n return false;\n }\n host = host || ipv6;\n if (options.host_blacklist && checkHost(host, options.host_blacklist)) {\n return false;\n }\n return true;\n}\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isUUID;\nvar _assertString = _interopRequireDefault(require(\"./util/assertString\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nvar uuid = {\n 1: /^[0-9A-F]{8}-[0-9A-F]{4}-1[0-9A-F]{3}-[0-9A-F]{4}-[0-9A-F]{12}$/i,\n 2: /^[0-9A-F]{8}-[0-9A-F]{4}-2[0-9A-F]{3}-[0-9A-F]{4}-[0-9A-F]{12}$/i,\n 3: /^[0-9A-F]{8}-[0-9A-F]{4}-3[0-9A-F]{3}-[0-9A-F]{4}-[0-9A-F]{12}$/i,\n 4: /^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,\n 5: /^[0-9A-F]{8}-[0-9A-F]{4}-5[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,\n 7: /^[0-9A-F]{8}-[0-9A-F]{4}-7[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,\n all: /^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/i\n};\nfunction isUUID(str, version) {\n (0, _assertString.default)(str);\n var pattern = uuid[![undefined, null].includes(version) ? version : 'all'];\n return !!pattern && pattern.test(str);\n}\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isUppercase;\nvar _assertString = _interopRequireDefault(require(\"./util/assertString\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction isUppercase(str) {\n (0, _assertString.default)(str);\n return str === str.toUpperCase();\n}\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;","\"use strict\";\n\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isVAT;\nexports.vatMatchers = void 0;\nvar _assertString = _interopRequireDefault(require(\"./util/assertString\"));\nvar algorithms = _interopRequireWildcard(require(\"./util/algorithms\"));\nfunction _getRequireWildcardCache(e) { if (\"function\" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }\nfunction _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || \"object\" != _typeof(e) && \"function\" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if (\"default\" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nvar AU = function AU(str) {\n var match = str.match(/^(AU)?(\\d{11})$/);\n if (!match) {\n return false;\n }\n // @see {@link https://abr.business.gov.au/Help/AbnFormat}\n var weights = [10, 1, 3, 5, 7, 9, 11, 13, 15, 17, 19];\n str = str.replace(/^AU/, '');\n var ABN = (parseInt(str.slice(0, 1), 10) - 1).toString() + str.slice(1);\n var total = 0;\n for (var i = 0; i < 11; i++) {\n total += weights[i] * ABN.charAt(i);\n }\n return total !== 0 && total % 89 === 0;\n};\nvar CH = function CH(str) {\n // @see {@link https://www.ech.ch/de/ech/ech-0097/5.2.0}\n var hasValidCheckNumber = function hasValidCheckNumber(digits) {\n var lastDigit = digits.pop(); // used as check number\n var weights = [5, 4, 3, 2, 7, 6, 5, 4];\n var calculatedCheckNumber = (11 - digits.reduce(function (acc, el, idx) {\n return acc + el * weights[idx];\n }, 0) % 11) % 11;\n return lastDigit === calculatedCheckNumber;\n };\n\n // @see {@link https://www.estv.admin.ch/estv/de/home/mehrwertsteuer/uid/mwst-uid-nummer.html}\n return /^(CHE[- ]?)?(\\d{9}|(\\d{3}\\.\\d{3}\\.\\d{3})|(\\d{3} \\d{3} \\d{3})) ?(TVA|MWST|IVA)?$/.test(str) && hasValidCheckNumber(str.match(/\\d/g).map(function (el) {\n return +el;\n }));\n};\nvar PT = function PT(str) {\n var match = str.match(/^(PT)?(\\d{9})$/);\n if (!match) {\n return false;\n }\n var tin = match[2];\n var checksum = 11 - algorithms.reverseMultiplyAndSum(tin.split('').slice(0, 8).map(function (a) {\n return parseInt(a, 10);\n }), 9) % 11;\n if (checksum > 9) {\n return parseInt(tin[8], 10) === 0;\n }\n return checksum === parseInt(tin[8], 10);\n};\nvar vatMatchers = exports.vatMatchers = {\n /**\r\n * European Union VAT identification numbers\r\n */\n AT: function AT(str) {\n return /^(AT)?U\\d{8}$/.test(str);\n },\n BE: function BE(str) {\n return /^(BE)?\\d{10}$/.test(str);\n },\n BG: function BG(str) {\n return /^(BG)?\\d{9,10}$/.test(str);\n },\n HR: function HR(str) {\n return /^(HR)?\\d{11}$/.test(str);\n },\n CY: function CY(str) {\n return /^(CY)?\\w{9}$/.test(str);\n },\n CZ: function CZ(str) {\n return /^(CZ)?\\d{8,10}$/.test(str);\n },\n DK: function DK(str) {\n return /^(DK)?\\d{8}$/.test(str);\n },\n EE: function EE(str) {\n return /^(EE)?\\d{9}$/.test(str);\n },\n FI: function FI(str) {\n return /^(FI)?\\d{8}$/.test(str);\n },\n FR: function FR(str) {\n return /^(FR)?\\w{2}\\d{9}$/.test(str);\n },\n DE: function DE(str) {\n return /^(DE)?\\d{9}$/.test(str);\n },\n EL: function EL(str) {\n return /^(EL)?\\d{9}$/.test(str);\n },\n HU: function HU(str) {\n return /^(HU)?\\d{8}$/.test(str);\n },\n IE: function IE(str) {\n return /^(IE)?\\d{7}\\w{1}(W)?$/.test(str);\n },\n IT: function IT(str) {\n return /^(IT)?\\d{11}$/.test(str);\n },\n LV: function LV(str) {\n return /^(LV)?\\d{11}$/.test(str);\n },\n LT: function LT(str) {\n return /^(LT)?\\d{9,12}$/.test(str);\n },\n LU: function LU(str) {\n return /^(LU)?\\d{8}$/.test(str);\n },\n MT: function MT(str) {\n return /^(MT)?\\d{8}$/.test(str);\n },\n NL: function NL(str) {\n return /^(NL)?\\d{9}B\\d{2}$/.test(str);\n },\n PL: function PL(str) {\n return /^(PL)?(\\d{10}|(\\d{3}-\\d{3}-\\d{2}-\\d{2})|(\\d{3}-\\d{2}-\\d{2}-\\d{3}))$/.test(str);\n },\n PT: PT,\n RO: function RO(str) {\n return /^(RO)?\\d{2,10}$/.test(str);\n },\n SK: function SK(str) {\n return /^(SK)?\\d{10}$/.test(str);\n },\n SI: function SI(str) {\n return /^(SI)?\\d{8}$/.test(str);\n },\n ES: function ES(str) {\n return /^(ES)?\\w\\d{7}[A-Z]$/.test(str);\n },\n SE: function SE(str) {\n return /^(SE)?\\d{12}$/.test(str);\n },\n /**\r\n * VAT numbers of non-EU countries\r\n */\n AL: function AL(str) {\n return /^(AL)?\\w{9}[A-Z]$/.test(str);\n },\n MK: function MK(str) {\n return /^(MK)?\\d{13}$/.test(str);\n },\n AU: AU,\n BY: function BY(str) {\n return /^(УНП )?\\d{9}$/.test(str);\n },\n CA: function CA(str) {\n return /^(CA)?\\d{9}$/.test(str);\n },\n IS: function IS(str) {\n return /^(IS)?\\d{5,6}$/.test(str);\n },\n IN: function IN(str) {\n return /^(IN)?\\d{15}$/.test(str);\n },\n ID: function ID(str) {\n return /^(ID)?(\\d{15}|(\\d{2}.\\d{3}.\\d{3}.\\d{1}-\\d{3}.\\d{3}))$/.test(str);\n },\n IL: function IL(str) {\n return /^(IL)?\\d{9}$/.test(str);\n },\n KZ: function KZ(str) {\n return /^(KZ)?\\d{12}$/.test(str);\n },\n NZ: function NZ(str) {\n return /^(NZ)?\\d{9}$/.test(str);\n },\n NG: function NG(str) {\n return /^(NG)?(\\d{12}|(\\d{8}-\\d{4}))$/.test(str);\n },\n NO: function NO(str) {\n return /^(NO)?\\d{9}MVA$/.test(str);\n },\n PH: function PH(str) {\n return /^(PH)?(\\d{12}|\\d{3} \\d{3} \\d{3} \\d{3})$/.test(str);\n },\n RU: function RU(str) {\n return /^(RU)?(\\d{10}|\\d{12})$/.test(str);\n },\n SM: function SM(str) {\n return /^(SM)?\\d{5}$/.test(str);\n },\n SA: function SA(str) {\n return /^(SA)?\\d{15}$/.test(str);\n },\n RS: function RS(str) {\n return /^(RS)?\\d{9}$/.test(str);\n },\n CH: CH,\n TR: function TR(str) {\n return /^(TR)?\\d{10}$/.test(str);\n },\n UA: function UA(str) {\n return /^(UA)?\\d{12}$/.test(str);\n },\n GB: function GB(str) {\n return /^GB((\\d{3} \\d{4} ([0-8][0-9]|9[0-6]))|(\\d{9} \\d{3})|(((GD[0-4])|(HA[5-9]))[0-9]{2}))$/.test(str);\n },\n UZ: function UZ(str) {\n return /^(UZ)?\\d{9}$/.test(str);\n },\n /**\r\n * VAT numbers of Latin American countries\r\n */\n AR: function AR(str) {\n return /^(AR)?\\d{11}$/.test(str);\n },\n BO: function BO(str) {\n return /^(BO)?\\d{7}$/.test(str);\n },\n BR: function BR(str) {\n return /^(BR)?((\\d{2}.\\d{3}.\\d{3}\\/\\d{4}-\\d{2})|(\\d{3}.\\d{3}.\\d{3}-\\d{2}))$/.test(str);\n },\n CL: function CL(str) {\n return /^(CL)?\\d{8}-\\d{1}$/.test(str);\n },\n CO: function CO(str) {\n return /^(CO)?\\d{10}$/.test(str);\n },\n CR: function CR(str) {\n return /^(CR)?\\d{9,12}$/.test(str);\n },\n EC: function EC(str) {\n return /^(EC)?\\d{13}$/.test(str);\n },\n SV: function SV(str) {\n return /^(SV)?\\d{4}-\\d{6}-\\d{3}-\\d{1}$/.test(str);\n },\n GT: function GT(str) {\n return /^(GT)?\\d{7}-\\d{1}$/.test(str);\n },\n HN: function HN(str) {\n return /^(HN)?$/.test(str);\n },\n MX: function MX(str) {\n return /^(MX)?\\w{3,4}\\d{6}\\w{3}$/.test(str);\n },\n NI: function NI(str) {\n return /^(NI)?\\d{3}-\\d{6}-\\d{4}\\w{1}$/.test(str);\n },\n PA: function PA(str) {\n return /^(PA)?$/.test(str);\n },\n PY: function PY(str) {\n return /^(PY)?\\d{6,8}-\\d{1}$/.test(str);\n },\n PE: function PE(str) {\n return /^(PE)?\\d{11}$/.test(str);\n },\n DO: function DO(str) {\n return /^(DO)?(\\d{11}|(\\d{3}-\\d{7}-\\d{1})|[1,4,5]{1}\\d{8}|([1,4,5]{1})-\\d{2}-\\d{5}-\\d{1})$/.test(str);\n },\n UY: function UY(str) {\n return /^(UY)?\\d{12}$/.test(str);\n },\n VE: function VE(str) {\n return /^(VE)?[J,G,V,E]{1}-(\\d{9}|(\\d{8}-\\d{1}))$/.test(str);\n }\n};\nfunction isVAT(str, countryCode) {\n (0, _assertString.default)(str);\n (0, _assertString.default)(countryCode);\n if (countryCode in vatMatchers) {\n return vatMatchers[countryCode](str);\n }\n throw new Error(\"Invalid country code: '\".concat(countryCode, \"'\"));\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isVariableWidth;\nvar _assertString = _interopRequireDefault(require(\"./util/assertString\"));\nvar _isFullWidth = require(\"./isFullWidth\");\nvar _isHalfWidth = require(\"./isHalfWidth\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction isVariableWidth(str) {\n (0, _assertString.default)(str);\n return _isFullWidth.fullWidth.test(str) && _isHalfWidth.halfWidth.test(str);\n}\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isWhitelisted;\nvar _assertString = _interopRequireDefault(require(\"./util/assertString\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction isWhitelisted(str, chars) {\n (0, _assertString.default)(str);\n for (var i = str.length - 1; i >= 0; i--) {\n if (chars.indexOf(str[i]) === -1) {\n return false;\n }\n }\n return true;\n}\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = ltrim;\nvar _assertString = _interopRequireDefault(require(\"./util/assertString\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction ltrim(str, chars) {\n (0, _assertString.default)(str);\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#Escaping\n var pattern = chars ? new RegExp(\"^[\".concat(chars.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'), \"]+\"), 'g') : /^\\s+/g;\n return str.replace(pattern, '');\n}\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = matches;\nvar _assertString = _interopRequireDefault(require(\"./util/assertString\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction matches(str, pattern, modifiers) {\n (0, _assertString.default)(str);\n if (Object.prototype.toString.call(pattern) !== '[object RegExp]') {\n pattern = new RegExp(pattern, modifiers);\n }\n return !!str.match(pattern);\n}\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = normalizeEmail;\nvar _merge = _interopRequireDefault(require(\"./util/merge\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nvar default_normalize_email_options = {\n // The following options apply to all email addresses\n // Lowercases the local part of the email address.\n // Please note this may violate RFC 5321 as per http://stackoverflow.com/a/9808332/192024).\n // The domain is always lowercased, as per RFC 1035\n all_lowercase: true,\n // The following conversions are specific to GMail\n // Lowercases the local part of the GMail address (known to be case-insensitive)\n gmail_lowercase: true,\n // Removes dots from the local part of the email address, as that's ignored by GMail\n gmail_remove_dots: true,\n // Removes the subaddress (e.g. \"+foo\") from the email address\n gmail_remove_subaddress: true,\n // Conversts the googlemail.com domain to gmail.com\n gmail_convert_googlemaildotcom: true,\n // The following conversions are specific to Outlook.com / Windows Live / Hotmail\n // Lowercases the local part of the Outlook.com address (known to be case-insensitive)\n outlookdotcom_lowercase: true,\n // Removes the subaddress (e.g. \"+foo\") from the email address\n outlookdotcom_remove_subaddress: true,\n // The following conversions are specific to Yahoo\n // Lowercases the local part of the Yahoo address (known to be case-insensitive)\n yahoo_lowercase: true,\n // Removes the subaddress (e.g. \"-foo\") from the email address\n yahoo_remove_subaddress: true,\n // The following conversions are specific to Yandex\n // Lowercases the local part of the Yandex address (known to be case-insensitive)\n yandex_lowercase: true,\n // The following conversions are specific to iCloud\n // Lowercases the local part of the iCloud address (known to be case-insensitive)\n icloud_lowercase: true,\n // Removes the subaddress (e.g. \"+foo\") from the email address\n icloud_remove_subaddress: true\n};\n\n// List of domains used by iCloud\nvar icloud_domains = ['icloud.com', 'me.com'];\n\n// List of domains used by Outlook.com and its predecessors\n// This list is likely incomplete.\n// Partial reference:\n// https://blogs.office.com/2013/04/17/outlook-com-gets-two-step-verification-sign-in-by-alias-and-new-international-domains/\nvar outlookdotcom_domains = ['hotmail.at', 'hotmail.be', 'hotmail.ca', 'hotmail.cl', 'hotmail.co.il', 'hotmail.co.nz', 'hotmail.co.th', 'hotmail.co.uk', 'hotmail.com', 'hotmail.com.ar', 'hotmail.com.au', 'hotmail.com.br', 'hotmail.com.gr', 'hotmail.com.mx', 'hotmail.com.pe', 'hotmail.com.tr', 'hotmail.com.vn', 'hotmail.cz', 'hotmail.de', 'hotmail.dk', 'hotmail.es', 'hotmail.fr', 'hotmail.hu', 'hotmail.id', 'hotmail.ie', 'hotmail.in', 'hotmail.it', 'hotmail.jp', 'hotmail.kr', 'hotmail.lv', 'hotmail.my', 'hotmail.ph', 'hotmail.pt', 'hotmail.sa', 'hotmail.sg', 'hotmail.sk', 'live.be', 'live.co.uk', 'live.com', 'live.com.ar', 'live.com.mx', 'live.de', 'live.es', 'live.eu', 'live.fr', 'live.it', 'live.nl', 'msn.com', 'outlook.at', 'outlook.be', 'outlook.cl', 'outlook.co.il', 'outlook.co.nz', 'outlook.co.th', 'outlook.com', 'outlook.com.ar', 'outlook.com.au', 'outlook.com.br', 'outlook.com.gr', 'outlook.com.pe', 'outlook.com.tr', 'outlook.com.vn', 'outlook.cz', 'outlook.de', 'outlook.dk', 'outlook.es', 'outlook.fr', 'outlook.hu', 'outlook.id', 'outlook.ie', 'outlook.in', 'outlook.it', 'outlook.jp', 'outlook.kr', 'outlook.lv', 'outlook.my', 'outlook.ph', 'outlook.pt', 'outlook.sa', 'outlook.sg', 'outlook.sk', 'passport.com'];\n\n// List of domains used by Yahoo Mail\n// This list is likely incomplete\nvar yahoo_domains = ['rocketmail.com', 'yahoo.ca', 'yahoo.co.uk', 'yahoo.com', 'yahoo.de', 'yahoo.fr', 'yahoo.in', 'yahoo.it', 'ymail.com'];\n\n// List of domains used by yandex.ru\nvar yandex_domains = ['yandex.ru', 'yandex.ua', 'yandex.kz', 'yandex.com', 'yandex.by', 'ya.ru'];\n\n// replace single dots, but not multiple consecutive dots\nfunction dotsReplacer(match) {\n if (match.length > 1) {\n return match;\n }\n return '';\n}\nfunction normalizeEmail(email, options) {\n options = (0, _merge.default)(options, default_normalize_email_options);\n var raw_parts = email.split('@');\n var domain = raw_parts.pop();\n var user = raw_parts.join('@');\n var parts = [user, domain];\n\n // The domain is always lowercased, as it's case-insensitive per RFC 1035\n parts[1] = parts[1].toLowerCase();\n if (parts[1] === 'gmail.com' || parts[1] === 'googlemail.com') {\n // Address is GMail\n if (options.gmail_remove_subaddress) {\n parts[0] = parts[0].split('+')[0];\n }\n if (options.gmail_remove_dots) {\n // this does not replace consecutive dots like example..email@gmail.com\n parts[0] = parts[0].replace(/\\.+/g, dotsReplacer);\n }\n if (!parts[0].length) {\n return false;\n }\n if (options.all_lowercase || options.gmail_lowercase) {\n parts[0] = parts[0].toLowerCase();\n }\n parts[1] = options.gmail_convert_googlemaildotcom ? 'gmail.com' : parts[1];\n } else if (icloud_domains.indexOf(parts[1]) >= 0) {\n // Address is iCloud\n if (options.icloud_remove_subaddress) {\n parts[0] = parts[0].split('+')[0];\n }\n if (!parts[0].length) {\n return false;\n }\n if (options.all_lowercase || options.icloud_lowercase) {\n parts[0] = parts[0].toLowerCase();\n }\n } else if (outlookdotcom_domains.indexOf(parts[1]) >= 0) {\n // Address is Outlook.com\n if (options.outlookdotcom_remove_subaddress) {\n parts[0] = parts[0].split('+')[0];\n }\n if (!parts[0].length) {\n return false;\n }\n if (options.all_lowercase || options.outlookdotcom_lowercase) {\n parts[0] = parts[0].toLowerCase();\n }\n } else if (yahoo_domains.indexOf(parts[1]) >= 0) {\n // Address is Yahoo\n if (options.yahoo_remove_subaddress) {\n var components = parts[0].split('-');\n parts[0] = components.length > 1 ? components.slice(0, -1).join('-') : components[0];\n }\n if (!parts[0].length) {\n return false;\n }\n if (options.all_lowercase || options.yahoo_lowercase) {\n parts[0] = parts[0].toLowerCase();\n }\n } else if (yandex_domains.indexOf(parts[1]) >= 0) {\n if (options.all_lowercase || options.yandex_lowercase) {\n parts[0] = parts[0].toLowerCase();\n }\n parts[1] = 'yandex.ru'; // all yandex domains are equal, 1st preferred\n } else if (options.all_lowercase) {\n // Any other address\n parts[0] = parts[0].toLowerCase();\n }\n return parts.join('@');\n}\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = rtrim;\nvar _assertString = _interopRequireDefault(require(\"./util/assertString\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction rtrim(str, chars) {\n (0, _assertString.default)(str);\n if (chars) {\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#Escaping\n var pattern = new RegExp(\"[\".concat(chars.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'), \"]+$\"), 'g');\n return str.replace(pattern, '');\n }\n // Use a faster and more safe than regex trim method https://blog.stevenlevithan.com/archives/faster-trim-javascript\n var strIndex = str.length - 1;\n while (/\\s/.test(str.charAt(strIndex))) {\n strIndex -= 1;\n }\n return str.slice(0, strIndex + 1);\n}\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = stripLow;\nvar _assertString = _interopRequireDefault(require(\"./util/assertString\"));\nvar _blacklist = _interopRequireDefault(require(\"./blacklist\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction stripLow(str, keep_new_lines) {\n (0, _assertString.default)(str);\n var chars = keep_new_lines ? '\\\\x00-\\\\x09\\\\x0B\\\\x0C\\\\x0E-\\\\x1F\\\\x7F' : '\\\\x00-\\\\x1F\\\\x7F';\n return (0, _blacklist.default)(str, chars);\n}\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = toBoolean;\nvar _assertString = _interopRequireDefault(require(\"./util/assertString\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction toBoolean(str, strict) {\n (0, _assertString.default)(str);\n if (strict) {\n return str === '1' || /^true$/i.test(str);\n }\n return str !== '0' && !/^false$/i.test(str) && str !== '';\n}\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = toDate;\nvar _assertString = _interopRequireDefault(require(\"./util/assertString\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction toDate(date) {\n (0, _assertString.default)(date);\n date = Date.parse(date);\n return !isNaN(date) ? new Date(date) : null;\n}\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = toFloat;\nvar _isFloat = _interopRequireDefault(require(\"./isFloat\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction toFloat(str) {\n if (!(0, _isFloat.default)(str)) return NaN;\n return parseFloat(str);\n}\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = toInt;\nvar _assertString = _interopRequireDefault(require(\"./util/assertString\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction toInt(str, radix) {\n (0, _assertString.default)(str);\n return parseInt(str, radix || 10);\n}\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = trim;\nvar _rtrim = _interopRequireDefault(require(\"./rtrim\"));\nvar _ltrim = _interopRequireDefault(require(\"./ltrim\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction trim(str, chars) {\n return (0, _rtrim.default)((0, _ltrim.default)(str, chars), chars);\n}\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = unescape;\nvar _assertString = _interopRequireDefault(require(\"./util/assertString\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction unescape(str) {\n (0, _assertString.default)(str);\n return str.replace(/"/g, '\"').replace(/'/g, \"'\").replace(/</g, '<').replace(/>/g, '>').replace(///g, '/').replace(/\/g, '\\\\').replace(/`/g, '`').replace(/&/g, '&');\n // & replacement has to be the last one to prevent\n // bugs with intermediate strings containing escape sequences\n // See: https://github.com/validatorjs/validator.js/issues/1827\n}\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.iso7064Check = iso7064Check;\nexports.luhnCheck = luhnCheck;\nexports.reverseMultiplyAndSum = reverseMultiplyAndSum;\nexports.verhoeffCheck = verhoeffCheck;\n/**\n * Algorithmic validation functions\n * May be used as is or implemented in the workflow of other validators.\n */\n\n/*\n * ISO 7064 validation function\n * Called with a string of numbers (incl. check digit)\n * to validate according to ISO 7064 (MOD 11, 10).\n */\nfunction iso7064Check(str) {\n var checkvalue = 10;\n for (var i = 0; i < str.length - 1; i++) {\n checkvalue = (parseInt(str[i], 10) + checkvalue) % 10 === 0 ? 10 * 2 % 11 : (parseInt(str[i], 10) + checkvalue) % 10 * 2 % 11;\n }\n checkvalue = checkvalue === 1 ? 0 : 11 - checkvalue;\n return checkvalue === parseInt(str[10], 10);\n}\n\n/*\n * Luhn (mod 10) validation function\n * Called with a string of numbers (incl. check digit)\n * to validate according to the Luhn algorithm.\n */\nfunction luhnCheck(str) {\n var checksum = 0;\n var second = false;\n for (var i = str.length - 1; i >= 0; i--) {\n if (second) {\n var product = parseInt(str[i], 10) * 2;\n if (product > 9) {\n // sum digits of product and add to checksum\n checksum += product.toString().split('').map(function (a) {\n return parseInt(a, 10);\n }).reduce(function (a, b) {\n return a + b;\n }, 0);\n } else {\n checksum += product;\n }\n } else {\n checksum += parseInt(str[i], 10);\n }\n second = !second;\n }\n return checksum % 10 === 0;\n}\n\n/*\n * Reverse TIN multiplication and summation helper function\n * Called with an array of single-digit integers and a base multiplier\n * to calculate the sum of the digits multiplied in reverse.\n * Normally used in variations of MOD 11 algorithmic checks.\n */\nfunction reverseMultiplyAndSum(digits, base) {\n var total = 0;\n for (var i = 0; i < digits.length; i++) {\n total += digits[i] * (base - i);\n }\n return total;\n}\n\n/*\n * Verhoeff validation helper function\n * Called with a string of numbers\n * to validate according to the Verhoeff algorithm.\n */\nfunction verhoeffCheck(str) {\n var d_table = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [1, 2, 3, 4, 0, 6, 7, 8, 9, 5], [2, 3, 4, 0, 1, 7, 8, 9, 5, 6], [3, 4, 0, 1, 2, 8, 9, 5, 6, 7], [4, 0, 1, 2, 3, 9, 5, 6, 7, 8], [5, 9, 8, 7, 6, 0, 4, 3, 2, 1], [6, 5, 9, 8, 7, 1, 0, 4, 3, 2], [7, 6, 5, 9, 8, 2, 1, 0, 4, 3], [8, 7, 6, 5, 9, 3, 2, 1, 0, 4], [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]];\n var p_table = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [1, 5, 7, 6, 2, 8, 3, 0, 9, 4], [5, 8, 0, 3, 7, 9, 6, 1, 4, 2], [8, 9, 1, 6, 0, 4, 3, 5, 2, 7], [9, 4, 5, 3, 1, 2, 6, 8, 7, 0], [4, 2, 8, 6, 5, 7, 3, 9, 0, 1], [2, 7, 9, 3, 8, 0, 6, 4, 1, 5], [7, 0, 4, 6, 9, 1, 3, 2, 5, 8]];\n\n // Copy (to prevent replacement) and reverse\n var str_copy = str.split('').reverse().join('');\n var checksum = 0;\n for (var i = 0; i < str_copy.length; i++) {\n checksum = d_table[checksum][p_table[i % 8][parseInt(str_copy[i], 10)]];\n }\n return checksum === 0;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = assertString;\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction assertString(input) {\n var isString = typeof input === 'string' || input instanceof String;\n if (!isString) {\n var invalidType = _typeof(input);\n if (input === null) invalidType = 'null';else if (invalidType === 'object') invalidType = input.constructor.name;\n throw new TypeError(\"Expected a string but received a \".concat(invalidType));\n }\n}\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar includes = function includes(arr, val) {\n return arr.some(function (arrVal) {\n return val === arrVal;\n });\n};\nvar _default = exports.default = includes;\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = merge;\nfunction merge() {\n var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var defaults = arguments.length > 1 ? arguments[1] : undefined;\n for (var key in defaults) {\n if (typeof obj[key] === 'undefined') {\n obj[key] = defaults[key];\n }\n }\n return obj;\n}\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = multilineRegexp;\n/**\n * Build RegExp object from an array\n * of multiple/multi-line regexp parts\n *\n * @param {string[]} parts\n * @param {string} flags\n * @return {object} - RegExp object\n */\nfunction multilineRegexp(parts, flags) {\n var regexpAsStringLiteral = parts.join('');\n return new RegExp(regexpAsStringLiteral, flags);\n}\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = toString;\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction toString(input) {\n if (_typeof(input) === 'object' && input !== null) {\n if (typeof input.toString === 'function') {\n input = input.toString();\n } else {\n input = '[object Object]';\n }\n } else if (input === null || typeof input === 'undefined' || isNaN(input) && !input.length) {\n input = '';\n }\n return String(input);\n}\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = whitelist;\nvar _assertString = _interopRequireDefault(require(\"./util/assertString\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction whitelist(str, chars) {\n (0, _assertString.default)(str);\n return str.replace(new RegExp(\"[^\".concat(chars, \"]+\"), 'g'), '');\n}\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;"],"names":[],"sourceRoot":""}